반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 타입스크립트
- 레벨 1
- 문자열
- 그래프
- ip
- socket
- BFS
- Node.js
- 가천대
- 타입 챌린지
- HTTP 완벽 가이드
- 쉬운 문제
- 수학
- Nestjs
- HTTP
- type challenge
- dp
- 자바스크립트
- TCP
- 프로그래머스 레벨 2
- dfs
- Crawling
- 크롤링
- typescript
- 소켓
- javascript
- 백준
- 프로그래머스
- Algorithm
- 알고리즘
Archives
- Today
- Total
kakasoo
[node.js] 2xn 타일링 ( 백준 11726번 ) 본문
반응형
const readline = require("readline");
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout,
});
rl.on("line", (line) => {
main(line);
rl.close();
}).on("close", () => {
process.exit();
});
const main = (line) => {
line = Number(line);
const DP = new Array(line + 1).fill(0);
DP[1] = 1;
DP[2] = 2;
for (let i = 3; i <= line; i++) {
DP[i] = (DP[i - 1] + DP[i - 2]) % 10007;
}
console.log(DP[line]);
};
맨 마지막에 1개(세로)를 놓을 것인가, 2개(가로)를 놓을 것인가를 결정한다.
만약 1개를 놓는다고 생각하면 n-1개에 대해서 다시, 1개를 놓을지 2개를 놓을지 고민한다.
만약 2개를 놓기로 했다면, n-2개에 대해서 다시, 1개를 놓을지 2개를 놓을지 고민한다.
왜냐하면, n-1개를 모두 메꾸고 마지막에 1개를 놓는 경우의 수는 결국 n개의 마지막이 1개짜리인 경우와 같고,
왜냐하면, n-2개를 모두 메꾸고 마지막에 2개를 놓는 경우의 수는 결국 n개의 마지막이 2개짜리인 경우와 같으니,
결국 i번째에 놓을 최대 수는 i-1과 i-2에 놓일 최대 수의 합이다.
반응형
'프로그래밍 > 알고리즘 풀이' 카테고리의 다른 글
[node.js] 1,2,3 더하기 ( 백준 9095번 ) (0) | 2021.03.24 |
---|---|
[node.js] 2xn 타일링2 ( 백준 11727번 ) (0) | 2021.03.24 |
[node.js] 1로 만들기 ( 백준 1463 ) (0) | 2021.03.24 |
[백트래킹] 좋은 수열 (백준 2661번) (0) | 2020.03.06 |
[DFS] 암호 만들기 (백준 1759번) (0) | 2020.03.06 |