Algorithm
- ์๋ผํ ์คํ ๋ค์ค์ ์ฒด -
๋ฌธ์
์๋ผํ ์คํ ๋ค์ค์ ์ฒด๋ N๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ๋ชจ๋ ์์๋ฅผ ์ฐพ๋ ์ ๋ช ํ ์๊ณ ๋ฆฌ์ฆ์ด๋ค.
์ด ์๊ณ ๋ฆฌ์ฆ์ ๋ค์๊ณผ ๊ฐ๋ค.
- 2๋ถํฐ N๊น์ง ๋ชจ๋ ์ ์๋ฅผ ์ ๋๋ค.
- ์์ง ์ง์ฐ์ง ์์ ์ ์ค ๊ฐ์ฅ ์์ ์๋ฅผ ์ฐพ๋๋ค. ์ด๊ฒ์ P๋ผ๊ณ ํ๊ณ , ์ด ์๋ ์์์ด๋ค.
- P๋ฅผ ์ง์ฐ๊ณ , ์์ง ์ง์ฐ์ง ์์ P์ ๋ฐฐ์๋ฅผ ํฌ๊ธฐ ์์๋๋ก ์ง์ด๋ค.
- ์์ง ๋ชจ๋ ์๋ฅผ ์ง์ฐ์ง ์์๋ค๋ฉด, ๋ค์ 2๋ฒ ๋จ๊ณ๋ก ๊ฐ๋ค.
N, K๊ฐ ์ฃผ์ด์ก์ ๋, K๋ฒ์งธ ์ง์ฐ๋ ์๋ฅผ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.
์ ์ถ๋ ฅ ์์
๋ฌธ์ ํ๊ธฐ
const readline = require("readline");
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout,
});
let input;
rl.on("line", function (line) {
input = line.toString();
}).on("close", function () {
input = input.split(" ").map((el) => Number(el));
let arr = new Array(input[0] - 1).fill(0);
arr = arr.map((el, idx) => (arr[idx] = idx + 2));
let count = 0;
while (count <= input[1]) {
let torf = false;
count++;
if (count === input[1]) {
console.log(arr[0]);
break;
}
let minNum = arr.splice(0, 1);
for (let i = 0; i < arr.length; i++) {
if (arr[i] % minNum === 0) {
count++;
if (count === input[1]) {
console.log(arr[i]);
torf = true;
break;
}
arr[i] = 0;
}
}
if (torf) break;
arr = arr.filter((el) => el !== 0);
}
process.exit();
});
๋ฐ์ํ
'๊ฐ์ธ๊ณต๋ถ > Algorithm' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค][Node.js] 3003๋ฒ : ๋ค ๋ฒ์งธ ์ (0) | 2021.10.18 |
---|---|
[๋ฐฑ์ค][Node.js] 3003๋ฒ : ํน, ํธ, ๋ฃฉ, ๋น์, ๋์ดํธ, ํฐ (0) | 2021.10.17 |
[๋ฐฑ์ค][Node.js] 2953๋ฒ : ๋๋ ์๋ฆฌ์ฌ๋ค (0) | 2021.10.13 |
[๋ฐฑ์ค][Node.js] 2941๋ฒ : ํฌ๋ก์ํฐ์ ์ํ๋ฒณ (0) | 2021.10.12 |
[๋ฐฑ์ค][Node.js] 2935๋ฒ : ์์ (0) | 2021.10.11 |
๋๊ธ