두개 뽑아서 더하기

·2022년 3월 22일
0

알고리즘

목록 보기
19/47

function solution(numbers) {
    const as = [];
  for (i = 0; i < numbers.length; i++){
    for (j =0; j < numbers.length; j++){
      if(i !== j){
        as.push(numbers[i]+numbers[j])
      }
    }
  }
const unique = as.filter((element, index) => 
{return as.indexOf(element) === index;});
  return unique.sort((a,b)=> a-b)
}

이건 생각보다 쉽게 풀었다.
생각보다? 밥 먹기 전에 한번 훑어보고 알고리즘 대충 생각하고
밥먹으러 가면서 정리하고 와서 치니까 짠 하고 나왔다.

어떤 구조로 돌아가냐면

  1. numbers배열을 반복문으로 돌려서 모든 인덱스에 접근함
  2. 상단의 반복문 속에 나머지 요소들을 서로 접근시킴(반복문2)
  3. 같은 것이 더해지면 안되기 때문에 i !== j라는 조건을 넣어둠
  4. 모든 값을 빈배열as에 push()로 밀어넣음
  5. filter로 배열의 중복 요소를 전부 지움
  6. 오름차순 정렬해서 리턴함

이런식으로 진행을 했다.

profile
Backend Software Developer

0개의 댓글