알고리즘/백준
[백준] 11726번: 2×n 타일링 (JavaScript, NodeJS)
정현수
2022. 2. 5. 22:38
반응형
문제
2×n 크기의 직사각형을 1×2, 2×1 타일로 채우는 방법의 수를 구하는 프로그램을 작성하시오.
아래 그림은 2×5 크기의 직사각형을 채운 한 가지 방법의 예이다.

입력
첫째 줄에 n이 주어진다. (1 ≤ n ≤ 1,000)
출력
첫째 줄에 2×n 크기의 직사각형을 채우는 방법의 수를 10,007로 나눈 나머지를 출력한다.
예제 입력 1 복사
2
예제 출력 1 복사
2
예제 입력 2 복사
9
예제 출력 2 복사
55
정답 풀이
const path = process.platform === "linux" ? "/dev/stdin" : "input.txt"; // 리눅스로 테스트할 땐 따로 설정해주어야 합니다.
const [n] = require("fs")
.readFileSync(path)
.toString()
.trim()
.split("\n")
.map(Number);
function solution(n) {
const memo = [...Array(1000)];
memo[0] = 1;
memo[1] = 1;
for (let i = 2; i < n + 1; i += 1) {
memo[i] = (memo[i - 1] + memo[i - 2]) % 10007;
}
console.log(memo[n]);
}
solution(n);
⭐ 문제 핵심 아이디어 ⭐
1. DP
반응형