홍우진의 개발 일기장

[백준] 1302번: 베스트셀러/ 파이썬 본문

알고리즘/백준

[백준] 1302번: 베스트셀러/ 파이썬

홍우진 2022. 7. 25. 10:35
728x90
반응형

문제 링크


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

 

1302번: 베스트셀러

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

www.acmicpc.net

 

풀이 코드


n = int(input())
dic = {}
for i in range(n):
    a = input()
    
    if a not in dic:
        dic[a] = 1
    else:
        dic[a] += 1
    
list = []

num = max(dic.values())

for i in dic:
    if num == dic[i]:
        list.append(i)

list.sort()
print(list[0])

코드 해석


딕셔너리를 만든 후 제목을 집어넣는다.

딕셔너리에 이미 존재하는 제목을 받으면 +1 아니라면 1로 키값을 준다.

가장 큰 키값을 받아오고

키값과 일치하는 책 제목을 가진 책들을 새로운 리스트에 저장한다.

리스트를 이름순으로 정렬한 뒤 가장 첫 번째의 책 제목을 출력한다.

728x90
반응형
Comments