일터네 나갔던 난장이 9명이 와서는 모두 자기가 일곱 난장이 중 하나라고 우기고 있다. 모든 난장이의 가슴에는 숫자가 표시된 배지가 있는데, 다행히도 일곱 난장이의 배지에 표시된 숫자의 합이 100이라는 단서로 일곱 난장이를 분별할 수 있다. 일곱 난장이를 분별하는 프로그램을 작성하시오. 일곱 난장이의 배지 값을 기존 순서대로 배열에 넣어 반환한다.
let input4 = [
[1,5,6,7,10,12,19,29,33],
[25,23,11,2,18,3,28,6,37],
[3,37,5,36,6,22,19,2,28],
];
function answer(dwarf){
let result = [];
let sum = 0;
for(let x of dwarf){
sum += x;
}
sum -= 100;
let faker = [];
for(let i = 0; i < dwarf.length; i++){
for(let j = i+1; j < dwarf.length; j++){
if(dwarf[i] + dwarf[j] == sum) {
faker[0] = i;
faker[1] = j;
break;
}
}
if(faker.length != 0) break;
}
let count = 0;
for(let i = 0; i < dwarf.length; i++){
if(faker[0] != i && faker[1] != i){
result[count++] = dwarf[i];
}
}
return result;
}