inblog logo
|
송승현의 블로그
    알고리즘문제풀기

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

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

    문제

    school.programmers.co.kr
    https://school.programmers.co.kr/learn/courses/30/lessons/120812
     

    나의 해답

    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
    Contents
    문제나의 해답해설

    송승현의 블로그

    RSS·Powered by Inblog