문제풀이/백준(Boj) 문제풀이

[백준] - 1320. 베스트셀러(python)

얄루몬 2023. 6. 8. 11:32
n = int(input())

dic = {}

MAX = 0
answer = ""

for _ in range(n):
    s = input()
    if s not in dic:
        dic[s] = 0
    dic[s] += 1


dic = sorted(dic.items())
dic = dict(dic)

for k,v in dic.items():
    if MAX < v:
        MAX = v
        answer = k


print(answer)
  • 같은 판매수라면 더 빠른 문자열이 출력되어야 한다는 조건을 만족하기 위해서 딕셔너리를 정렬한 뒤 다시 딕셔너리로 만들어 주었다.
    • 딕셔너리를 정렬하게 되면 [('k', v), ...] 형식으로 변환되기 때문이다.(리스트 안에 튜플 형식)
  • 정렬을 해준 뒤 작업을 진행하기 때문에 같은 값을 따로 비교하지 않아도 된다.