원소가 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

profile
고양이 집사 / INTP / 프론트엔드 개발자 / 기록 용..?

0개의 댓글