문제 3016
대각 지그재그 배열
문제 설명
자연수 N이 주어질 때, 크기 N × N의 대각 지그재그 배열을 출력하라.
대각 지그재그 배열의 의미는 입출력 예시와 도움말을 참조하라.
입력 설명
첫째 줄에 자연수 n이 주어진다. (1 ≤ n ≤ 1000)
출력 설명
N × N 크기의 대각 지그재그 배열을 출력한다.
입력 예시
5
출력 예시
1 2 9 10 25 4 3 8 11 24 5 6 7 12 23 16 15 14 13 22 17 18 19 20 21
힌트
대각 지그재그 배열의 정의는 다음과 같이 구성된다.
- arr[1][1] = 1
- 2 ≤ k ≤ N인 임의의 정수 k에 대하여,
-
k가 홀수이면 arr[k][1] = arr[k – 1][1] + 1,
1 ≤ i ≤ k – 1인 임의의 i에 대해 arr[k][i + 1] = arr[k][i] + 1, arr[i][k] = arr[i + 1][k] + 1 -
k가 짝수이면 arr[1][k] = arr[1][k – 1] + 1,
1 ≤ i ≤ k – 1인 임의의 i에 대해 arr[k][i + 1] = arr[k][i] – 1, arr[i][k] = arr[i + 1][k] – 1
출처
AND2024 프로그래밍챌린지