정수 배열 array와 정수 n이 매개변수로 주어질 때, array에 들어있는 정수 중 n과 가장 가까운 수를 return 하도록 solution 함수를 완성해주세요.
● 1 ≤ array의 길이 ≤ 100
● 1 ≤ array의 원소 ≤ 100
● 1 ≤ n ≤ 100
● 가장 가까운 수가 여러 개일 경우 더 작은 수를 return 합니다.
3, 10, 28 중 20과 가장 가까운 수는 28입니다.
10, 11, 12 중 13과 가장 가까운 수는 12입니다.
function solution(array, n) {
let data = array.sort();
let near = 0;
let target = n;
let abs = 0;
let arr = 0;
let min = 100;
for (var i = 0; i < data.length; i++) {
abs = data[i] - n < 0 ? -(data[i] - target) : data[i] - n;
if (abs < min) {
min = abs;
near = data[i];
}
}
return near;
}
구글에 검색하여 가까운 수를 출력하는 코드를 대입해 보았다.
다른 사람의 풀이를 보니까 정말 어마어마한 사람들이 많은 것 같다.
끝!