두개 뽑아서 더하기

·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개의 댓글