๐ŸŒ  ๋ฌธ์ œ

์ •์ˆ˜ n์„ ๊ธฐ์ค€์œผ๋กœ n๊ณผ ๊ฐ€๊นŒ์šด ์ˆ˜๋ถ€ํ„ฐ ์ •๋ ฌํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ์ด๋•Œ n์œผ๋กœ๋ถ€ํ„ฐ์˜ ๊ฑฐ๋ฆฌ๊ฐ€ ๊ฐ™๋‹ค๋ฉด ๋” ํฐ ์ˆ˜๋ฅผ ์•ž์— ์˜ค๋„๋ก ๋ฐฐ์น˜ํ•ฉ๋‹ˆ๋‹ค. ์ •์ˆ˜๊ฐ€ ๋‹ด๊ธด ๋ฐฐ์—ด numlist์™€ ์ •์ˆ˜ n์ด ์ฃผ์–ด์งˆ ๋•Œ numlist์˜ ์›์†Œ๋ฅผ n์œผ๋กœ๋ถ€ํ„ฐ ๊ฐ€๊นŒ์šด ์ˆœ์„œ๋Œ€๋กœ ์ •๋ ฌํ•œ ๋ฐฐ์—ด์„ returnํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด์ฃผ์„ธ์š”.

๐ŸŒ  ์ œํ•œ์‚ฌํ•ญ

  • 1 ≤ n ≤ 10,000
  • 1 ≤ numlist์˜ ์›์†Œ ≤ 10,000
  • 1 ≤ numlist์˜ ๊ธธ์ด ≤ 100
  • numlist๋Š” ์ค‘๋ณต๋œ ์›์†Œ๋ฅผ ๊ฐ–์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๐ŸŒ  ์ž…์ถœ๋ ฅ ์˜ˆ

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

  • 4์—์„œ ๊ฐ€๊นŒ์šด ์ˆœ์œผ๋กœ [4, 5, 3, 6, 2, 1]์„ returnํ•ฉ๋‹ˆ๋‹ค.
  • 3๊ณผ 5๋Š” ๊ฑฐ๋ฆฌ๊ฐ€ ๊ฐ™์œผ๋ฏ€๋กœ ๋” ํฐ 5๊ฐ€ ์•ž์— ์™€์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  • 2์™€ 6์€ ๊ฑฐ๋ฆฌ๊ฐ€ ๊ฐ™์œผ๋ฏ€๋กœ ๋” ํฐ 6์ด ์•ž์— ์™€์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์ž…์ถœ๋ ฅ ์˜ˆ #2

  • 30์—์„œ ๊ฐ€๊นŒ์šด ์ˆœ์œผ๋กœ [36, 40, 20, 47, 10, 6, 7000, 10000]์„ returnํ•ฉ๋‹ˆ๋‹ค.
  • 20๊ณผ 40์€ ๊ฑฐ๋ฆฌ๊ฐ€ ๊ฐ™์œผ๋ฏ€๋กœ ๋” ํฐ 40์ด ์•ž์— ์™€์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๐Ÿงž ํ’€์ด

function solution(numlist, n) {
    return numlist.sort((a, b) => Math.abs(a - n) - Math.abs(b - n) || b - a);
}

+ Recent posts