// 2
// 1
// 3
// 2
// 3
// ์ธต์ 0์ธต๋ถํฐ, ํธ์๋ 1ํธ๋ถํฐ
const fs = require('fs');
const path = process.platform === 'linux' ? '/dev/stdin' : './data.txt';
const input = fs
.readFileSync(path)
.toString()
.trim()
.split('\n')
.map((x) => Number(x));
function solve(input) {
const caseCount = input.shift();
for (let i = 0; i < caseCount; i++) {
let kFloor = input.shift();
let nHosu = input.shift() - 1; // 1ํธ๊ฐ 0๋ฒ์งธ ์ธ๋ฑ์ค์ ํด๋น๋๊ฒ ์ค์
// let apt = new Array(kFloor + 1).fill(new Array(nHosu + 1).fill(1)); ์ด๋ ๊ฒ ๋ฐฐ์ด์ ๋ง๋ค๋ฉด nHosu์ ๋ํ ๊ฐ์ ๋ฐฐ์ด์ ๋ํ ์ฃผ์๊ฐ์ด ๋ค์ด๊ฐ๋ค.
let apt = Array.from(new Array(kFloor + 1), () =>
new Array(nHosu + 1).fill(1)
);
apt[0] = [...apt[0].keys()].map((x) => x + 1); // 0์ธต์ 1๋ถํฐ 1์ฉ ์ฆ๊ฐํ๋ ๋ฐฐ์ด๋ก ๋ง๋ค์ด์ฃผ๊ธฐ
for (let j = 1; j <= kFloor; j++) {
for (let k = 1; k <= nHosu; k++) {
apt[j][k] = apt[j][k - 1] + apt[j - 1][k];
}
}
console.log(apt[kFloor][nHosu]);
}
}
solve(input);
2์ฐจ์ ๋ฐฐ์ด์ ์ฌ์ฉํ์ง ์๊ณ ํ์ด๋ณด๋ คํ๋๋ฐ ๊ฒฐ๊ตญ 2์ฐจ์ ๋ฐฐ์ด์ ์ฌ์ฉํ๋ค.
๋ฐฐ์ด๊ณผ ๋ฐฐ์ด์ index๊ฐ ํท๊ฐ๋ฆฌ์ง๋ง ์์ผ๋ฉด ๊ธ๋ฐฉ ํ ์ ์๋ ๋ฌธ์ ๋ผ๊ณ ์๊ฐํ๋ค.
'๐ JavaScript > ๋ฐฑ์ค' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[JS] 10757 (0) | 2022.05.21 |
---|---|
[JS] 2839 (0) | 2022.05.21 |
[JS] 10250 (0) | 2022.05.19 |
[JS] 2869 (0) | 2022.05.19 |
[JS] 1193 (0) | 2022.05.18 |