배열 요소 중 가장 가까운 값 찾기
주어진 배열에서 특정 값과 가장 가까운 값을 찾는 알고리즘을 구현해보겠습니다. 다음은 이 알고리즘의 예시 코드입니다.
function findClosestValue(arr, target) {
let closestValue = arr[0];
let minDiff = Math.abs(target - arr[0]);
for (let i = 1; i < arr.length; i++) {
let diff = Math.abs(target - arr[i]);
if (diff < minDiff) {
minDiff = diff;
closestValue = arr[i];
}
}
return closestValue;
}
const arr = [2, 4, 8, 10, 15];
const target = 7;
const closestValue = findClosestValue(arr, target);
console.log(`가장 가까운 값: ${closestValue}`);
위의 코드에서는 배열 arr
과 타켓 값 target
을 인자로 받는 findClosestValue
함수를 정의합니다.
이 함수 안에서는 배열의 첫 번째 값을 초기 closestValue
로 설정하고, 타켓 값과 첫 번째 값의 차이를 최소 차이로 설정한 뒤, 배열의 나머지 값들과 타켓 값의 차이를 계산합니다.
만약 계산한 차이가 현재까지의 최소 차이보다 작다면, 최소 차이와 가장 가까운 값을 갱신합니다. 이 과정을 배열의 모든 요소에 대해 반복하고, 최종적으로 가장 가까운 값을 반환합니다.
위의 예시 코드에서는 배열 [2, 4, 8, 10, 15]
에서 타켓 값 7
과 가장 가까운 값인 8
을 찾는 예시입니다.
이와 같은 알고리즘을 사용하면 주어진 배열에서 가장 가까운 값을 효과적으로 찾을 수 있습니다.