728x90
def solution(n):
answer = []
for i in range(n):
if answer!=[]:
tmp=[]
tmp_rvs=[]
for j in answer[-1]:
tmp.append(j)
if j==1:
tmp_rvs.append(0)
elif j==0:
tmp_rvs.append(1)
tmp.append(0)
tmp_rvs.reverse()
for j in tmp_rvs:
tmp.append(j)
answer.append(tmp)
else:
answer.append([0])
return answer[-1]
이 규칙은 쉽게 생각했다.
N+1번째 배열은 가운데 0을 기준으로(추가해주고) 왼쪽은 N번째 배열 오른쪽은 N번째 배열의 순서와 접은 방향을 반대로한 배열을 배치해주면 되었다.
이러한 규칙은 계속 이전 배열을 저장해주면서 사용해주어야 해서 answer에 추가하는 방식을 사용했다.
그리고 answer에 계속 쌓이기 때문에 가장 마지막 원소(answer[-1])를 리턴했다.
'STUDY > Algorithm' 카테고리의 다른 글
[프로그래머스]LEVEL3 2 x n 타일링, python3 (0) | 2020.01.13 |
---|---|
[프로그래머스] LEVEL3 추석 트래픽, python3, 2018 KAKAO BLIND RECRUITMENT[1차] (4) | 2020.01.09 |
[프로그래머스] LEVEL2 땅따먹기, python3 (0) | 2020.01.07 |
[프로그래머스] LEVEL2 올바른 괄호, python3 (0) | 2020.01.07 |
[프로그래머스] 2020카카오공채 괄호 변환, python3 (0) | 2020.01.02 |