-Code
from collections import defaultdict
while True:
n = int(input())
if n == 0:
break
medal_cnt = defaultdict(int)
gold_medal_cnt = defaultdict(int)
for _ in range(n):
year, event, medal_color = input().split()
medal_cnt[year] += 1
if medal_color == "Gold":
gold_medal_cnt[year] += 1
res = [0, 0]
max_gold = 0
for t in sorted(gold_medal_cnt.items()):
year = t[0]
if max_gold < gold_medal_cnt[year]:
max_gold = gold_medal_cnt[year]
res[0] = year
max_medal = 0
for t in sorted(medal_cnt.items()):
year = t[0]
if max_medal < medal_cnt[year]:
max_medal = medal_cnt[year]
res[1] = year
print(*res)
더 좋은 코드가 있을 거 같고 원래 더 길었는데 defaultdict를 알게되서 더 줄일 수 있게 되었습니다. defaultdict을 사용하면 자동으로 주어진 key값을 초기화 해주어서 해당 부분의 if문을 삭제할 수 있어서 사용하게 되었습니다.
'Beakjoon&프로그래머스 > 파이썬' 카테고리의 다른 글
[백준/파이썬] 17273번 카드 공장 (Small) (0) | 2024.02.05 |
---|---|
[백준/파이썬] 20350번 Account Numbers (0) | 2024.02.04 |
[백준/파이썬] 30455번 이제는 더 이상 물러날 곳이 없다 (0) | 2024.02.02 |
[백준/파이썬] 26565번 Time Limits (0) | 2024.02.01 |
[백준/파이썬] 31280번 ФАКИР (0) | 2024.01.31 |