Algorithm/BOJ

[BOJ] 1302 베스트셀러

SolB 2022. 9. 11. 04:25

n=int(input())
dic={}

for i in range(n):
    book=input()
    if book not in dic:
        dic[book]=1
    else:
        dic[book]+=1
    
list=[]
M=max(dic.values())
for i in dic:
    if M==dic[i]:
        list.append(i)
list.sort()
print(list[0])

<코드설명>

하루 팔린 책의 개수인 n을 입력받고 for문으로 n개의 book을 입력받았다.

book이 dic에 없다면, dic[book]에 1을 저장해준다. 그렇지 않으면 dic[book]값을 1씩 늘려준다.

M에 dic 값 중 가장 큰 값을 저장해준다. 

dic의 값 중에 최대값인 M과 동일하다면 list에 그 key값을 저장해주었다. key 값이 여러개이면 사전 순으로 가장 앞서는 제목을 출력해야 한다. 따라서 list를 sort해주었다.

가장 앞선 제목인 list[0]의 값을 출력해주었다.

 

<실행결과>