배열 요소의 최빈값과 빈도수 구하기
배열에서 가장 많이 등장하는 요소의 값을 찾는 것은 자주 사용되는 작업 중 하나입니다. 이 글에서는 주어진 배열에서 최빈값과 그 빈도수를 구하는 방법에 대해 알아보겠습니다.
알고리즘 설명
- 주어진 배열을 순회하면서 각 요소의 등장 횟수를 셉니다.
- 각 요소의 등장 횟수를 저장하기 위한 딕셔너리를 생성합니다.
- 배열을 순회하면서 딕셔너리에 요소를 키로 사용하여 등장 횟수를 증가시킵니다.
- 딕셔너리에서 가장 큰 값(최빈값)을 찾습니다.
- 딕셔너리에서 최빈값에 해당하는 키(요소)를 찾아 최빈값과 빈도수를 반환합니다.
예제 코드
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
참고 자료
해시태그
#최빈값 #빈도수