-
[BOJ] 1302 베스트셀러CS/Algorithm & Data Structure 2023. 7. 23. 18:08
책 이름별로 몇 권을 팔았는지 표시해야한다.
따라서 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