대각선 지그재그 > 문제은행



1495 : 대각선 지그재그

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

문제

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


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


 

e3050b66a1b29a01767400d7560a4131_1449726
 

 


입력형식

정사각형의 크기 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