DMOPC 2019년 11월 Contest 1번 문제 Mode Finding 입니다.
본 포스트는 문제를 간략하게만 정리하였으므로 상세 내용과 코드 제출은 아래 링크를 참고해 주세요.
DMOPC '19 Contest 3 P1 - Mode Finding - DMOJ: Modern Online Judge
You are given N numbers, a_1, a_2, \dots, a_N. Output all the modes of this list on a single line from least to greatest. The mode of a list is/are the value(s) that appear(s) the most times relative to the other values in the list. It is guaranteed that a
dmoj.ca
문제 개요 설명
n개의 숫자들이 주어집니다. 주어진 숫자의 목록 중에서 가장 많이 등장한 숫자인 최빈값(mode)을 모두 찾아서 한 줄에 오름차순으로 출력해 주세요.
입력
- 첫 번째 줄에는 주어질 숫자 목록의 개수 n이 주어집니다.
- 두 번째 줄에는 n개의 숫자 목록이 주어집니다.
출력
- 최빈값을 찾아 한 줄에 오름차순으로 출력합니다.
입출력 예시
입력 :
10
9 2 9 6 8 7 2 3 9 2
출력 :
2 9
주어진 10개의 숫자 목록 중에서, 출현 빈도수가 가장 높은 숫자는 9와 2입니다. 이를 오름차순으로 출력하면 2 9가 됩니다.
솔루션 코드
n = int(input())
lst = input().split()
d = {}
for i in range(n):
if lst[i] not in d:
d[lst[i]] = 1
else:
d[lst[i]] += 1
max_value = max(d.values())
result_lst = sorted([int(k) for k,v in d.items() if v == max_value])
print(*result_lst)
딕셔너리를 사용하여 각 숫자의 출현 빈도수를 저장해 보세요.
추가적으로 출력 조건이 있기 때문에, 해당 조건에 맞게 출력하는 것만 유의해 주시면 됩니다.
'문제정리' 카테고리의 다른 글
CCC '18 J3 - Are we there yet? (0) | 2023.07.18 |
---|---|
DMOPC '19 Contest 5 P1 Conspicuous Cryptic Checklist (0) | 2023.07.11 |
COCI 2015 Contest 2 #1 Marko (0) | 2023.07.03 |
Platforme (0) | 2023.04.19 |
Crtanje (0) | 2023.04.04 |