[Python][프로그래머스][Level2] 삼각달팽이

[Python][프로그래머스][Level2] 삼각달팽이

코드

def solution(n):
    answer=[]
    ans=[[0]*i for i in range(1,n+1)]
    ck=sum([i for i in range(1,n+1)])
        
    cnt=x=y=0
    n1=n
    while cnt!=ck:
        for i in range(x,n):
            cnt+=1
            ans[i][y]=cnt
        for j in range(y+1,n1):
            cnt+=1
            ans[i][j]=cnt
        for k in range(n-2,x,-1):
            j-=1
            cnt+=1
            ans[k][j]=cnt
        x+=2
        y+=1
        n-=1
        n1-=2
    for i in ans:
        for j in i:
            answer.append(j)
    return answer

반 노가다로 풀었다.

각 변을 채울 때 필요한 과정을 for문으로 만들었다.

Discussion and feedback