개발 연습장/백준 문제풀이

[파이썬, Python] 백준 1302: 베스트셀러

LooanCheong 2023. 5. 17. 11:44
반응형

문제

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

 

1302번: 베스트셀러

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

www.acmicpc.net

코드

n = int(input())
book = dict()

for i in range(n):
    title = input()
    if title not in book:
        book[title] = 0
    book[title] += 1

book = sorted(book.items(), key = lambda x: (-x[1],x[0]))

print(book[0][0])

설명

우선 딕셔너리를 이용해서 각 책의 개수를 입력받아준다.

그리고 주어진 조건에 맞게 정렬을 해야 하는데
이때, lambda x를 통해 2가지 조건을 주어서 정렬한다.

-x[1]의 경우 value를 기준으로 정렬을 하고 '-'를 붙여주어 내림차순으로 정렬을 했다.
그리고 x[0]을 통해 key를 사전순으로 정렬해 주었다.

이후 제일 처음 있는 book의 key를 출력해 준다.

반응형