BOJ/Python

백준 1302번 베스트셀러 파이썬

띵지니어 2022. 1. 7. 15:32

https://www.acmicpc.net/problem/1302

 

1302번: 베스트셀러

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

www.acmicpc.net

lst = []
for i in range(int(input())):
    lst.append(input())
    
x = list(set(lst)) # 중복될시 사전순
x.sort()
Max = 0
name = ''
for i in x:
    y = lst.count(i) # 분류
    if y > Max:
        Max = y
        name = i
print(name)

핵심은 4번째 줄에 세트로 묶은다음 리스트로 다시 sorting을 진행하고 코드를 짜는것이다.

왜냐하면 개수가 중복될시 사전순에서 가장 앞에있는걸 출력을 해야하기 때문이다.