์ ์ 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
})
}