https://www.acmicpc.net/problem/2910
2910번: 빈도 정렬
첫째 줄에 메시지의 길이 N과 C가 주어진다. (1 ≤ N ≤ 1,000, 1 ≤ C ≤ 1,000,000,000) 둘째 줄에 메시지 수열이 주어진다.
www.acmicpc.net
백준 2910 '빈도 정렬' 문제입니다.
dictionary 자료형에서 key에 숫자 value에 빈도를 저장해두고
for i, (key, val) in enumerate(s.items()):
를 이용하여 리스트로 만들어줍니다.
import sys
input = sys.stdin.readline
n, c = map(int, input().split())
nums = list(map(int, input().split()))
s = dict()
for num in nums:
if num not in s.keys():
s[num] = 1
else:
s[num] += 1
results = []
for i, (key, val) in enumerate(s.items()):
results.append([key, val])
results.sort(key = lambda x :-x[1])
for result in results:
for i in range(result[1]):
print(result[0], end=' ')'백준 알고리즘' 카테고리의 다른 글
| 파이썬) 백준 알고리즘 | 6603번 : 로또 (0) | 2022.03.03 |
|---|---|
| 파이썬) 백준 알고리즘 | 16165번 : 걸그룹 마스터 준석이 (0) | 2022.03.02 |
| 파이썬) 백준 알고리즘 | 1351번 : 무한 수열 (0) | 2022.03.02 |
| 파이썬) 백준 알고리즘 | 2776번 : 암기왕 (0) | 2022.03.02 |
| 파이썬) 백준 알고리즘 | 9375번 : 패션왕 신해빈 (0) | 2022.03.02 |
댓글