간혹가다가 dp 문제는 피보나치 수열같네? 해서 피보나치 수열로 접근하면 풀리는 경우가 있다.. 대강은 알것 같은데 정확한 원리는 모르는 경우가 많다.
그래서 이 부분에 대해서 비슷한 고민을 했던, 정리가 잘되어있는 블로그 링크를 달아놓으려고 한다.
https://kosaf04pyh.tistory.com/222
class Solution {
public int solution(int n) {
int answer = 0;
long [] dp = new long[n+1];
dp[0] = 0;
dp[1] = 1;
dp[2] = 2;
dp[3] = 3;
dp[4] = 5;
for(int i=5; i<=n; i++){
dp[i] = (dp[i-1]+dp[i-2])%1000000007;
}
return (int)(dp[n]);
}
}