일곱난쟁이 찾기

jinny·2021년 8월 24일

Algorithm

목록 보기
4/34
post-thumbnail

일곱난쟁이 키의 합은 100, 일곱난쟁이를 찾아라

: 9명 중 2명을 찾아서 제거

function solution(arr){

    let result = arr;
    
	/* let sum = 0;
    for(let i of arr) {
        sum += i;
    } */

	let sum = arr.reduce((a,b)=>a+b, 0);
		
   
    for(let x=0; x<arr.length; x++){
        for(let y=1; y<arr.length; y++){

           let seven = sum - (arr[x]+arr[y]);

           if(seven===100) {
               arr.splice(j,1);
               arr.splice(x,1);
           }
        }
    }

    return result;
}

arr = [20, 7, 23, 19, 10, 15, 25, 8, 13];
console.log(solution(arr));  // [20, 7, 23, 19, 10, 8, 13]

⇒ result에 배열 얕은 복사, 주소 값이 복사

⇒ 배열.reduce는 누적메서드
ex) a는 0으로 초기화하고 b는 배열을 순회하면서 a에 b가 누적

⇒ 배열.splice는 배열의 기존 요소를 삭제, 교체, 추가하는 메서드
ex) arr.splice(2,0,29) ⇒ 2번 인덱스에 0개의 요소 제거하여 29를 추가
ex) arr.splice(3,1) ⇒ 3번 인덱스에서 1개의 요소 제거
ex) arr.splice(0,2,100) ⇒ 0번 인덱스에서 2개의 요소를 제거하고 100을 추가

profile
주니어 개발자의 기록

0개의 댓글