본문 바로가기

코딩테스트 문제풀이

[python3] 1302번 베스트셀러

728x90

베스트셀러

시간 제한메모리 제한제출정답맞힌 사람정답 비율
2 초 128 MB 16507 8415 6978 51.072%

문제

김형택은 탑문고의 직원이다. 김형택은 계산대에서 계산을 하는 직원이다. 김형택은 그날 근무가 끝난 후에, 오늘 판매한 책의 제목을 보면서 가장 많이 팔린 책의 제목을 칠판에 써놓는 일도 같이 하고 있다.

오늘 하루 동안 팔린 책의 제목이 입력으로 들어왔을 때, 가장 많이 팔린 책의 제목을 출력하는 프로그램을 작성하시오.

입력

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

출력

첫째 줄에 가장 많이 팔린 책의 제목을 출력한다. 만약 가장 많이 팔린 책이 여러 개일 경우에는 사전 순으로 가장 앞서는 제목을 출력한다.

 

 

첫번쨰에는 책의 수가 주어진다.

 

가장많이 팔린책의 이름을 출력하는 기본적인 탐색구조문제이다.

 

책과 책에 대한 카운트를 딕셔너리를 이용하여 

key 와 value값을 이용해서 간단하게 해결하였다.

 

*sort로 정렬하면 사전순으로 정렬이된다.

 

N=int(input())

books={}
for i in range(N):
    book=input()
    
    if book not in books:
        books[book]=1
    else:
        books[book]+=1
        
        

target=max(books.values())
array=[]
for book,count in books.items():
    
    if count==target:
        array.append(book)
        
array.sort()

print(array[0])

 

728x90

'코딩테스트 문제풀이' 카테고리의 다른 글

[python3] 1904번 01타일  (0) 2022.11.14
[python3] 1668번:트로피진열  (0) 2022.11.12
[python3] 1568번: 새  (0) 2022.11.11
[python3] 9237번 이장님 초대  (0) 2022.11.10
[python3] 1932번: 정수삼각형  (0) 2022.11.09