Development Palette
2차원 배열 지그재그 본문
지그재그 우선탐색
int[][] arr = {
{1,2,3,4},
{5,6,7,8},
{9,10,11,12},
{13,14,15,16}
};
int R = arr.length;
int C = arr[0].length;
// 지그재그 우선탐색
for (int i = 0; i < R; i++) {
for (int j = 0; j < C; j++) {
int temp = (i%2==0)?j:C-1-j;
System.out.print(arr[i][temp]+" ");
}
System.out.println();
}
짝수 index일때는 arr[i][j]그대로 이지만, 홀수 index일 때는 시작점이 달라지므로 arr[i][temp]로 temp값을 이용해 열을 바꿔주면 된다.
int temp = (i%2==0)?j:c-1-j;
짝수일 때는 그대로 j열이고, 홀수일 때 마지막 열index가 c-1하고 반대로 j만큼 감소하므로 c-1-j 이다.
index의 규칙성!!
'Algorithm > 개념' 카테고리의 다른 글
[순열, 조합] NextPermutation (0) | 2021.08.18 |
---|---|
이진 검색 (0) | 2021.08.18 |
분할 정복 기법 (0) | 2021.08.18 |
그리디, 탐욕 알고리즘 (0) | 2021.08.18 |
[재귀, 브루트포스] 순열, 조합, 부분집합 (0) | 2021.08.04 |
Comments