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
728x90
๋ฐ์ํ