[BOJ] #1302 - 베스트셀러
2021. 6. 15. 17:43ㆍProblem Solving/Online Judge
1302번: 베스트셀러
첫째 줄에 오늘 하루 동안 팔린 책의 개수 N이 주어진다. 이 값은 1,000보다 작거나 같은 자연수이다. 둘째부터 N개의 줄에 책의 제목이 입력으로 들어온다. 책의 제목의 길이는 50보다 작거나 같고
www.acmicpc.net
** 문제 유형
- 순차 탐색
** 풀이
- 가장 많이 등장한 문자열을 출력하는 문제와 동일 -> Set or Dictionary 자료형 사용
- 등장 횟수를 계산할 때는 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 |