[BOJ] 10870: 피보나치 수 5
🔒 예제
>> 10
55
🔧 풀이
1. n = int(sys.stdin.readline().rstrip())
2. dp
2.1 dp 배열
2.2 수열 :: f(n) = f(n-1) + f(n-2) (n>=2)
3. n < 2 일 때 예외 처리 ***
🔑 답안
import sys
n = int(sys.stdin.readline().rstrip())
dp = [0 for i in range(n+1)]
if n < 2:
print(n)
else:
dp[0] = 0
dp[1] = 1
for i in range(2, n+1):
dp[i] = dp[i-1] + dp[i-2]
print(dp[n])
💡 개념
### dynamic programming
- 문제 속 소문제의 반복 :: 규칙(수열) 찾기
ㄴ 필요에 따라 케이스 나누기
- memoization :: dp = []
Author And Source
이 문제에 관하여([BOJ] 10870: 피보나치 수 5), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@ohhj1999/BOJ-10870저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)