
์ ์ n์ ๊ธฐ์ค์ผ๋ก n๊ณผ ๊ฐ๊น์ด ์๋ถํฐ ์ ๋ ฌํ๋ ค๊ณ  ํฉ๋๋ค. ์ด๋ n์ผ๋ก๋ถํฐ์ ๊ฑฐ๋ฆฌ๊ฐ ๊ฐ๋ค๋ฉด ๋ ํฐ ์๋ฅผ ์์ ์ค๋๋ก ๋ฐฐ์นํฉ๋๋ค. ์ ์๊ฐ ๋ด๊ธด ๋ฐฐ์ด numlist์ ์ ์ n์ด ์ฃผ์ด์ง ๋ numlist์ ์์๋ฅผ n์ผ๋ก๋ถํฐ ๊ฐ๊น์ด ์์๋๋ก ์ ๋ ฌํ ๋ฐฐ์ด์ returnํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์.
n โค 10,000numlist์ ์์ โค 10,000numlist์ ๊ธธ์ด โค 100numlist๋ ์ค๋ณต๋ ์์๋ฅผ ๊ฐ์ง ์์ต๋๋ค.| numlist | n | result | 
|---|---|---|
| [1, 2, 3, 4, 5, 6] | 4 | [4, 5, 3, 6, 2, 1] | 
| [10000,20,36,47,40,6,10,7000] | 30 | [36, 40, 20, 47, 10, 6, 7000, 10000] | 
์ ์ถ๋ ฅ ์ #1
์ ์ถ๋ ฅ ์ #2
function solution(numlist, n) {
    return numlist.sort((a,b) => {
        const [aGab, bGab] = [Math.abs(a-n), Math.abs(b-n)]
        // ๊ฑฐ๋ฆฌ๊ฐ ๊ฐ๋ค๋ฉด ๋ ํฐ ์๋ฅผ ์ฐ์  ๋ฐฐ์น
        if(aGab === bGab) return b-a
        // ๋ค๋ฅด๋ค๋ฉด ๊ฑฐ๋ฆฌ๋ณ ์ค๋ฆ์ฐจ์ ์ ๋ ฌ
        return aGab-bGab
    })
}