학습
시험

달팽이 배열 1

난이도
BEGINNER

문제 설명

정수 n이 주어졌을 때 아래 달팽이 규칙에 따라 1부터 n2n^2까지의 숫자를 n × n 크기의 이차원 배열에 채워 반환하는 solution 함수를 작성하시오.

달팽이 규칙

  1. n × n 크기의 이차원 배열의 가장 왼쪽 위의 칸에 1을 채웁니다.
  2. 이미 값이 채워진 칸이나 배열의 경계에 도달할 때까지 오른쪽으로 한 칸씩 이동하며 숫자를 차례로 채웁니다.
  3. 이미 값이 채워진 칸이나 배열의 경계에 도달하면 이동 방향을 시계 방향으로 90° 회전합니다. (오른쪽 → 아래 → 왼쪽 → 위 → 오른쪽)

예를 들어 n = 3인 경우, 아래와 같은 배열이 만들어집니다.

1 2 3
8 9 4
7 6 5

제한 사항

  • n은 1 이상 500 이하의 자연수입니다.

예시 테스트케이스 설명

테스트케이스 번호 N return
1 3 [[1,2,3], [8,9,4], [7,6,5]]
2 4 [[1,2,3,4], [12,13,14,5], [11,16,15,6], [10,9,8,7]]
3 1 [[1]]

1번 테스트케이스 설명

  • 3×3 크기의 배열을 달팽이 규칙에 따라 채우면 아래와 같습니다.
    1 2 3
    8 9 4
    7 6 5
    

2번 테스트케이스 설명

  • 3×3 크기의 배열을 달팽이 규칙에 따라 채우면 아래와 같습니다.
     1  2  3  4
    12 13 14  5
    11 16 15  6
    10  9  8  7
    

3번 테스트케이스 설명

  • 1×1 크기의 배열을 달팽이 규칙에 따라 채우면 아래와 같습니다.
    1