문제
https://www.acmicpc.net/problem/2309
정답 코드
const fs = require("fs");
const filePath = process.platform === "linux" ? "/dev/stdin" : "./input.txt";
const input = fs
.readFileSync(filePath)
.toString()
.trim()
.split("\n")
.map((num) => Number(num));
function solution(input) {
let result;
const sum = input.reduce((acc, cur) => {
return acc + cur;
}, 0);
// 이중 for문으로 두 명의 난쟁이를 찾는다
for (let i = 0; i < input.length - 1; i++) {
for (let j = i + 1; j < input.length; j++) {
// 두 난쟁이를 제외했을 때 합이 100이라면
if (sum - input[i] - input[j] === 100) {
// 해당 두 난쟁이를 제외하고 남은 배열 생성
result = input.filter((num) => num !== input[i] && num !== input[j]);
return result.sort((a, b) => a - b).join("\n");
}
}
}
}
console.log(solution(input));
9명 중 7명을 찾아내는 것을 9명 중 2명을 제거하는 방식으로 풀었다.
- 이중 반복문으로 두 난쟁이 찾기
- 두 난쟁이의 키를 제외했을 때 합이 100이 되는 경우, 나머지 요소를 filter 로 추출
'코딩문제풀기' 카테고리의 다른 글
[백준] 3085 | 사탕 게임 | 자바스크립트 (0) | 2025.01.10 |
---|---|
[백준] 10799 | 쇠막대기 | 자바스크립트 (1) | 2025.01.03 |
[백준] 2525 | 오븐 시계 | 자바스크립트 (0) | 2025.01.03 |
[백준] 10866 | 덱 | 자바스크립트 (0) | 2024.12.30 |
[백준] 14681 | 사분면 고르기 | 자바스크립트 (0) | 2024.12.30 |