[알고리즘문제풀기최빈값 구하기

프로그래머스 입문 문제
송송승현's avatar
Dec 26, 2024
[알고리즘문제풀기최빈값 구하기

문제

 

나의 해답

import java.util.*; class Solution { public int solution(int[] array) { Map<Integer, Integer> frequencyMap = new HashMap<>(); int maxFrequency = 0; int answer = -1; for (int num : array) { frequencyMap.put(num, frequencyMap.getOrDefault(num, 0) + 1); if (frequencyMap.get(num) > maxFrequency) { maxFrequency = frequencyMap.get(num); answer = num; } else if (frequencyMap.get(num) == maxFrequency) { answer = -1; } } return answer; } }

해설

  • 배열의 요소에 빈도를 계산하여 frequencyMap에 저장
  • frequencyMap.getOrDefault(num, 0) + 1은 현재 숫자와 빈도를 증가
  • 현재 숫자의 빈도가 최대 빈도보다 크면 maxFrequency , answer에 저장
  • 최빈값이 여러 개일 경우 answer은 -1
Share article

송승현의 블로그