λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°

ν”„μ—” 곡뢀/🫧 μ•Œκ³ λ¦¬μ¦˜ 곡뢀

[ν”„λ‘œκ·Έλž˜λ¨ΈμŠ€/Javascript] νŠΉμ΄ν•œ μ •λ ¬ || μ½”λ”©ν…ŒμŠ€νŠΈ

728x90

<λ§žμ€ λ‹΅>

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

μ²˜μŒμ— nμ—μ„œ λΊΈ μ°¨κ°€ μž‘μ€ 순 λŒ€λ‘œ μ •λ ¬λ˜λ„λ‘ λ‘λ²ˆμ§Έ sort 만 μ μš©ν–ˆμ—ˆλŠ”λ°, 

κ·Έλ ‡κ²Œ ν•˜λ‹ˆκΉŒ 

값이 같은 경우

μž‘μ€ μˆ˜κ°€ λ¨Όμ € λ‚˜μ™”λ‹€. (4 κΈ°μ€€ 3, 5..)

 

κ·Έλž˜μ„œ 값이 κ°™λ‹€λ©΄,  λ¨Όμ € μ˜€λŠ” 순 (μΈλ±μŠ€κ°€ μž‘μ€ 순) 으둜 κ²€μ‚¬ν•˜κ³  μœ„μΉ˜μ‹œν‚€λŠ” λ“― ν–ˆλ‹€.

μ‹€μ œλ‘œ μ˜ˆμ‹œμ— 있던 [1, 2, 3, 4, 5, 6] 을 [1, 2, 5, 4, 3, 6] 으둜 λ°”κΏ”μ„œ λŒλ¦¬λ‹ˆ 5κ°€ 3보닀 λ¨Όμ € μ™”λ‹€.

 

κ·Έλž˜μ„œ 큰 μˆ˜λΆ€ν„° 검사가 μ‹œμž‘λ˜λ„λ‘ sort λ₯Ό ν•œλ²ˆ 거친 ν›„ -> [6, 5, 4, 3, 2, 1]

이 μƒνƒœμ—μ„œ μ ˆλŒ€κ°’ sort λ₯Ό ν•˜λ„λ‘ λ§Œλ“€μ—ˆλ‹€.

그럼 n과의 차이의 μ ˆλŒ€κ°’μ΄ 큰 μˆ˜λΆ€ν„° μž‘μ€ μΈλ±μŠ€μ— μœ„μΉ˜ν•˜κ²Œ λœλ‹€.

 

 

728x90
λ°˜μ‘ν˜•