728x90
반응형
x = int(input())
d = [0] * (x + 2)
d[1] = 1
d[2] = 1
for i in range(3, x + 1):
d[i] = d[i-1] + d[i-2]
print(d[x])
간단한 DP 문제이다. 재귀함수로 구현하면 입력값이 90까지이기 때문에 메모리가 터져버린다.
x가 1, 2일 경우만 리스트에 등록해 둔 후 간단한 반복문을 돌리면 된다.
재귀 구현했을 경우 90이면 정말 컴퓨터가 터지기 직전까지 가는데 상향식 DP방식인 반복문으로 구현하면 대략 90번정도만 연산하면 되기 때문에 문제를 해결할 수 있다.
728x90
반응형
'Algorithm > Dynamic Programming' 카테고리의 다른 글
[Baekjoon 9251 / python / 골드5] LCS (0) | 2024.04.07 |
---|---|
[Baekjoon 9084 / python / 골드5] 동전 (0) | 2024.04.06 |
[Baekjoon 1904 / python / 실버3] 01타일 (0) | 2024.04.05 |
[Baekjoon 12852 / python / 실버1] 1로 만들기 2 (0) | 2024.04.05 |
[Baekjoon 1463 / python / 실버3] 1로 만들기 (0) | 2024.04.05 |