예지의 테크 로그포스 (Yeji's Tech Log Force)
[BOJ] 1302 베스트셀러 본문
책 이름별로 몇 권을 팔았는지 표시해야한다.
따라서 dictionary를 사용해서
key: 책 이름, value: 판매권수
기록하면 좋을 것 같았다.
1. 변수에 기록
d = dict()
max = 0
maxBook = ""
for _ in range(int(input())):
book=input()
if book in d:
d[book] +=1
else: d[book]=1
if d[book]>max:
max=d[book]
maxBook=book
elif d[book]==max:
if book<maxBook: maxBook=book
print(maxBook)
책 이름이 입력될 때
그 이름의 key가 있으면 value(판매권수)에 1을 더해주고
없으면 하나 생성해서 1로 설정해준다.
그 후에 바로 그 key의 판매권수가 최대인지 아닌지 체크한다.
가장 많이 팔린 책이 여러 권이라면, 책 이름을 사전순으로 비교하여 maxBook에 기록해준다.
2. 변수에 기록(for문 쪼갬)
d = dict()
max = 0
maxBook = ""
for _ in range(int(input())):
book=input()
if book in d:
d[book] +=1
else: d[book]=1
for k, v in d.items():
if v>max:
max=v
maxBook=k
elif v==max:
if maxBook>k: maxBook=k
print(maxBook)
'CS > Algorithm & Data Structure' 카테고리의 다른 글
[Programmers][Python] 주사위 게임 3 (2) | 2023.09.09 |
---|---|
[Programmers][Python] 옹알이(1) (2) | 2023.05.10 |
[BOJ][Python]2748 피보나치 수2 (0) | 2023.05.10 |
[BOJ][Python] 백준 1475 방 번호 (0) | 2023.03.09 |
유클리드 호제법(최대공약수 재귀로 구하기) (0) | 2023.02.21 |
Comments