Python/백준

[백준 파이썬] 2747번 피보나치 수

AI 꿈나무 2021. 4. 26. 13:00
반응형

백준 2747번 피보나치 수

www.acmicpc.net/problem/2747

 

2747번: 피보나치 수

피보나치 수는 0과 1로 시작한다. 0번째 피보나치 수는 0이고, 1번째 피보나치 수는 1이다. 그 다음 2번째 부터는 바로 앞 두 피보나치 수의 합이 된다. 이를 식으로 써보면 Fn = Fn-1 + Fn-2 (n ≥ 2)가

www.acmicpc.net

 

파이썬 풀이

 동적 프로그래밍으로 이전에 계산한 값들을 저장한뒤에, 현재 값을 계산할 때 저장한 값을 불러오도록 풀었습니다.

import sys
import collections
sys.setrecursionlimit(10**6)
input = sys.stdin.readline

N = int(input())
dp = collections.defaultdict(int)

# Tabulate
def fib(n):
    dp[0] = 0
    dp[1] = 1
    for i in range(2, n+1):
        dp[i] = dp[i-1] + dp[i-2]
    return dp[n]

print(fib(N))
반응형