๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

ํ”„์—” ๊ณต๋ถ€/๐Ÿซง ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ณต๋ถ€

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค/Javascript] [level.0] ๊ฐ€๊นŒ์šด ์ˆ˜ || ์ฝ”๋”ฉํ…Œ์ŠคํŠธ

728x90

n-v ์˜ ์ ˆ๋Œ€๊ฐ’์„ ๊ตฌํ•ด์„œ ์ ˆ๋Œ€๊ฐ’์ด ๊ฐ€์žฅ ์ž‘์€ ์ˆ˜๋ฅผ ์ฐพ์œผ๋ฉด ๋œ๋‹ค. 

๊ทผ๋ฐ ์ ˆ๋Œ€๊ฐ’ ํ•จ์ˆ˜๊ฐ€ ์žˆ๋Š” ์ค„ ๋ชจ๋ฅด๊ณ !

function solution(array, n) {
    const gapArr = array.map(v => n - v > 0 ? n - v : -(n - v));
    const minGap = Math.min(...gapArr);
    const minGapValueArr = array.filter(v => n - v === minGap || v - n === minGap);
    const result = minGapValueArr.length > 1 ? Math.min(...minGapValueArr) : minGapValueArr[0];
return result;
};

๋จผ์ € ์ ˆ๋Œ€๊ฐ’์„ ๊ตฌํ•˜๋Š” ์ฝ”๋“œ๋ฅผ ์งœ๋ฒ„๋ ธ์ง€ ๋ญ”๊ฐ€!

 

 

 

๊ฐ€์žฅ ํ•œ ๋ˆˆ์— ๋“ค์–ด์™”๋˜ ํ’€์ด

์ ˆ๋Œ€๊ฐ’์ด ์ž‘์€ ์ˆœ์„œ๋Œ€๋กœ ์ •๋ ฌํ•œ๊ฑด๋ฐ, ์ ˆ๋Œ€๊ฐ’์ด ๊ฐ™์€ ๊ฒฝ์šฐ๋Š” ์–ด์นด์ง€? ํ•˜๊ณ  ๋‹ค์‹œ ๋ณด๋‹ˆ, 

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

    return array[0];
}

 

์ ˆ๋Œ€๊ฐ’์ด ์ž‘์€ ์ˆœ์„œ๋Œ€๋กœ ์ •๋ ฌ -> ์ ˆ๋Œ€๊ฐ’์˜ ์ฐจ๊ฐ€ 0์ด ๋‚˜์˜ด(a ๋ž‘ b ๋ž‘ ๊ฐ™์€ ์ ˆ๋Œ€๊ฐ’์„ ๊ฐ€์ง„ ๊ฒฝ์šฐ) => || ์—ฐ์‚ฐ์ž ๋กœ ์ž‘์€ ์ˆ˜ ์ˆœ์„œ๋กœ ์ •๋ ฌ.. 

 

Wow..

 

 

 

 

 

 Math.abs() : ์ ˆ๋Œ€๊ฐ’ ํ•จ์ˆ˜

https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Math/abs

 

Math.abs() - JavaScript | MDN

Math.abs() ํ•จ์ˆ˜๋Š” ์ฃผ์–ด์ง„ ์ˆซ์ž์˜ ์ ˆ๋Œ€๊ฐ’์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. x๊ฐ€ ์–‘์ˆ˜์ด๊ฑฐ๋‚˜ 0์ด๋ผ๋ฉด x๋ฅผ ๋ฆฌํ„ดํ•˜๊ณ , x๊ฐ€ ์Œ์ˆ˜๋ผ๋ฉด x์˜ ๋ฐ˜๋Œ€๊ฐ’, ์ฆ‰ ์–‘์ˆ˜๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

developer.mozilla.org

 

728x90
๋ฐ˜์‘ํ˜•