ํ๋ก๊ทธ๋๋จธ์ค (์๋ฐ์คํฌ๋ฆฝํธ) - ๊ฐ๊น์ด ์
- ๋ฌธ์ ์ค๋ช
-์ ์ถ๋ ฅ ์์
- ๋์ ํ์ด
function solution(array, n) {
let answer = 0;
let minAbs = 99999999;
const sortArray = array.sort((a,b)=>a-b)
for(let i=0; i<sortArray.length; i++){
const item = sortArray[i];
if(minAbs > Math.abs(n-item)){
minAbs = Math.abs(n-item)
answer=item;
}
}
return answer;
}
์ด ๋ฌธ์ ์ ๊ฒฝ์ฐ, n์์ array์ ์์๋ค์ ํ๋์ฉ ๋นผ๋ฉด์ ๊ทธ ์ฐจ์ด๊ฐ ๊ฐ์ฅ ์์ ์์๋ฅผ ์ฐพ์ผ๋ฉด ๋๋ค.
๋จผ์ , ๋ฐ๋ณต๋ฌธ์ ๋๋ฉฐ n์์ ํด๋น ์์๋ฅผ ๋นผ๋ฉฐ ์ฐจ์ด๋ฅผ ์์๋ด์ผ ํ๋๋ฐ n๋ณด๋ค ์์์ ๊ฐ์ด ํฌ๋ฉด -๊ฐ์ด ๋์ค๊ธฐ ๋๋ฌธ์ ์ ๋๊ฐ์ผ๋ก ๋ง๋ค์ด์ฃผ๋
Math.abs๋ฅผ ์ฌ์ฉํด์ค๋ค.
์ฐจ์ด๊ฐ ๊ฐ์ฅ ์์ ๊ฐ์ ์ฐพ๊ธฐ ์ํด์ minAbs๋ผ๋ ์์์ ๋งค์ฐ ํฐ ์๋ฅผ ์ง์ ํด ์ฃผ๊ณ , minAbs๋ณด๋ค ๋น๊ต๋์์ด ์์ผ๋ฉด ๊ทธ ๊ฐ์ผ๋ก ์นํํด ์ฃผ๋ ์กฐ๊ฑด์ ๋ฃ์ด์ค๋ค.
๊ทธ๋ฆฌ๊ณ ์กฐ๊ฑด ์ค ์ฐจ์ด๊ฐ ๊ฐ๋ค๋ฉด ๋ ์์ ์๊ฐ ๋ต์ด๋ผ๋ ์กฐ๊ฑด์ด ์๋๋ฐ ๋งจ ์ฒ์ ๋ฐฐ์ด์ ์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌํ๊ณ ์์ํ๋ค๋ฉด(ํ์ด ๋ด sortArray),
์ฐจ์ด๊ฐ ๊ฐ๋๋ผ๋ ์ค๋ฆ์ฐจ์ ๋ฐฐ์ด์ ์ํด์ ๋ ์์ ์๋ง ์กฐ๊ฑด๋ฌธ์ ๋ค์ด๊ฐ ์ ์์ผ๋ฏ๋ก ๋ค๋ฅธ ์กฐ๊ฑด์ ๋ํด์ฃผ์ง ์์๋ ๋๋ค.
- ๋ฐฐ์ด ์
1. Math.abs