class Solution {
public int solution(int[] array, int n) {
int answer = 0;
return answer;
}
}
해결법
방법 1
class Solution {
public int solution(int[] array, int n) {
int answer = 0;
Arrays.sort(array);
for (int i = 1 ; i < array.length ; i++) {
if (Math.abs(n - array[0]) > Math.abs(n - array[i])) {
array[0] = array[i];
}
}
answer = array[0];
return answer;
}
}
- array[0]
- index 0 에 최소 차이를 갖는 값을 for문을 돌면서 계속 저장한다
방법 2
import java.util.*;
class Solution {
public int solution(int[] array, int n) {
Arrays.sort(array);
int min = Math.abs(array[0]-n);
int idx = 0;
for (int i = 1; i < array.length; i++)
if (Math.abs(array[i] - n) < min) {
min = Math.abs(array[i] - n);
idx = i;
}
return array[idx];
}
}
가까운 수 Lv. 0