문제
2×n 직사각형을 1×2, 2×1과 2×2 타일로 채우는 방법의 수를 구하는 프로그램을 작성하시오.
입력
첫째 줄에 n이 주어진다. (1 ≤ n ≤ 1,000)
출력
첫째 줄에 2×n 크기의 직사각형을 채우는 방법의 수를 10,007로 나눈 나머지를 출력한다.
예제 입력
12
예제 출력
2731
소스 코드
const input = require('fs').readFileSync('/dev/stdin').toString().trim();
const dp = [0, 1, 3];
for (let i = 3; i <= Number(input); i++) {
dp[i] = (dp[i - 1] + dp[i - 2] * 2) % 10007
}
console.log(dp[Number(input)]);
'알고리즘 공부[Javascript] > 백준' 카테고리의 다른 글
[백준] 9251번 / 골드5 / LCS / Node.js (0) | 2021.11.25 |
---|---|
[백준] 17219번 / 실버4 / 비밀번호 찾기 / Node.js (0) | 2021.10.30 |
[백준] 11724번 / 실버2 / 연결 요소의 개수 / Node.js (0) | 2021.10.20 |
[백준] 11659번 / 실버3 / 구간 합 구하기4 / Node.js (0) | 2021.10.12 |
[백준] 11399번 / 실버3 / ATM / Node.js (0) | 2021.10.12 |