호지

[프로그래머스] 두 개 뽑아서 더하기 문제풀이 JS 본문

알고리즘/프로그래머스

[프로그래머스] 두 개 뽑아서 더하기 문제풀이 JS

_hoji

numbers에서 2개를 뽑는 모든 경우의 수를 이중 for문으로 확인한다.

그래서 map이라는 배열에 2개를 뽑았을 때 합의 index에 해당하는 곳의 값을 true로 변경한다.

그 후 값은 최대 두 수의 합은 0-200사이의 값이므로,

map배열을 0부터 200까지 확인해서 true일 경우의 해당 index를 answer에 push한다.

이렇게 되면 자동으로 작은 값부터 정렬이 된다!

function solution(numbers) {
  let map = []
  let answer = []
  for (let i = 0; i < numbers.length; i++) {
    for (let j = i + 1; j < numbers.length; j++) {
      map[numbers[i] + numbers[j]] = true
    }
  }
  for (let i = 0; i <= 200; i++) {
    if (map[i]) answer.push(i)
  }
  return answer
}

https://school.programmers.co.kr/learn/courses/30/lessons/68644

Comments