가장 많이 팔린 책을 출력하되, 가장 많이 팔린 책이 동일한 개수를 갖는다면 사전 순으로 앞선 것을 출력합니다.
Dictionary를 사용해야 하는데, Python 3.6부터는 입력된 key의 순서에 따라서 정렬이 된다고 합니다.
따라서 Dictionary에 input 값을 넣기 전에, 사전 순으로 정렬을 한 다음 값을 담아 줍니다.
그리고 반복문을 통해 가장 많이 팔린 "책의 개수"와 "책 이름"으로 갱신되게 합니다.
import sys
# sys.stdin = open("C:/Users/JIn/PycharmProjects/coding_Test/input.txt", "rt")
n = int(input())
books = [input() for _ in range(n)]
books.sort(reverse=False)
books_dict = {}
for book in books:
books_dict[book] = books_dict.get(book, 0) + 1
mx = -1
mx_k = ''
for k, v in books_dict.items():
if mx < v:
mx = v
mx_k = k
print(mx_k)
'코딩 테스트' 카테고리의 다른 글
[구현][10866, 백준] 덱 (0) | 2021.04.18 |
---|---|
[DFS][2206, 백준] 벽 부수고 이동하기 (0) | 2021.04.18 |
[병합정렬][백준1517] 버블 소팅 (0) | 2021.04.05 |
[구현, 프로그래머스] 쿼드 압축 후 개수세기 (0) | 2021.03.22 |
[백준 1599] 민식어 (0) | 2021.03.13 |