반응형
문제
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를 출력해 준다.
반응형
'개발 연습장 > 백준 문제풀이' 카테고리의 다른 글
[파이썬, Python] 백준 1789: 수들의 합 (0) | 2023.05.19 |
---|---|
[파이썬, Python] 백준 11724: 연결 요소의 개수 (0) | 2023.05.18 |
[파이썬, Python] 백준 18258: 큐2 (2) | 2023.05.16 |
[파이썬, Python] 백준 2003: 수들의 합 2 (0) | 2023.05.15 |
[파이썬, Python] 백준 2822: 점수 계산 (0) | 2023.05.12 |