문제
요약
- n번째 피보나치 수를 1234567로 나눈 나머지를 반환하자.
- 피보나치 수를 다이나믹 프로그래밍으로 다루자.
분류
- 다이나믹 프로그래밍
풀이
1. 리스트
- 리스트를 사용하기 때문에, 시간적으로도 공간적으로도 불리하다.
def solution(n):
arr = [0, 1]
for _ in range(2, n + 1):
arr.append(arr[-1] + arr[-2])
return arr[-1] % 1234567
2. 파이썬 언패킹
def solution(n):
a, b = 0, 1
for _ in range(2, n + 1):
a, b = b, a + b
return b % 1234567