원소가 9개인 자연수 중 합이 100인 원소 7개를 출력하기
[단 9개의 자연수는 모두 다름]
function solution(arr){
// 전체 원소의 합
let total = arr.reduce((a, b) => a + b, 0);
let flag = false;
for (let i = 0; i < 8; i ++) {
// 배열의 1~8번까지
for (let j = i+1; j < 9; j ++) {
//i 의 다음 번 숫자 (자기자신과 검증할 수 없으니) ~ 9번까지
if (total - (arr[i] + arr[j]) === 100) {
// 가짜 두개의 숫자를 뺐을 때 합이 100
// j를 먼저 없애야 인덱스의 변화 없이 삭제가 가능!
arr.splice(j, 1);
arr.splice(i, 1);
// splice -> 해당 인덱스의 원소를 제거
flag = true;
break;
}
}
if (flag) break;
}
return arr;
}
[splice] (배열에서 원소 추가 / 삭제 하는 메서드)
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/splice