์ฝ๋ฉ ํ
์คํธ/๋ฐฑ์ค
[JavaScript ์ฝ๋ฉ ํ ์คํธ] ์๊ณ ๋ฆฌ์ฆ ์ผ๊ณฑ ๋์์ด ๋ฌธ์ ํ์ด
์ฉ๋ฝ
2021. 2. 24. 00:38
๋ฐ์ํ

๐ ๋ค์ด๊ฐ๋ฉฐ
๊ณต๋ถํ ๋ด์ฉ์ ํ๋ฒ ๋ ์ ๋ฆฌํ๊ณ ๋ณต์ตํ๊ธฐ ์ํด ๊ธ์ ์์ฑํด๋ณธ๋ค.
โ ๋ฌธ์
์ผ๊ณฑ ๋์์ด
์๋น๋ฅผ ํผํด ์ผ๊ณฑ ๋์์ด๋ค๊ณผ ํจ๊ป ํํ๋กญ๊ฒ ์ํํ๊ณ ์๋ ๋ฐฑ์ค๊ณต์ฃผ์๊ฒ ์๊ธฐ๊ฐ ์ฐพ์์๋ค.
์ผ๊ณผ๋ฅผ ๋ง์น๊ณ ๋์์จ ๋์์ด๊ฐ ์ผ๊ณฑ ๋ช ์ด ์๋ ์ํ ๋ช ์ด์๋ ๊ฒ์ด๋ค.
์ํ ๋ช ์ ๋์์ด๋ ๋ชจ๋ ์์ ์ด "๋ฐฑ์ค ๊ณต์ฃผ์ ์ผ๊ณฑ ๋์์ด"์ ์ฃผ์ธ๊ณต์ด๋ผ๊ณ ์ฃผ์ฅํ๋ค. ๋ฐ์ด๋
์ํ์ ์ง๊ด๋ ฅ์ ๊ฐ์ง๊ณ ์๋ ๋ฐฑ์ค๊ณต์ฃผ๋, ๋คํ์ค๋ฝ๊ฒ๋ ์ผ๊ณฑ ๋์์ด์ ํค์ ํฉ์ด 100์ด ๋จ์
๊ธฐ์ตํด ๋๋ค.
์ํ ๋์์ด์ ํค๊ฐ ์ฃผ์ด์ก์ ๋, ๋ฐฑ์ค๊ณต์ฃผ๋ฅผ ๋์ ์ผ๊ณฑ ๋์์ด๋ฅผ ์ฐพ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์
์ค.
(๋ฌธ์ ์ถ์ฒ : ํ๊ตญ์ ๋ณด์ฌ๋ฆผํผ์๋)
์ ๋ ฅ
์ํ ๊ฐ์ ์ค์ ๊ฑธ์ณ ์ผ๊ณฑ ๋์์ด์ ํค๊ฐ ์ฃผ์ด์ง๋ค. ์ฃผ์ด์ง๋ ํค๋ 100์ ๋์ง ์๋ ์์ฐ์์ด๋ฉฐ, ์ํ ๋์์ด์ ํค๋ ๋ชจ๋ ๋ค๋ฅด๋ฉฐ, ๊ฐ๋ฅํ ์ ๋ต์ด ์ฌ๋ฌ ๊ฐ์ง์ธ ๊ฒฝ์ฐ์๋ ์๋ฌด๊ฑฐ๋ ์ถ๋ ฅํ๋ค.
์ถ๋ ฅ
์ผ๊ณฑ ๋์์ด์ ํค๋ฅผ ์ค๋ฆ์ฐจ์์ผ๋ก ์ถ๋ ฅํ๋ค.
์์ ์ ๋ ฅ
20 7 23 19 10 15 25 8 13
์ถ๋ ฅ ์์
7 8 10 13 19 20 23
๐ก ํ์ด
๋ฐ์ํ
const fs = require('fs');
const file = process.platform === 'linux' ? '/dev/stdin' : './input.txt';
const input = fs.readFileSync(file).toString().trim().split('\n');
const arr = input.map(Number).sort((a, b) => a - b);
const total = arr.reduce((acc, curr) => acc + curr, 0);
const selected = [];
let find = false;
for (let i = 0; i < arr.length; i++) {
if (find) {
break;
}
for (let j = i + 1; j < arr.length; j++) {
const sum = arr[i] + arr[j];
if (total - sum === 100) {
selected.push(arr[i]);
selected.push(arr[j]);
find = true;
break;
}
}
}
const answer = [];
for (const x of arr) {
if (!selected.includes(x)) {
answer.push(x);
}
}
console.log(answer.join('\n'));
๋ฐ์ํ