코딩 06. 달팽이모양 배열 만들기

yuriyaam·2021년 1월 19일
0

arr[5][5]인 이차원 배열이라고 한다면,
1~5 다섯칸
6~9 네칸
10~13 네칸
14~16 세칸
17~19 세칸
20~21 두칸
22~23 두칸
24 한칸
25 한칸

이런식으로 맨처음에만 n칸, 그 이후에는 n-1칸을 두번씩 반복한다.

int count = 5;
int[][] arr = new int[count][count];
	
int row = 0;	// 행
int col = -1;	// 열
int num = 1;	// 입력될 숫자
int cnt = 5;	// 전진할 칸 수
int z = 1;	// 진행 방향 (+1 or -1)

for(int i = 0; i < count; i++) {
	for(int j = 0; j < cnt; j++) {
		col += z;
		arr[row][col] = num++;		
	}

	cnt--;
		
	for(int j = 0; j < cnt; j++) {	
		row += z;
		arr[row][col] = num++;
	}
	
	z *= -1;
}

이미지출처 '여행을 개발하다'

0개의 댓글