
< 오늘의 문제 >
가까운 수

가까운 수
function solution(array, n) {
array.sort();
let minNum = 0;
let arrMinNum = 0;
let answer = [];
for (let i = 0; i < array.length; i++) {
answer.push(Math.abs(n - array[i]))
minNum = Math.min(...answer);
arrMinNum = answer.indexOf(minNum)
} return array[arrMinNum]
}
- 나의 풀이
: n - array[i]
에 Math.abs()
메서드를 사용해서 가장 작은값을 찾아낸다.
n에 배열의 요소값을 하나하나 for문을 통해서 구하고 뺐을때 가장 작은값을 가진 요소가 제일 가까운 수 이다.
그리고 문제에서 말하듯 가장 가까운 수가 여러개일 경우 더 작은 수를 return하기때문에
값이 2개인 경우를 예로 생각하여 배열자체에 sort()
로 오름차순한뒤, 가장 작은숫자를 minNum
에 넣었고,
indefOf(minNum)
를 사용해서 인덱스값을 구해서 return했다.