728x90
반응형
https://www.acmicpc.net/problem/1302
파이썬에서 조건에 따른 정렬을 할 때 lambda를 사용하는데 그것과 관련된 문제이다.
가장 높은 우선순위를 팔린 책의 수로 두고, 팔린 책의 수가 같다면 사전순으로 정렬하는 문제이다.
나는 딕셔너리를 이용해 "책 제목 : 팔린 책의 수"로 설정하고, 모든 입력이 끝나면 딕셔너리를 리스트로 형변환 시켜주었다. 그리고 리스트를 lambda를 이용해 우선순위에 따른 정렬을 해주었다.
import sys
from collections import *
Information = defaultdict()
N = int(input())
for i in range(N):
name = input()
if name in Information:
Information[name] += 1
else:
Information[name] = 1
answer = sorted(Information.items(), reverse = True)
answer.sort(key=lambda x:(-x[1], x[0]))
print(answer[0][0])
728x90
반응형
'BOJ > 문자열 (해시,맵)' 카테고리의 다른 글
[Python] 백준 - 5525번 : IOIOI (0) | 2021.12.17 |
---|---|
[Python] 백준 - 11365번 : !밀비 급일 (0) | 2021.10.09 |
[Python] 백준 - 3029번 : 경고 (0) | 2021.10.09 |
[Python] 백준 - 4358번 : 생태학 (0) | 2021.09.14 |
[C/C++] 백준 - 1764번 : 듣보잡 (0) | 2021.08.21 |