
์ ์ ๋ฐฐ์ด numbers๊ฐ ์ฃผ์ด์ง๋๋ค.
numbers์์ ์๋ก ๋ค๋ฅธ ์ธ๋ฑ์ค์ ์๋ ๋ ๊ฐ์ ์๋ฅผ ๋ฝ์ ๋ํด์ ๋ง๋ค ์ ์๋ ๋ชจ๋  ์๋ฅผ
๋ฐฐ์ด์ ์ค๋ฆ์ฐจ์์ผ๋ก ๋ด์ return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์.
์์ฑํ ์ฝ๋)
function solution(numbers) {
  let answer = [];
  for (let i = 0; i < numbers.length; i++) {
    for (let j = 1; j < numbers.length; j++) {
      let sum = numbers[i] + numbers[j];
      if(answer.indexOf(sum) === -1 && i !== j) {
      answer.push(sum);
      }
    }
  }
  return answer.sort((a,b) => a-b);
}
์ธ๊ธฐ์๋ ๋ฌธ์ ํ์ด)
function solution(numbers) {
    const temp = []
    for (let i = 0; i < numbers.length; i++) {
        for (let j = i + 1; j < numbers.length; j++) {
            temp.push(numbers[i] + numbers[j])
        }
    }
    const answer = [...new Set(temp)]
    return answer.sort((a, b) => a - b)
}
The Set object lets you store unique values of any type, whether primitive values or object references. NaN and undefined can also be stored in a Set. All NaN values are equated (i.e. NaN is considered the same as NaN, even though NaN !== NaN). (MDN)
Set()์ ์ค๋ณต์ด ๋ถ๊ฐ๋ฅํ ๋ฐ์ดํฐ์ ์งํฉ(ES6)์ด๋ค.(Data Type์ ๊ตฌ๋ถํจ, 1 !== "1")
<Array โ Set>
var myArray = ['value1', 'value2', 'value3'];
// Array๋ฅผ Set์ผ๋ก ๋ณํํ๊ธฐ ์ํด์๋ ์ ๊ท Set ์์ฑ์ ์ฌ์ฉ
var mySet = new Set(myArray);
mySet.has('value1'); // true ๋ฐํ
// set์ Array๋ก ๋ณํํ๊ธฐ ์ํด ์ ๊ฐ ์ฐ์ฐ์ ์ฌ์ฉํจ.
console.log([...mySet]); // myArray์ ์ ํํ ๊ฐ์ ๋ฐฐ์ด์ ๋ณด์ฌ์ค
< Set method >
1) add
   let mySet = new Set()
   mySet.add(1)           // Set [ 1 ]
   mySet.add('some text') // Set [ 1, 'some text' ]
2) has
   mySet.has(1)              // true
   mySet.has(3)              // false, since 3 has not been added to the set
3) delete
  mySet.delete(3)    // removes 3 from the set
  mySet.has(3)       // false, 3 has been removed