대각선 지그재그 > 문제은행 : 정보올림피아드&알고리즘



1495 : 대각선 지그재그

제한시간
1000 ms   
메모리제한
64 MB   
해결횟수
1572 회   
시도횟수
2658 회   

문제

정사각형의 크기를 입력 받은 후 대각선으로 지그재그 형태인 다음과 같은 형태로 출력하는 프로그램을 작성하시오.


< 처리조건>
(1) 가장 왼쪽 위의 좌표부터 차례로 숫자를 대입시킨다.
(2) 대각선을 기준으로 계속 지그재그 모양으로 채워져야 하며 숫자는 1씩 증가하는 형태로 채워나가야 한다.


 

 

 


입력형식

정사각형의 크기 n(1부터 100사이의 정수)을 입력받는다.

출력형식

위에서 언급한 형태의 지그재그 모양의 정사각형의 내부 숫자를 차례로 채운 후의 모습을 출력한다. 숫자 사이는 공백으로 구분한다.

입력 예

3

출력 예

1 3 4 
2 5 8 
6 7 9

입력 예

2

출력 예

1 3
2 4

Hint!

<생각하기>

이동 순서를 잘 생각해보면 다음과 같이 6가지 형태가 반복된다. 

1) 아래로 한 번 이동 (불가능하면 오른쪽으로) 

2) 오른쪽 위로 가능한 만큼 이동 (가장 위나 가장 오른쪽에 도달하면 종료) 

3) 오른쪽으로 한 번 이동 (불가능하면 아래로) 

4) 왼쪽 아래로 가능한 만큼 이동 (가장 왼쪽이나 가장 아래쪽에 도달하면 종료) 

 

위 조건에 따라 4가지 작업을 반복해도 되고 

바깥부분을 1로 채우고 0인 곳만 채워나가는 방법, 

이동 횟수를 계산해서 구현하는 방법 등 다양하게 생각해 볼 수 있다.



경기도 안양시 동안구 평촌대로 109 협성골드프라자 601호

TEL : 031-360-4144 FAX : 031-388-0996 E-mail : hancomc@hotmail.com, comkiwer@naver.com

Copyrightⓒ 2010-2019 jungol. All right reserved.

TOP