728x90
반응형
// 문제: 원본 데이터 중에서 대상 데이터와 가장 가까운 값
// 근사값 알고리즘(Near Alogrithm): 가까운 값을 구한다. -> 차잇값의 절대값의 최솟값
(function () {
// [0] Initialize
let min = Number.MAX_SAFE_INTEGER;
// [1] Input
var numbers = [10, 20, 30, 27, 17]; //예상 결과 값: 27
var target = 25; //target과 가장 가까운 값
var near = 0;
// [2] Process: Near
for (let i = 0; i < numbers.length; i++) {
var abs = Math.abs(numbers[i] - target);
if (abs < min) {
min = abs;
near = numbers[i]; // 바로 numbers[i]로 찾는다. 따로 index 찾지말고
}
}
// [3] Output
console.log(target + "와/과 가장 가까운 값 " + near + "(차이: " + min + ")");
})();
먼저 나 혼자 풀었을 때는 조금 비효율적으로 푼 듯하다.
좀 많이 달랐던 부분은 나는 빈 배열을 선언해주고 거기에 데이터를 넣은 상태로 최솟값 알고리즘을 적용했는데,
강사님은 바로 for문안에서 최솟값을 찾으셨다.
'🍀 코딩 테스트 > 쉽게 배우는 JavaScript 알고리즘 입문' 카테고리의 다른 글
선택 정렬 알고리즘 (0) | 2022.08.12 |
---|---|
순위알고리즘 (0) | 2022.07.25 |
최솟값 알고리즘 (0) | 2022.07.19 |
최댓값 알고리즘 (0) | 2022.07.19 |
평균 알고리즘 (0) | 2022.07.19 |