Tiny Bunny [python] 정수를 나선형으로 배치하기
본문 바로가기
programmers/기초

[python] 정수를 나선형으로 배치하기

by maesil 2024. 10. 24.

문제 설명

 

양의 정수 n이 매개변수로 주어집니다. n × n 배열에 1부터 n2 까지 정수를 인덱스 [0][0]부터 시계방향 나선형으로 배치한 이차원 배열을 return 하는 solution 함수를 작성해 주세요.

 

 

입출력 예

n result
4 [[1, 2, 3, 4], [12, 13, 14, 5], [11, 16, 15, 6], [10, 9, 8, 7]]
5 [[1, 2, 3, 4, 5], [16, 17, 18, 19, 6], [15, 24, 25, 20, 7], [14, 23, 22, 21, 8], [13, 12, 11, 10, 9]]

 

 

제출 내역

def solution(n):
    answer = [[0]*n for i in range(n)]
    
    up, down = 0, n-1
    left, right = 0, n-1
    num = 1
    
    while num <= n*n:
        for i in range(left, right+1):
            answer[up][i] = num
            num += 1
        up += 1
        
        for i in range(up, down+1):
            answer[i][right] = num
            num += 1
        right -= 1
        
        for i in range(right, left-1, -1):
            answer[down][i] = num
            num += 1
        down -= 1
        
        for i in range(down, up-1, -1):
            answer[i][left] = num
            num += 1
        left += 1
    return answer

 

 

프로그래머스 코딩 기초 트레이닝 Day25 이차원 리스트(배열)

https://school.programmers.co.kr/learn/courses/30/lessons/181832

 

프로그래머스

SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr