https://school.programmers.co.kr/learn/courses/30/lessons/120890
최소값을 update하는 로직을 추가해 주지 않아서 시간이 조금 걸렸었다. 초반에 최솟값과 절대값을 구했기 때문에, 조건에 부합하는 경우 이 두 개의 변수를 새로 update를 해 주어야 한다.
import java.util.*;
class Solution {
public int solution(int[] array, int n) {
Arrays.sort(array); //정렬
int answer = array[0]; //맨 처음 요소
int min = Math.abs(array[0]-n); //절댓값
for(int i=1; i<array.length; i++){
int next = Math.abs(array[i]-n);
if(min>next){ //다음 값보다 절댓값이 더 작으면
min = next; //최소값 update
answer = array[i];
}else if(min == next){
if(answer > array[i]){
answer = array[i];
}
}
}
return answer;
}
}