[백준] 17509 : And the Winner is… Ourselves! (Python)
문제 링크 : https://www.acmicpc.net/problem/17509
풀이 코드Permalink
from collections import defaultdict
time_dict = defaultdict(int)
penalty = 0
for _ in range(11):
T, V = map(int, input().split())
penalty += 20*V
time_dict[T] += 1
time = 0
time_dict_sorted = dict(sorted(time_dict.items(), key=lambda x: x[0]))
while time_dict_sorted:
keys = list(time_dict_sorted.keys())
time += keys[0]
time_dict_sorted[keys[0]] -= 1
penalty += time
if time_dict_sorted[keys[0]] == 0:
del(time_dict_sorted[keys[0]])
print(penalty)
풀이 해설Permalink
문제를 보면 틀린 문제에 대한 패널티는 시간과는 무관함을 알 수 있기 때문에
입력과 동시에 패널티에 누적시키면 되고
시간 누적에 따라 패널티가 커지기 때문에
입력받은 시간에 대해 정렬을 먼저 해준다음 누적 연산을 하도록 풀었습니다
댓글남기기