-
[Python] 백준 1302번 베스트셀러Algorithm 2020. 5. 14. 22:07
가장 빈도가 높은 문자열 출력하기
포인트!
- collections 모듈을 사용하여 알고리즘을 구현하였다.
from collections import Counter
- collections에 있는 Counter를 이용하여 각 데이터 마다의 빈도를 구하고
ex) Counter({'top': 4, 'kimtop': 1})
- most_common()을 이용하여 데이터의 개수가 많은 순의 리스트를 구하여 가장 빈도가 높은 문자열을 출력하였다.
ex) [('top', 4), ('kimtop', 1)]
Python Code
from collections import Counter n = int(input()) books = [] for _ in range(n): books.append(input()) books.sort() # 문자열을 사전 순으로 정렬 cnt = Counter(books) print(cnt.most_common(n=1)[0][0]) # 가장 많은 개수의 데이터의 key 출력
Reference
https://www.acmicpc.net/problem/1302
'Algorithm' 카테고리의 다른 글
LRU(Least Recently Used) 알고리즘 (0) 2020.10.07 [Python] 병합 정렬(merge sort) (0) 2020.05.15 [Python] 삽입 정렬(Insertion sort) (0) 2020.03.26 [Python] 선택 정렬(selection sort) (0) 2020.03.18 [Python] 버블 정렬(Buble sort) (0) 2020.03.15