alpyrithm_알파이리즘

[알고리즘][Python] 백준(BOJ) 1302 베스트셀러_파이썬 본문

Algorithm/백준 알고리즘_Python

[알고리즘][Python] 백준(BOJ) 1302 베스트셀러_파이썬

알파이 2020. 10. 2. 08:28

 

1302 베스트셀러    www.acmicpc.net/problem/1302

 

1302번: 베스트셀러

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

www.acmicpc.net

 

 

 

 

문제 풀기 전 공부할 것 : 정렬

 

 

 

 

 

 

 

풀이

<내용>

  • books dictionary를 만들어 책의 이름을 key로 하고 하루 동안 팔린 책의 개수를 value로 저장한다.
  • 저장한 dictionary를 orders list에 (책의 이름, 팔린 책의 개수) 형태로 저장한다.
  • orders를 많이 팔린 책의 개수, 사전 순으로 정렬한다.

 

 

<코드>

import sys
input = sys.stdin.readline

n = int(input())
books = {}
for _ in range(n):
    b = input().rstrip()
    if b in books:
        books[b] += 1
    else:
        books[b] = 1
        
orders = []
for b in books:
    orders.append((b, books[b]))

orders.sort(key=lambda x:(-x[1], x[0]))
print(orders[0][0])

 

 

 

 

 

 

 

 

728x90
반응형
Comments