내 코드
def solution(n):
p = [0 for i in range(n+1)]
p[0] = 0
p[1] = 1
for i in range(2,n+1):
p[i] = p[i-2] + p[i-1]
return p[n]%1234567
p는 피보나치 수를 담은 리스트다. n번째까지 p의 앞원소와 두번째 앞원소의 합을 더해 넣어준다. 재귀는 시간초과떴다
다른사람 코드
def solution(n):
f_list = [0,1]
for i in range(2,n+1):
f_list.append((f_list[i-2]%1234567+f_list[i-1]%1234567)%1234567)
return f_list[-1]
이렇게 append를 사용해서도 할 수있다!
'코딩테스트 > Python' 카테고리의 다른 글
| [프로그래머스] 예상 대진표 (0) | 2021.09.10 |
|---|---|
| [프로그래머스] 방문 길이 (0) | 2021.09.10 |
| [프로그래머스] 땅따먹기 (0) | 2021.09.10 |
| [프로그래머스] 점프와 순간이동 (0) | 2021.09.10 |
| [프로그래머스] [3차] 방금그곡 (0) | 2021.09.09 |