반응형
[ Contents ]
1. 문제 (링크 참조)
2. 문제 풀이
입력된 숫자의 개수를 세고, 최빈값을 출력하는 문제입니다.
2022.06.15 - [Algorithm] - [자료구조/해시맵] 백준 1302 베스트셀러 - 파이썬(Python)
위 문제의 풀이처럼, 딕셔너리를 구현해서 직접 개수를 셀 수도 있습니다. 이 문제에서는 파이썬의 Counter 함수를 사용해서 풀이하겠습니다.
3. 코드
from collections import Counter
import sys
input = sys.stdin.readline
# 입력
N = int(input())
numlist = []
for _ in range(N):
numlist.append(int(input()))
# 개수 세기
counting = Counter(numlist).most_common()
max_freq = counting[0][1] # 최빈값의 빈도
res = counting[0][0] # 최빈값
for num, freq in counting:
if freq == max_freq and num < res:
res = num
print(res)
Counter(lst).most_common()은 lst 내 항목 개수를 세서, 빈도 수가 높은 항목순으로 항목과 빈도를 저장합니다.
이 문제에서는 빈도가 같은 경우, 작은 숫자를 출력해야 합니다. 따라서 빈도가 같은 숫자 중에서 작은 숫자를 찾아서 출력합니다.
반응형
'Algorithm' 카테고리의 다른 글
[구현/수학] 백준 10974 모든 순열 - 파이썬(Python) (0) | 2022.06.18 |
---|---|
[구현/수학] 백준 2702 초6 수학 - 파이썬(Python) (0) | 2022.06.17 |
[자료구조/해시맵] 백준 1302 베스트셀러 - 파이썬(Python) (0) | 2022.06.15 |
[정렬/탐색] 백준 2693 N번째 큰 수 - 파이썬(Python) (0) | 2022.06.14 |
[자료구조/스택] 백준 17413 단어 뒤집기 2 - 파이썬(Python) (0) | 2022.06.13 |
댓글