Leetcode Java Count Elements With Maximum Frequency

업데이트:

문제

Link

코드

class Solution {

  public int maxFrequencyElements(int[] nums) {
    int[] count = new int[101];
    int max = 0;
    for (int num : nums) {
      count[num]++;
      if (count[num] > max) {
        max = count[num];
      }
    }
    int result = 0;
    for (int num : nums) {
      if (max == count[num]) {
        result += count[num]--;
      }
    }
    return result;
  }

}

결과

Link

설명

  1. nums 내 가장 많이 존재하는 값들의 갯수를 구하는 문제이다.

  2. 문제 풀이에 필요한 변수를 정의한다.
    • count는 nums 내 숫자들의 갯수를 계산할 변수로, 발생 가능한 최댓값의 크기보다 1 큰 정수 배열로 초기화한다.
    • max는 nums 내 가장 많이 존재하는 숫자의 갯수를 저장할 변수로, 0으로 초기화한다.
  3. nums를 반복하여 count에 숫자들의 갯수를, max에 가장 많이 존재하는 숫자의 갯수를 저장해준다.

  4. result에 최대 발생한 갯수를 누계하여 주어진 문제의 결과로 반환한다.

소스

Sample Code는 여기에서 확인 가능합니다.

댓글남기기