작성
·
202
0
강의를 잘 듣고 있습니다.
혼자서 공부할 때 정답 소스를 봐도 이해가 잘 안되었는데
강사님이 설명을 잘 하셔서 계속 따라 가고 있습니다.
섹션1 8.일곱난쟁이 소스를 봤는데 for문을 두개 실행했는데
Map를 이용하면 1번만 for문을 실행하는 것을 시도하고 있는데
맞는지 한번 봐 주실 수 있나요?
function solution(arr){
let answer = [];
let index = [];
let sum = arr.reduce((sum, ele)=>sum+ele, 0);
let target = sum - 100;
let map = new Map();
for(let i = 0; i < arr.length; i++){
if(!map.has(arr[i])){
map.set(arr[i],i);
if((target-arr[i] !== arr[i]) && map.has(target - arr[i])){
let j = map.get(target-arr[i]);
console.log(j);
index.push(Math.max(i,j));
index.push(Math.min(i,j));
break;
}
}
}
console.log(map);
arr.splice(index[0],1);
arr.splice(index[1],1);
answer = arr;
return answer;
}
console.log(solution([20, 7, 23, 19, 10, 15, 25, 8, 13]));