나의 풀이
fibo = [0] + [1] * 10000
n = int(input())
if n < 3:
print(fibo[n])
else:
for i in range(3, n+1):
fibo[i] = fibo[i-1] + fibo[i-2]
print(fibo[n])
고수의 풀이
a=0;b=1;exec("a,b=b,a+b;"*int(input()));print(a)
CODE REVIEW
- DP를 이용해서
피보나치 수
를 구하는 문제. DP를 이용하지 않고 함수로 구현하면 메모리 초과의 문제에 부딪힌다. - 고수의 풀이를 보면
a,b=b,a+b
를 볼 수 있는데, index 고려하지 않아도 되는 점이 매우 편리하다.