반응형
기본 Map
0 | 1 | 2 |
3 | 4 | 5 |
6 | 7 | 8 |
90도회전
6 | 3 | 0 |
7 | 4 | 1 |
8 | 5 | 2 |
조건을 찾아보면
Map[0][0] = Map[0][2]
Map[0][1] = Map[1][2]
Map[0][2] = Map[2][0]
가운데 인덱스는 서로같고 양쪽 합은 행렬의 lengh -1 과 같다.
turnRight 구현
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
public static void turnRight(int[][] m) {
int n = m.length;
int copy[][] = new int[n][n];
for(int i=0;i<n;i++) {
for(int j=0;j<n;j++) {
copy[i][j] = m[n-1-j][i];
}
}
for(int i=0;i<n;i++) {
System.arraycopy(copy[i], 0, m[i], 0, n);
}
}
http://colorscripter.com/info#e" target="_blank" style="color:#4f4f4ftext-decoration:none">Colored by Color Scripter
|
turnLeft는 어떻게 구현할까?? 물론 맵핑해도도지만 쫌만 더생각하면
turnRight를 3번한것과 turnLeft는 동일한 결과를 얻을수가 있다.
turnLeft 구현
1
2
3
4
5
|
public static void turnLeft(int[][] m) {
for(int i=0;i<3;i++) {
turnRight(m);
}
}
http://colorscripter.com/info#e" target="_blank" style="color:#4f4f4ftext-decoration:none">Colored by Color Scripter
|
반응형
'Algorithm' 카테고리의 다른 글
유니온 파인드 : JAVA (0) | 2020.02.12 |
---|---|
정렬 (0) | 2020.02.11 |
JAVA : Log 함수를 이용한 자리수 구하기 (0) | 2020.02.07 |
부분집합의 조합 구하기 : JAVA (0) | 2020.02.06 |
JAVA : Uppered Bounded (0) | 2020.02.03 |