๐ฉ๐ปโ๐ป๋ฌธ์ ๋งํฌ
๋ฌธ์ ์ค๋ช
์ ์ ๋ฐฐ์ด numbers๊ฐ ์ฃผ์ด์ง๋๋ค. numbers์์ ์๋ก ๋ค๋ฅธ ์ธ๋ฑ์ค์ ์๋ ๋ ๊ฐ์ ์๋ฅผ ๋ฝ์ ๋ํด์ ๋ง๋ค ์ ์๋ ๋ชจ๋ ์๋ฅผ ๋ฐฐ์ด์ ์ค๋ฆ์ฐจ์์ผ๋ก ๋ด์ return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์.
์ ํ์ฌํญ
numbers์ ๊ธธ์ด๋ 2 ์ด์ 100 ์ดํ์
๋๋ค.
numbers์ ๋ชจ๋ ์๋ 0 ์ด์ 100 ์ดํ์
๋๋ค.
์
์ถ๋ ฅ ์
numbers result
[2,1,3,4,1] [2,3,4,5,6,7]
[5,0,2,7] [2,5,7,9,12]
์
์ถ๋ ฅ ์ ์ค๋ช
์
์ถ๋ ฅ ์ #1
2 = 1 + 1 ์
๋๋ค. (1์ด numbers์ ๋ ๊ฐ ์์ต๋๋ค.)
3 = 2 + 1 ์
๋๋ค.
4 = 1 + 3 ์
๋๋ค.
5 = 1 + 4 = 2 + 3 ์
๋๋ค.
6 = 2 + 4 ์
๋๋ค.
7 = 3 + 4 ์
๋๋ค.
๋ฐ๋ผ์ [2,3,4,5,6,7] ์ return ํด์ผ ํฉ๋๋ค.
์
์ถ๋ ฅ ์ #2
2 = 0 + 2 ์
๋๋ค.
5 = 5 + 0 ์
๋๋ค.
7 = 0 + 7 = 5 + 2 ์
๋๋ค.
9 = 2 + 7 ์
๋๋ค.
12 = 5 + 7 ์
๋๋ค.
๋ฐ๋ผ์ [2,5,7,9,12] ๋ฅผ return ํด์ผ ํฉ๋๋ค.
โ๏ธIdea Sketch
- numbers๋ฅผ ์ ๋ ฌํ๋ค. sort()
- ์ฌ๋ผ์ด๋์๋์ฐ left, right ๋ณ์
- sort() --> ๋ ์๋ฅผ ์์ฐจ์ ์ผ๋ก ๋ฝ๋ ๋ฌธ์ ์ ๋ฐ๊ฒฌ
numbers.sort((a, b) => {
if (!arr.includes(a+b)) arr.push(a+b)
})
- ์ด์ค๋ฐ๋ณต๋ฌธ --> ํจ์จ์ฑ ๊ฑฑ์ --> ์ผ๋จ ํด๋ณด๊ธฐ๋ก
- arr ์ ๋ ฌํ์ sort()
โ๏ธ์์ค์ฝ๋
2021-06-16
function solution(numbers) {
let arr = [];
for (let i=0; i<numbers.length-1; i++) {
for (let j=i+1; j<numbers.length; j++) {
if (!arr.includes(numbers[i] + numbers[j])) arr.push(numbers[i] + numbers[j])
}
}
return arr.sort((a, b) => a-b)
}
2021-06-16
function solution(numbers) {
let arr = [];
for (let i=0; i<numbers.length-1; i++) {
for (let j=i+1; j<numbers.length; j++) {
arr.push(numbers[i] + numbers[j])
}
}
return [...new Set(arr)].sort((a, b) => a-b);
}
โ๏ธ๋ช ๋ต
Set ์ฌ์ฉํ๊ธฐ
์ด์ค๋ฐ๋ณต๋ฌธ์ !arr.includes() ์๋ต --> ๋ฐ๋ก arr.push() --> ์๋์ ์ฝ๋๋ก arr์ ์ค๋ณต ์ ๊ฑฐ
const result = [...new Set(arr)]
- Set์ ์ค๋ณต์๋ ๋ฐฐ์ด
let mySet = new Set();
let mySet = new Set([1, 2, 3, 4, 5]);
mySet.add( 6 );
- Set์ array๋ก ๋ง๋๋ ๋ฐฉ๋ฒ
let arr = Array.from(mySet)
let arr = Array.from(mySet).sort((a, b) => b-a);