나의 답 :
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
'공부 > 코딩테스트' 카테고리의 다른 글
[프로그래머스] 카펫(파이썬) (0) | 2022.01.13 |
---|---|
[프로그래머스] 전화번호 목록(파이썬) (0) | 2022.01.13 |
[프로그래머스] 최댓값과 최솟값(파이썬) (0) | 2022.01.05 |
[프로그래머스] 최솟값 만들기(파이썬) (0) | 2022.01.05 |
[프로그래머스] 피보나치 수(파이썬) (0) | 2022.01.04 |