나의 풀이
x,y=1,1
for i in range((n:=int(input()))-1):
x,y=y,(x+y+1)%1000000007
print(1 if n<2 else y)
CODE REVIEW
- 피보나치 수열 함수가 호출되는 횟수를 구하는 문제였다.
- fibo(n)을 호출하면 fibo(n-1), fibo(n-2)가 호출되므로, 총 횟수는
1(자기자신) + fibo(n-1) + fibo(n-2)
로 구할 수 있다. f[n]=1+f[n-1]+f[n-2]
로 구현해도 되지만,x,y=y,(x+y+1)
로 구현하면 메모리를 아낄 수 있다.