https://school.programmers.co.kr/learn/courses/30/lessons/120890
import java.util.*;
class Solution {
public int solution(int[] array, int n) {
// HashMap을 사용하여 각 값과 n과의 차이를 저장
HashMap<Integer, Integer> map = new HashMap<>();
for (int i = 0; i < array.length; i++) {
map.put(array[i], Math.abs(n - array[i])); // n과의 차이를 계산하여 저장 (절대값)
}
int minValue = Integer.MAX_VALUE; // 가장 큰 값으로 초기화
int minKey = 0; // 결과를 담을 변수
for (Map.Entry<Integer, Integer> entry : map.entrySet()) {
int key = entry.getKey();
int value = entry.getValue();
if (value < minValue) {
minValue = value;
minKey =key;
if (minValue == value && key < minKey) {
minKey = key;
}
}
}
return minKey; // 가장 가까운 값을 반환
}
}
쓸 데 없이 HashMap을 쓴 것 같긴 한데,,,,
Map.Entry 쓰는 것 복습했다.