백준
[백준/정렬] 2910번 : 빈도 정렬
ydin
2024. 2. 12. 19:29
- 문제 : https://www.acmicpc.net/problem/2910
딕셔너리에서 이중 정렬하는 거를 맨날 까먹어서 기록한다. 이젠 까먹지 말자!!
sorted(num_dic.items(), key = lambda x : (-x[1][0], x[1][1]))
정답 풀이
arr = {숫자 : [횟수, 인덱스]} -> 횟수 내림차순, 횟수 같으면 인덱스 오름차순
n, c = map(int, input().split())
numbers = list(map(int, input().split()))
num_dic = {}
for i in range(n):
number = numbers[i]
if number in num_dic.keys():
num_dic[number][0] += 1
else:
num_dic[number] = [1, i]
result = sorted(num_dic.items(), key = lambda x : (-x[1][0], x[1][1]))
answer = ''
for num, arr in result:
for i in range(arr[0]):
answer += str(num) + ' '
print(answer)