두 수 뽑아서 더하기

연쇄코딩마·2021년 1월 7일
0
post-thumbnail

설명 : 두 수 뽑아서 더하기

간단한 설명 : 배열 안에서 두수를 뽑아서 더하기를 만들고 그 배열을 리턴시키는 것

예) [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; //리턴=>
};

회고 : 머리가 안돌아간다. 조금더 분발하자.

profile
只要功夫深,铁杵磨成针

0개의 댓글