728x90
Near Algoritm - 근사값 알고리즘
- 근삿값 알고리즘: 차이값의 절대값의 최소값 = 근사값
- 차이값 = (데이터 - 대상값(target))
package nearAlgoritm;
//근삿값 알고리즘: 차이값의 절대값의 최소값.
//[?] 원본 데이터중에서 대상 데이터와 가장 가까운 값을 구한다
public class NearAlgoritm {
//[0] 절댓값 구하기 로컬 함수
// number가 음수면(참) 양수로 변환하고, 양수면(거짓) 양수 그대로 나오는 메서드
public static int Abs(int number) {
return (number < 0 ) ? -number : number;
}
public static void main(String[] args) {
//[1] Initialize
int min = Integer.MAX_VALUE; //차잇값의 절댓값의 최솟값이 담기는 그릇
//[2] input
int[] numbers = {10, 20, 30, 27, 17 };
int target = 25; //target과 가까운 값이 구해지는 것.
int near = 0; // 가까운 값(근사값)
//[3] process
for(int i = 0; i < numbers.length; i++) {
int abs = Abs(numbers[i] - target); // 차잇값의 절대값이 담기는 변수
if(abs < min) {
min = abs; // 여기까지는 최소값 알고리즘
near = numbers[i]; // NEAR 알고리즘 : 차잇값의 절대값의 최솟값인 값
}
}
//[4] output
System.out.println(target + "과 가장 가까운 값 : "+ near+ " \n 차이는 : "+ min);
}
}
300x250