์ ์ ๋ฐฐ์ด 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