MapleStory Finger Point

[BOJ] #1302 - 베스트셀러

2021. 6. 15. 17:43Problem Solving/Online Judge

 

1302번: 베스트셀러

첫째 줄에 오늘 하루 동안 팔린 책의 개수 N이 주어진다. 이 값은 1,000보다 작거나 같은 자연수이다. 둘째부터 N개의 줄에 책의 제목이 입력으로 들어온다. 책의 제목의 길이는 50보다 작거나 같고

www.acmicpc.net

 

 

** 문제 유형

  • 순차 탐색

 

** 풀이

  1. 가장 많이 등장한 문자열을 출력하는 문제와 동일 -> Set or Dictionary 자료형 사용
  2. 등장 횟수를 계산할 때는 Dictionary 자료형을 이용하면 효과적

 

n = int(input())

books = {}

for _ in range(n):
    book = input()
    
    if book not in books:
        books[book] = 1
    else:
        books[book] += 1

max_num = max(books.values())

array = [] # 최대 개수가 중복일 때, 한번 더 정렬하기 위한 배열

for name, num in books.items():
    if num == max_num:
        array.append(name)

print(sorted(array)[0]) # 사전 순으로 정렬

 

 

 

'Problem Solving > Online Judge' 카테고리의 다른 글

[BOJ] #1236 - 성 지키기  (0) 2021.06.15
[BOJ] #1668 - 트로피 진열  (0) 2021.06.15
[BOJ] #1568 - 새  (0) 2021.06.15
[BOJ] #1543 - 문서 검색  (0) 2021.06.15
[BOJ] #11004 - k번째 수  (0) 2021.06.15