Koala - 9기/기초 알고리즘 스터디

[백준/python] 1302 베스트셀러

ㄱㅈㅅㅇ 2023. 1. 21. 20:32

문제

문제코드

x=int(input())
boo={}
for i in range(x):
    a=input()
    if a in boo:
        boo[a]+=1
    else:
        boo[a]=1
key=list(boo.keys())
value=max(list(boo.values()))
t=[]
for j in range(len(key)):
    if boo[key[j]]==value:
        t.append(key[j])
t.sort()
print(t[0])

문제 풀이

우선 책을 입력받고 boo라는 딕셔너리 안에 책이 없다면 key값을 만들어주고 value 값으로 1을 준다. 그런식으로 모두 받은 다음 value값중 가장 큰 값을 max함수로 찾아내고 max로 찾은 값과 매칭하여 책을 찾아낸다. 그중 사전순으로 정렬할때가장앞의 값을 출력한다.

처음엔 문제를 잘못이해하여 출력초과가 나왔는데 문제를 찬찬히 읽어보고 푸니 제대로 나왔다.