Programmers: ๋‘ ๊ฐœ ๋ฝ‘์•„์„œ ๋”ํ•˜๊ธฐ

โœ…  ์ƒˆ๋กœ ๋ฐฐ์šด ์ 

์ด ๋ฌธ์ œ๋Š” ์ง€๋‚œ ์ฃผ์— ์ด์šฉํ–ˆ๋˜ sort์™€ ๋‚˜์—๊ฒŒ๋Š” ์•„์ง ์ต์ˆ™ํ•˜์ง€ ์•Š์€ ! ๋ฌธ๋ฒ•์„ ๋ณต์Šตํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค.


sort ํ•จ์ˆ˜ ์ด์šฉ๊ณผ ๊ด€๋ จํ•ด์„œ๋Š” ์•„๋ž˜ ๊ธ€ ์ฐธ๊ณ !
[์ •๋ ฌ: K๋ฒˆ์งธ ์ˆ˜] https://high-developer.tistory.com/25

 

Programmers ์ •๋ ฌ: K๋ฒˆ์งธ์ˆ˜

์ƒˆ๋กœ ๋ฐฐ์šด ์  sort๋Š” ๋ฌธ์ž์—ด์„ ์ •๋ ฌํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ์ˆซ์žํ˜•์œผ ์ •๋ ฌํ•ฉ๋‹ˆ๋‹ค. ์ˆซ์ž ํฌ๊ธฐ ์ˆœ์œผ๋กœ ์ •๋ ฌํ•˜๊ณ  ์‹ถ์„ ๋•Œ๋Š” compareFunction์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. compareFunction์€ ์ •๋ ฌ ๊ธฐ์ค€์„ ์ •์˜ํ•ด์„œ ์ •๋ ฌํ•ด์ค๋‹ˆ๋‹ค. ์ฐธ

high-developer.tistory.com

 

๊ทธ๋ฆฌ๊ณ  !๋ฅผ ์“ฐ๋ ค๋ฉด ๋ญ”๊ฐ€ ์ „์ฒด๋ฅผ ๊ฐ์‹ธ์ฃผ๋Š” ๊ด„ํ˜ธ๊ฐ€ ์žˆ์–ด์•ผ ํ•  ๊ฒƒ ๊ฐ™์€๋ฐ ์•„๋‹ˆ๋”๋ผ๊ตฌ..!

 

 


ํ•œํŽธ, ๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค์˜ ํ’€์ด๋ฅผ ๋ด๋ณด๋‹ˆ Set์„ ์‚ฌ์šฉํ•œ ๋ถ€๋ถ„์ด ๊ธฐ์–ต์— ๋‚จ์•˜๋‹ค.

์–ด๋–ป๊ฒŒ ์จ์•ผํ•˜๋Š”์ง€ ์ •ํ™•ํ•˜๊ฒŒ ์•Œ๋ ค๋ฉด ๋‹ค๋ฅธ ๋ฌธ์ œ๋“ค์„ ๋” ํ’€์–ด๋ด์•ผ๊ฒ ์ง€๋งŒ ๋ญ”๊ฐ€ ํŒŒ์ด์ฌ์˜ set๊ณผ ๋™์ผํ•œ ๊ฒƒ ๊ฐ™๋‹ค.
MDN ๋ณด๋‹ˆ๊น ์ค‘๋ณต๋˜๋Š” ๊ฐ’์ด ์žˆ์œผ๋ฉด ์•Œ์•„์„œ ๋นผ์ฃผ๊ณ ,

add, has, delete ๋“ฑ ๋‹ค์–‘ํ•œ Method๋“ค๋„ ์žˆ์—ˆ๋Š”๋ฐ ๋‹ค์Œ์— ๋ฌธ์ œํ’€ ๋•Œ ํ•œ๋ฒˆ ์‚ฌ์šฉํ•ด๋ณด๊ณ  ์‹ถ๋‹ค๐Ÿ˜Š

 

ํ™•์‹คํžˆ ์ฝ”๋”ฉ์€ ๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค ํ’€์ด๋ฒ• ๋ณด๋ฉด์„œ ๊นจ์šฐ์ณ ๊ฐ€๋Š” ๊ฒŒ ๋งŽ์€ ๊ฒƒ ๊ฐ™๋‹ค!

 

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set

 

Set - JavaScript | MDN

The Set object lets you store unique values of any type, whether primitive values or object references.

developer.mozilla.org

 

 

< ๋‚ด ํ’€์ด >

function solution(numbers) {
    let sum = [];
    for (let i = 0; i<numbers.length; i++) {
        for (let j = i+1; j<numbers.length; j++) {
            if(!sum.includes(numbers[i] + numbers[j])) {
                sum.push(numbers[i]+numbers[j])
            }
        }
    }
    sum.sort(function(a, b)  {
        return a-b;
    });
    return sum;
}

 

 

< Set ์ด์šฉ ํ’€์ด >

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)]
    
    // spread๋ฅผ ์‚ฌ์šฉํ•ด์„œ Set์„ ํ’€์–ด์ฃผ๊ณ 
    // new๋ฅผ ์‚ฌ์šฉํ•ด์„œ ์ƒˆ๋กœ์šด Set์„ ๋งŒ๋“ค์–ด์ฃผ๊ธฐ

    return answer.sort((a, b) => a - b)
}