alpyrithm_알파이리즘
[알고리즘][Python] 백준(BOJ) 2910 빈도 정렬_파이썬 본문
2910 빈도 정렬 www.acmicpc.net/problem/2910
문제 풀기 전 공부할 것 : 구현, 자료 구조, 정렬, 맵
풀이
<내용>
- 빈도와 몇 번째 등장하는지를 count에 dictionary로 저장한다.
- count의 key와 value를 저장하고 빈도, 먼저 나온 것으로 정렬한다.
- 그리고 해당 숫자가 나온 만큼 출력한다.
<코드>
n, c = map(int, input().split())
seq = list(map(int, input().split()))
count = {}
idx = 1
for s in seq:
if s in count:
count[s][0] +=1
else:
count[s] = [1, idx]
idx += 1
numbers = [[i, j] for i, j in count.items()]
numbers.sort(key=lambda x:(-x[1][0], x[1][1]))
res = []
for i, j in numbers:
res += [i]*j[0]
print(*res)
728x90
반응형
'Algorithm > 백준 알고리즘_Python' 카테고리의 다른 글
[알고리즘][Python] 백준(BOJ) 10546 배부른 마라토너_파이썬 (0) | 2020.11.29 |
---|---|
[알고리즘][Python] 백준(BOJ) 3986 좋은 단어_파이썬 (0) | 2020.11.28 |
[알고리즘][Python] 백준(BOJ) 5568 카드 놓기_파이썬 (0) | 2020.11.26 |
[알고리즘][Python] 백준(BOJ) 12605 단어순서 뒤집기_파이썬 (0) | 2020.11.25 |
[알고리즘][Python] 백준(BOJ) 1992 쿼드트리_파이썬 (0) | 2020.11.24 |
Comments