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) {
let caseCount = input.shift();
for (let number of input) {
let arr = [...new Array(number + 1).keys()];
for (let i = 2; i <= Math.sqrt(number); i++) {
if (arr[i]) {
for (let j = i * i; j <= number; j += i) {
arr[j] = false;
}
}
}
arr = arr.filter((x) => x >= 2);
let a, b;
// ์ด์ค ๋ฐ๋ณต๋ฌธ์ผ๋ก ์ธํด ์๊ฐ์ด๊ณผ
// for (let i of arr) {
// for (let j of arr.filter((x) => x >= i)) {
// if (i + j === number) {
// a = i;
// b = j;
// break;
// }
// }
// }
// ๋ค์๊ณผ ๊ฐ์ด ๋ฐ๋ณต๋ฌธ ์์
for (let i of arr) {
let j = number - i;
if (arr.includes(j) && i <= j) {
a = i;
b = j;
}
}
console.log(`${a} ${b}`);
}
}
solve(input);
๋ง์ฐฌ๊ฐ์ง๋ก ์๋ผํ ์คํ
๋ค์ค์ ์ฒด๋ฅผ ํ์ฉํ์ฌ ํด๋น ์ซ์๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์์ ๋ฐฐ์ด์ ๋ง๋ค์๋ค.
์ดํ ๊ทธ ๋ฐฐ์ด ๋ด์ ํฉ์ด ์ฃผ์ด์ง ์ซ์์ ๊ฐ์ ๊ฒฝ์ฐ๋ฅผ ์ฐพ์๋ค.
์ฒ์์ ์ด์ค๋ฐ๋ณต๋ฌธ์ ์ด์ฉํ์ฌ ๋จ์ํ๊ฒ ๋ชจ๋ ํ์ํ์๋ค๊ฐ '์๊ฐ ์ด๊ณผ'๊ฐ ๋์
๋๋ฒ์งธ ๋ฐ๋ณต๋ฌธ์์ i๋ณด๋ค ํฌ๊ฑฐ๋ ๊ฐ์ ์๋ฅผ ํํฐํ ๋ฐฐ์ด์ ํด์ฃผ๊ณ break๋ ํด์ฃผ์์ง๋ง ์ญ์๋ ์ด์ค๋ฐ๋ณต๋ฌธ ์์ฒด๊ฐ ์๊ฐ๋ณต์ก๋๊ฐ ๋๋ฌด ์ปค์ ์๊ฐ ์ด๊ณผ...
๊ณ ๋ฏผ ์ค์ ๋ฐ๋ณต๋ฌธ์ ํ๋ฒ ์ฐ๊ณ mdn์์ ๋ฐฐ์ด์ ํจ์ includes๋ฅผ ํ์ฉํ์ฌ ํ ์ ์์๋ค.
ํ์คํ ์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ ๋ ์ฑ์ทจ๊ฐ์ด ํฐ ๊ฒ ๊ฐ๋ค. :) ์บฌ~
'๐ JavaScript > ๋ฐฑ์ค' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[JS] 10870 (0) | 2022.05.28 |
---|---|
[JS] 10872 (0) | 2022.05.28 |
[JS] 4948 (0) | 2022.05.23 |
[JS] 1929 (0) | 2022.05.22 |
[JS] 11653 (0) | 2022.05.22 |