최대 1 분 소요

문제 링크

프로그래머스 - 정수를 나선형으로 배치하기

문제 풀이

def solution(n):
    move = [[0,1],[1,0],[0,-1],[-1,0]]
    answer = [[0 for j in range(n)] for i in range(n)]
    
    num=1
    row=0
    col=0
    pos=0
    while num<=n**2:
        answer[row][col] = num
        ifRow = row + move[pos][0]
        ifCol = col + move[pos][1]
        
        if not (ifRow>=0 and ifRow<n and ifCol>=0 and ifCol<n and answer[ifRow][ifCol]==0):
            pos = (pos+1)%4
        row = row + move[pos][0]
        col = col + move[pos][1]
        
        num=num+1
    
    return answer

댓글남기기