Menu
CoddyTech

Spiral Matrix

m개의 행과 n개의 열로 이루어진 정수 행렬이 행들의 목록으로 주어집니다. 모든 값을 나선형 순서로 반환하세요.

왼쪽 위 모서리에서 시작해 맨 위 행을 따라 오른쪽으로 이동한 다음, 맨 오른쪽 열을 따라 아래로 이동하고, 맨 아래 행을 따라 왼쪽으로 이동한 뒤, 맨 왼쪽 열을 따라 위로 이동하세요. 모든 값을 정확히 한 번씩 읽을 때까지 시계 방향으로 안쪽을 향해 계속 돌며 이동하세요.

함수

spiralOrder(matrix: integer-2d-array) → integer-array
matrixinteger-2d-array
길이가 같은 행들의 목록으로 이루어진 정수 격자
반환값integer-array
왼쪽 위 모서리에서 시작하여 시계 방향 나선 순서로 행렬의 모든 값을

제약 조건

  • 1 ≤ m, n ≤ 80이며, 여기서 m = matrix.length이고 n = matrix[i].length입니다.
  • 모든 행의 길이는 동일하게 n입니다.
  • -100 ≤ matrix[i][j] ≤ 100

예제

입력
matrix = [[1, 2, 3], [10, 11, 4], [9, 12, 5], [8, 7, 6]]
출력
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]
설명
값은 나선형을 따라 증가합니다. 바깥쪽 고리는 위쪽을 따라 1, 2, 3, 오른쪽을 따라 아래로 4, 5, 6, 아래쪽을 따라 되돌아가며 7, 8, 왼쪽을 따라 위로 9, 10을 읽습니다. 안쪽 층은 하나의 열로, 위에서 아래로 한 번 읽습니다: 11, 12.

lock icon제출 시 숨은 테스트 +15개

challenge icon

후속 질문

대신 왼쪽 위 모서리에서 시작해 왼쪽 열을 먼저 따라 내려가며 반시계 방향으로 값을 반환할 수 있나요?

코드 초기화
def spiralOrder(matrix):
    # 여기에 코드를 작성하세요
테스트 케이스

케이스 1

케이스 2

케이스 3

입력

matrix = [[1, 2, 3], [10, 11, 4], [9, 12, 5], [8, 7, 6]]

기대값

[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]