공부/코딩테스트

[프로그래머스] 삼각 달팽이(파이썬)

ghhong 2022. 1. 10. 10:16

나의 답 :

def solution(n):
    answer = [[0 for j in range(1, i+1)] for i in range(1, n+1)]
    # answer = []
    x, y = -1, 0 
    num = 1

    for i in range(1,n+1): #1,2,3,4,5,6,7
        for j in range(i,n+1): #1,2,3,4,5,6,7
            if i % 3 == 1:
                x+=1
            elif i % 3 == 2:
                y+=1
            else:
                x-=1
                y-=1
            answer[x][y] = num
            num+=1
    # print(answer)
    return sum(answer,[])

리스트 덧셈 : sum([1,2,3],[]) # 리스트를 더하겠다는 것을 명시

 

다른 사람의 답 : itertools의 chain함수를 사용했다

 

마지막에 chain(*answer)

 

https://emilkwak.github.io/itertools-chain-list-concatenation-append

 

Python의 itertools의 chain()으로 리스트(list) 붙이기(접합, concatenation)

Python, Pandas를 Excel보다 사랑하는 직장인을 위한 블로그

emilkwak.github.io