FrontEnd/프로그래머스

[JS] 2*n 타일링

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