Security || AI

[Koistudy] 1717. 2차원 배열 지그지그 채우기 1 본문

Programming/Koistudy

[Koistudy] 1717. 2차원 배열 지그지그 채우기 1

보안&인공지능 2019. 1. 13. 20:07


#include <stdio.h>

int main()
{
	int n, cnt;
	scanf("%d", &n);
	cnt = 0;
	for(int i = 1; i <= n; i++)
	{
		if(i % 2 == 1)
		{
			for(int j = 0; j < n; j++)
			{
				printf("%d ", ++cnt);
			}
		}
		else
		{
			for(int j = 0; j < n; j++)
			{
				printf("%d ", cnt--);
			}
		}
		cnt += n;
		printf("\n"); 
	}
}

i번째 줄이 홀수일 때는 증가하는 형태이고 짝수일 때는 감소하는 형태의 지그재그 모양이므로, i의 홀수와 짝수 여부에 따른 반복문을 구현했다. 홀수일 때는 cnt를 추가하면서 올라가며 출력을 한다.

그 다음, 짝수 줄의 첫 번째 숫자는 홀수 줄의 마지막 숫자보다 n이 큰 수이므로 마지막에 cnt에 n을 더한다.

감소하는 형태인 짝수 줄 역시 홀수 번째 줄의 마지막 수보다 n만큼 크므로 cnt에 n을 더해 출력을 하면된다.

반응형