배열 요소의 최빈값과 빈도수 구하기

배열에서 가장 많이 등장하는 요소의 값을 찾는 것은 자주 사용되는 작업 중 하나입니다. 이 글에서는 주어진 배열에서 최빈값과 그 빈도수를 구하는 방법에 대해 알아보겠습니다.

알고리즘 설명

  1. 주어진 배열을 순회하면서 각 요소의 등장 횟수를 셉니다.
  2. 각 요소의 등장 횟수를 저장하기 위한 딕셔너리를 생성합니다.
  3. 배열을 순회하면서 딕셔너리에 요소를 키로 사용하여 등장 횟수를 증가시킵니다.
  4. 딕셔너리에서 가장 큰 값(최빈값)을 찾습니다.
  5. 딕셔너리에서 최빈값에 해당하는 키(요소)를 찾아 최빈값과 빈도수를 반환합니다.

예제 코드

def find_mode(arr):
    freq_dict = {}
    max_freq = 0
    mode = None
    
    for num in arr:
        if num not in freq_dict:
            freq_dict[num] = 0
        freq_dict[num] += 1
        
        if freq_dict[num] > max_freq:
            max_freq = freq_dict[num]
            mode = num
    
    return mode, max_freq

# 예제 사용
arr = [1, 2, 2, 3, 3, 3, 4, 4, 4, 4]
mode, freq = find_mode(arr)
print(f"최빈값: {mode}, 빈도수: {freq}")

출력 결과

최빈값: 4, 빈도수: 4

참고 자료

해시태그

#최빈값 #빈도수