1302: 베스트셀러

canyi·2023년 5월 3일
0

백준

목록 보기
3/19

문제링크

풀이 설명

먼저 책을 담을 key, value 형식으로 crud 가능한 map을 만든다.

lib = dict()

책의 입력할 횟수의 변수를 선언한다.

num = int(input())

입력한 횟수만큼 책을 출력한다. 똑같은 책이 입력될 경우 key는 쌓인다.

for _ in range(num):
    book = input()
    if book in lib:
        lib[book] += 1
    else:
        lib[book] = 1

중복으로 입력된 책의 최고값을 선언한다.

lib_max = max(lib.values())

중복으로 입력한 책의 최고값을 최고값으로 선언한 lib_max와 비교해서 새로 선언한 배열 can에 반환한다.

can = []
for k, v in lib.items():
    # dic 의 value 와 map 의 max 값 출력
    if v == lib_max:
        can.append(k)

중복으로 입력한 최고값이 똑같을 경우 오름차순 기준으로 책을 출력한다.

can.sort()
print(can[0])

출력

전체코드

# 입력값 map 선언
lib = dict()

# 입력할 값의 횟수 선언
num = int(input())

# 입력한 책 횟수 만큼 책 출력
for _ in range(num):
    book = input()
    if book in lib:
        lib[book] += 1
    else:
        lib[book] = 1

# map 의 max 값 출력
lib_max = max(lib.values())

# 입력한 dic 값의 key value 출력
can = []
for k, v in lib.items():
    # dic 의 value 와 map 의 max 값 출력
    if v == lib_max:
        can.append(k)
# max 가 같을 경우 sorting

can.sort()
print(can[0])
profile
백엔드 개발 정리

0개의 댓글