[프로그래머스] 두 개 뽑아서 더하기

니나노개발생활·2021년 6월 25일
0

문제

두 개 뽑아서 더하기

설명

정수 배열 numbers가 주어집니다. numbers에서 서로 다른 인덱스에 있는 두 개의 수를 뽑아 더해서 만들 수 있는 모든 수를 배열에 오름차순으로 담아 return 하도록 solution 함수를 완성해주세요.

제한사항

numbers의 길이는 2 이상 100 이하입니다.
numbers의 모든 수는 0 이상 100 이하입니다.

입출력 예

생각

  • 서로 다른 인덱스를 비교해야해서 한 인덱스는 0부터, 다른 인덱스는 i+1부터 반복하여 각 값을 더하여 배열에 놓고 해당 배열을 오름차순으로 정리하였다.
    오름차순으로 배열하다보니 중복된 숫자가 생겨 set을 이용하여 중복된 숫자를 제거하고 return!

코드

function solution(numbers) {
  let sums = [];

  for(let i=0; i<numbers.length; i++) {
    for(let j=i+1; j<numbers.length; j++) {
      let a= numbers[i]
      let b= numbers[j]
      sums.push(a+b)
    }
  }
  
  function compare(a,b) {
    return a-b;
  }

  sums.sort(compare)
  
  let answer = [...new Set([...sums])];
  
  return answer;
}

let result = solution([2,1,3,4,1])

console.log(result)

💡!
생각도 금방 할 수 있었고 풀이도 10분?정도 걸린 것 같은 간단한 문제였다!

profile
깃헙으로 이사중..

0개의 댓글