- [코딩 기초 문제] 최빈값 구하기2025년 01월 08일
- Song hyun
- 작성자
- 2025.01.08.: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반응형'Java > 프로그래머스 코딩 테스트' 카테고리의 다른 글
[코딩 기초 문제] 대문자로 바꾸기 (0) 2025.01.12 [코딩 기초 문제] 소문자로 바꾸기 (0) 2025.01.11 [코딩 기초 문제] 배열 두 배 만들기 (0) 2025.01.08 [코딩 기초 문제] 이어 붙인 수 (0) 2025.01.07 [코딩 기초 문제] 원소들의 곱과 합 (0) 2025.01.07 다음글이전글이전 글이 없습니다.댓글
스킨 업데이트 안내
현재 이용하고 계신 스킨의 버전보다 더 높은 최신 버전이 감지 되었습니다. 최신버전 스킨 파일을 다운로드 받을 수 있는 페이지로 이동하시겠습니까?
("아니오" 를 선택할 시 30일 동안 최신 버전이 감지되어도 모달 창이 표시되지 않습니다.)