배열 요소 중 가장 가까운 값 찾기

주어진 배열에서 특정 값과 가장 가까운 값을 찾는 알고리즘을 구현해보겠습니다. 다음은 이 알고리즘의 예시 코드입니다.

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을 찾는 예시입니다.

이와 같은 알고리즘을 사용하면 주어진 배열에서 가장 가까운 값을 효과적으로 찾을 수 있습니다.

참고 자료