n = int(input())
dp = [0]*(n+1)
dp[1] = 1
dp[2] = 2
for i in range(3, n+1):
dp[i] = dp[i-2] + dp[i-1]
print(dp[n])
- 가장 작은 해를 구해 그 해를 이용해서 점차 다른 큰 해를 구하는 점화식을 Bottom-up 방식이라 한다.
- DP의 경우 기준점이되는 부분을 잘 찾아서 이를 이용하면 문제를 쉽게 해결할 수 있다.
- Bottom-Up 방식이 동적계획법이고 Top-Down 방식은 넓은 의미의 동적 계획법이다.
'자료구조와 알고리즘 > 개인적인 코딩테스트 관련 풀이' 카테고리의 다른 글
[동적 계획법][Bottom-Up] - 최대 부분 증가 수열 (0) | 2022.08.16 |
---|---|
[동적 계획법][Top-Down] - 네트워크 선 자르기 (0) | 2022.08.16 |
[DFS][조합] - 수들의 조합 (0) | 2022.08.06 |
[BFS] - 섬나라 아일랜드 (0) | 2022.08.05 |
[DFS][완전 탐색] - 미로탐색 (0) | 2022.07.31 |