프로그래밍/알고리즘 풀이
[node.js] 타일 채우기 ( 백준 2133번 )
카카수(kakasoo)
2021. 3. 31. 20:10
반응형
const readline = require("readline");
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout,
});
rl.on("line", (line) => {
main(Number(line));
rl.close();
}).on("close", () => {
process.exit();
});
/**
*
* @param {number} line
*/
const main = (line) => {
const DP = new Array(line + 1).fill(0);
DP[2] = 3;
for (let i = 4; i <= line; i += 2) {
DP[i] = DP[i - 2] * DP[2] + 2;
for (let j = 4; j < i; j += 2) {
DP[i] += DP[i - j] * 2;
}
}
console.log(DP[line]);
};
오늘 첫 문제 풀이다. 자바스크립트로 문제를 풀다 보니, 메모리 초과가 너무 많이 나온다.
숫자 1개가 8바이트니까 배열의 크기부터가 다른 언어의 2배고, temp 같이 배열을 복제만 해도 또 2배고...
백준에서는 메모리 초과가 너무 잘 나오는 것 같다.
반응형