설명 : 두 수 뽑아서 더하기
간단한 설명 : 배열 안에서 두수를 뽑아서 더하기를 만들고 그 배열을 리턴시키는 것
예) [2,1,3,4,1] => [2,3,4,5,6,7]
[5,0,2,7] => [2,5,7,9,12]
전략 : 일단 함수를 나누어 숫자를 더하는 과정과 정리는 부분을 나누고 싶었다.
그래서 getAdd함수를 만들어 이중 for문으로 더했다.
그리고 정리하는 과정을 거쳤다. 설명을 하기하겠다.
function solution(numbers) {
return getAdd(numbers)
.sort((a, b) => a - b)//오름차순 sort
.filter((item, idx, self) => self.indexOf(item) === idx);//=> 중복되는 부분은 필터로 정리한다.
}//마지막으로 정리
const getAdd = (numbers) => {
let temp = [];//=> 임시 상자를 만들어주고
for (let i = 0; i < numbers.length; i++) {//하나의 축을 잡고 예를들어 [2,1,3,4,1]에경우 2를 축을 잡고 j가 돌면서 더한다.
for (let j = 0; j < numbers.length; j++) {
if (i === j) {//=> 만약에 축의 인덱스와 돌고있는 j의 인덱스가 중복되면 안되므로 조건을 걸었다.
continue;
} else {
temp.push(numbers[i] + numbers[j]); //=> 더한 수를 temp에 푸쉬한다.
}
}
}
return temp; //리턴=>
};
회고 : 머리가 안돌아간다. 조금더 분발하자.