<Algorithm> 140. 배열의 회전
by BFine반응형
1. 배열의 회전 정리
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 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 | public class Test { static int[][] arr; public static void main(String[] args) { arr = new int[][]{{1,2,3},{4,5,6},{7,8,9}}; int temp[][] = new int[3][3]; for(int i = 0; i < 3; i++) { temp[i] = arr[i].clone(); } print(); System.out.println("-----"); System.out.println(); /* 배열의 대칭*/ /* (0,1) -> (1,0) (0,2) -> (2,0) (0,3) -> (3,0) */ for(int i = 0; i < 3; i++) { for(int j = 0; j < 3; j++) { if(i==j) continue; arr[i][j] = temp[j][i]; } } print(); /* 배열의 세로 */ for(int i = 0; i < 3; i++) { for(int j = 0; j < 3; j++) { arr[i][j] = temp[j][i]; } } print(); int len = 3-1; /* 배열의 90도 회전*/ /* (0,0) -> (2,0) (0,1) -> (1,0) (0,2) -> (0,0) */ for(int i = 0; i < 3; i++) { for(int j = 0; j < 3; j++) { arr[i][j] = temp[len-j][i]; } } print(); /* 배열의 180도 회전*/ /* (0,0) -> (2,2) (0,1) -> (2,1) (0,2) -> (2,0) */ for(int i = 0; i < 3; i++) { for(int j = 0; j < 3; j++) { arr[i][j] = temp[len-i][len-j]; } } print(); /* 배열의 270도 회전*/ /* (0,0) -> (0,2) (0,1) -> (1,2) (0,2) -> (2,2) */ for(int i = 0; i < 3; i++) { for(int j = 0; j < 3; j++) { arr[i][j] = temp[j][len-i]; } } print(); } public static void print() { for(int i = 0; i < 3; i++) { for(int j = 0; j < 3; j++) { System.out.print(arr[i][j]+" "); } System.out.println(); } System.out.println(); } } | cs |
반응형
'공부(2018~2019) - 스킨변경전 > Algorithm' 카테고리의 다른 글
<Algorithm> 142. 인싸들의 가위바위보(BJO) (0) | 2019.03.26 |
---|---|
<Algorithm> 141. Maaaaaaaaaze(BJO) (0) | 2019.03.25 |
<Algorithm> 139. 입국심사(SWExpert) (0) | 2019.03.24 |
<Algorithm> 138. K번째 접미어(SWExpert) (0) | 2019.03.23 |
<Algorithm> 137. 연산자 끼워넣기(BJO) (0) | 2019.03.23 |
블로그의 정보
57개월 BackEnd
BFine