728x90
피보나치 수열과 유사한 형태로 답이 나오게 된다.
1,2,3,5,8,13 ...
단, 재귀를 활용하면 시간초과가 나오니 dp를 활용해서 풀었다!
function solution(n) {
const dp = Array(n)
dp[0] = 1
dp[1] = 2
if (n<2) return dp[n]
for (let i = 2 ; i < n ; i ++){
dp[i] = (dp[i-1] + dp[i-2]) % 1000000007
}
return dp[n-1]
}
728x90
'FrontEnd > 프로그래머스' 카테고리의 다른 글
[JS] 게임 맵 최단거리 (0) | 2023.08.17 |
---|---|
[JS] 124 나라 (0) | 2023.08.16 |
[JS] 올바른 괄호 (0) | 2023.08.12 |
[JS] 다음 큰 숫자 (0) | 2023.08.09 |
[JS] 땅따먹기 (0) | 2023.08.09 |