Lv3. 2 x n 타일링 Javascript
https://programmers.co.kr/learn/courses/30/lessons/12900?language=javascript
function solution(n) {
const arr = [1, 2];
for (let i = 2; i < n; i++) {
let sum = arr[i - 2] + arr[i - 1];
arr.push(sum % 1000000007);
}
return arr[n - 1];
}
n | 경우 | 계산 |
---|---|---|
1 | 1 | 초기값 |
2 | 2 | 초기값 |
3 | 3 | 1+2 |
4 | 5 | 2+3 |
5 | 8 | 3+5 |
6 | 13 | 5+8 |
... | ... | ... |
... | ... | ... |
n | ... | arr.[n-2] + arr.[n-1] |
규칙을 찾지 못해서 초반에 오래 헤맸던 문제.
알고리즘 구현과 함께 다양한 수학 공식 활용 필요.
디바이드 앤 컨커 (divide and conquer),
큰 단위의 문제를 작게 쪼개서 해결하는 연습 필요.
댓글 환영
질문 환영
by.protect-me