학습
시험

달팽이 배열 4

난이도
BEGINNER

문제 설명

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

삼각 달팽이 규칙

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

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

 1  0  0  0
 2  9  0  0
 3 10  8  0
 4  5  6  7

제한 사항

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

예시 테스트케이스 설명

테스트케이스 번호 n return
1 4 [[1,0,0,0],[2,9,0,0],[3,10,8,0],[4,5,6,7]]
2 3 [[1,0,0],[2,6,0],[3,4,5]]
3 1 [[1]]

1번 테스트케이스 설명

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

2번 테스트케이스 설명

  • 3×3 배열을 삼각 달팽이 규칙에 따라 채우면 아래와 같습니다.
     1 0 0
     2 6 0
     3 4 5
    

3번 테스트케이스 설명

  • 1×1 배열은 아래와 같이 채워집니다.
    1