PS/Programmers
Programmers / Level 2 / 2 x n 타일링 / JS
KimMinJun
2023. 1. 19. 01:21
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
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일때의 값을 유추할 수 있었고, 피보나치 수열과 동일하다는 것을 알아냈다.