function solution(n) {
const DIVISOR = 1e9 + 7;
let dp = [0, 1, 2];
for(let i=3; i<=n; i+=1) {
dp[i] = (dp[i-2] + dp[i-1]) % DIVISOR;
}
return dp[n];
}
const n = 4;
const result = solution(n);
console.log(result);
결론부터 말하자면 이 문제는 피보나치 수열의 규칙성을 가지는 문제이다.
사실 예전에 백준에서 풀었던 문제인데 기억이 나지않아서 다시 그려보면서 풀어보았다.
n = 7인 경우가 문제에서 나와있었기 때문에, n이 6일때의 값을 유추할 수 있었고, 피보나치 수열과 동일하다는 것을 알아냈다.
'PS > Programmers' 카테고리의 다른 글
Programmers / Level 2 / 귤 고르기 / JS (0) | 2023.01.21 |
---|---|
Programmers / Level 3 / 줄 서는 방법 / JS (1) | 2023.01.21 |
Programmers / Level 2 / 메뉴 리뉴얼 / JS (0) | 2023.01.17 |
Programmers / Level 2 / 피로도 / JS (0) | 2023.01.14 |