문제
10870번: 피보나치 수 5
피보나치 수는 0과 1로 시작한다. 0번째 피보나치 수는 0이고, 1번째 피보나치 수는 1이다. 그 다음 2번째 부터는 바로 앞 두 피보나치 수의 합이 된다. 이를 식으로 써보면 Fn = Fn-1 + Fn-2 (n ≥ 2)가
www.acmicpc.net
코드
My answer
import sys
input = sys.stdin.readline
n=int(input())
dp=[0]*(n+2)
dp[0], dp[1]=0, 1
for i in range(2,n+1):
dp[i]=dp[i-1]+dp[i-2]
print(dp[n])
Another answer
def fibonacci(n):
if n <= 1:
return n
return fibonacci(n-1) + fibonacci(n-2)
n = int(input())
print(fibonacci(n))
풀이
n=0이 입력될 수도 있기 때문에 그 점만 유의하면 점화식이 주어져있는 dp 문제이기 때문에 쉽게 해결할 수 있다.
728x90
반응형
'코딩테스트 > 백준[Python]' 카테고리의 다른 글
[Python] 백준 #9655- 돌 게임 (0) | 2023.09.18 |
---|---|
[Python] 백준 #1010- 다리 놓기 (0) | 2023.09.18 |
[Python] 백준 #2110- 공유기 설치 (2) | 2023.09.14 |
[Python] 백준 #3079- 입국심사 (0) | 2023.09.14 |
[Python] 백준 #2512- 예산 (0) | 2023.09.14 |