Kim Seon Deok
[백준]1302 베스트셀러 본문
https://www.acmicpc.net/problem/1302
<문제 요약>
1.하루동안 팔린 책의 개수 N이 주어짐
2.N만큼 책의 제목을 입력으로 받음
3.가장 많이 팔린 책의 제목을 출력
4.가장 많이 팔린 책이 여러개일 경우 사전순으로 가장 앞서는 제목을 출력
N = int(input())## 오늘 하루 동안 팔린 책의 개수
book = [] # 팔린 책 제목을 담을 빈 리스트
for i in range (0,N):
book.append(input())
# print(book)
frequency = [] # 책 제목마다의 빈도수를 담을 리스트
for j in range(0,N):
frequency.append(book.count(book[j]))
max_book = [] # 빈도수가 최대인 인덱스만 담을 리스트
for k in range(0,N):
if book.count(book[k]) == max(frequency):
max_book.append(book[k])
max_book.sort() # 사전순으로 정렬
print(max_book[0]) # 맨 첫번째 인덱스를 출력
<문제 접근>
1.책 제목을 담을 빈 book 리스트를 생성 >> for문으로 append
4.책 제목마다 빈도수를 담을 frequency 리스트를 생성
ex) 책 제목 N = 6, book = [a, a, a, b, b,b, c] , frequency = [3,3,3,3,3,1]
5.빈도수가 최대인 인덱스만 담을 max_book 리스트를 생성
max_book = [3,3,3,3,3]
6. sort로 정렬 후 맨 첫번째 인덱스를 출력
'python > Algorithm' 카테고리의 다른 글
[백준] 1244 스위치 켜고 끄기 (0) | 2022.01.14 |
---|---|
[백준] 9012 - 괄호 (0) | 2022.01.14 |
[백준]1158 요세푸스 문제 (0) | 2022.01.08 |
[백준] 1343번 폴리오미노 (0) | 2022.01.06 |
[코드업] [기초-리스트] 성실한 개미 (0) | 2022.01.06 |