Java 예제: 배열 회전
배열을 회전하여 아래 그림과 같이 나타는 예제입니다. 행렬의 번호가 [1, 1] ~ [5, 5]라고 할 경우, 행과 열의 위치가 바뀌는 것을 [a, b] → [b, a] 로 나타냅니다.
아래 그림처럼 바꾸려면 바뀐 열의 번호는 6 - a 가 되야 하므로 [a, b] → [b, (6-a)] 의 형태로 바꾸는 알고리즘이 필요합니다.
PrintArray는 Java Swing 예제: 다차원 배열 표시하기 (기초 설정 방법, for문으로 swing 요소 반복 등)에 있습니다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
package blog.info;
import blog.gui.PrintArray;
public class RotateArray {
public static void main(String[] args) {
char[][] a = new char[6][6];
char[][] b = new char[6][6];
char chr = 65; // A
for (int r = 1; r <= 5; r++)
{
for (int c = 1; c <= 5; c++)
a[r][c] = chr++;
}
for (int r = 1; r <= 5; r++)
{
for (int c = 1; c <= 5; c++)
{
int n = 6 - r;
b[c][n] = a[r][c];
// 열은 행위치로 바꾸고, 행은 6-r하여 열위치로 바꾼다. (5, 4, 3, 2, 1)
}
}
new PrintArray(a);
new PrintArray(b);
}
}
This post is licensed under
CC BY 4.0
by the author.
