Algorithm

[Python] 백준 1302번 베스트셀러

Lagom92 2020. 5. 14. 22:07

가장 빈도가 높은 문자열 출력하기

 

 

 

포인트!

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

 

1302번: 베스트셀러

첫째 줄에 오늘 하루 동안 팔린 책의 개수 N이 주어진다. 이 값은 1,000보다 작거나 같은 자연수이다. 둘째부터 N개의 줄에 책의 제목이 입력으로 들어온다. 책의 제목의 길이는 50보다 작거나 같고

www.acmicpc.net

 

댓글수0