문제 : https://programmers.co.kr/learn/courses/30/lessons/62049
▶ 코드
# n=1 -> 0
# n=2 -> 0 0 1
# n=3 -> 0 0 1 0 0 1 1
# n=4 -> 0 0 1 0 0 1 1 0 0 0 1 1 0 1 1 (직접 종이 접어보았다)
# 규칙: 이전 배열뒤에 0을 붙히고, "이전 배열을 뒤집어서, 0,1을 반전시킨 배열"을 붙힌다.
import copy
def reverse(lst): # 배열 뒤집기
lst.reverse()
return lst
def flip(lst): # 0,1 반전
t = []
for a in lst:
if a == 0:
t.append(1)
else:
t.append(0)
return t
def solution(n):
if n == 1:
return [0]
start = [0]
for i in range(2, n+1):
temp = copy.deepcopy(start) # 배열 깊은 복사
start += [0] + flip(reverse(temp))
#print(start)
return start
solution(3)
# 참조 : https://velog.io/@ansrjsdn/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4-level3-%EC%A2%85%EC%9D%B4%EC%A0%91%EA%B8%B0-Python
'■코테 기출문제 > Summer,Winter Coding(2019)' 카테고리의 다른 글
[Level 4] 지형 이동 (0) | 2020.05.28 |
---|---|
[Level 4] 우유와 요거트가 담긴 장바구니 (SQL) (0) | 2020.05.06 |