가까운 수
https://school.programmers.co.kr/learn/courses/30/lessons/120890
function solution(array, n) {
array.sort((a,b) => a - b);
let del = Infinity;
let result = 0;
for (let i of array) {
if (Math.abs(n-i) < del) {
del = Math.abs(n - i);
result = i;
}
}
return result;
}
del을 infinity로 지정하여 첫 번째 비교시 무조건 값이 바뀌게 설정하고
모든 배열을 비교할때 - 값을 없애고 수를 나타내기 위해 JS의 Math.abs 를 사용하여 절대값으로 표현
test case 추가
[3, 24, 14, 29], 19를 각각 넣는 경우
24와 14를 비교할때의 값이 같기 때문에
같으면 더 가장 작은 수인 14가 나와야하는데
24가 나오는 경우가 발생하였다.
따라서 애초에 작은 수 부터 비교를 하는 방법을 하기 위해
array.sort((a,b) => a - b))를 추가하여 array를 정렬하고 비교를 시작하는 코드 작성.
'우코딩 코딩테스트 일기 > JavaScript 코딩테스트 100일 챌린지 (Lv. 0)' 카테고리의 다른 글
Javascript 알고리즘 100일 챌린지 25번째 (0) | 2024.06.01 |
---|---|
Javascript 알고리즘 100일 챌린지 24번째 (0) | 2024.06.01 |
Javascript 알고리즘 100일 챌린지 22번째 (0) | 2024.05.31 |
Javascript 알고리즘 100일 챌린지 21번째 (0) | 2024.05.31 |
Javascript 알고리즘 100일 챌린지 20번째 (0) | 2024.05.31 |