Java
[코딩 기초 문제] 최빈값 구하기
Song hyun
2025. 1. 8. 18:19
728x90
반응형
[코딩 기초 문제] 최빈값 구하기
최빈값은 주어진 값 중에서 가장 자주 나오는 값을 의미합니다.
정수 배열 array가 매개변수로 주어질 때,
최빈값을 return 하도록 solution 함수를 완성해보세요.
최빈값이 여러 개면 -1을 return 합니다.
import java.util.Collections;
import java.util.HashMap;
class Solution {
public int solution(int[] array) {
HashMap<Integer, Integer> intArray = new HashMap<>();
// 빈도 계산
for (int num : array) {
intArray.put(num, intArray.getOrDefault(num, 0) + 1);
}
// 최대 빈도 찾기
int maxFrequency = Collections.max(intArray.values());
int mostFrequent = -1;
boolean duplicate = false;
// 최대 빈도를 가진 원소 찾기
for (int key : intArray.keySet()) {
if (intArray.get(key) == maxFrequency) {
if (mostFrequent != -1) {
duplicate = true; // 중복된 최대 빈도 값 확인
break;
}
mostFrequent = key;
}
}
// 최대 빈도가 중복되었으면 -1 반환
return duplicate ? -1 : mostFrequent;
}
}
728x90
반응형