문제보기
import math
def solution(fees, records) :
check = dict()
fee = dict()
for record in records:
parking_time, car_number, InOut = record.split()
hour, minute = parking_time.split(':')
convert_time = int(hour) * 60 + int(minute)
if InOut == 'IN':
check[car_number] = convert_time
else:
fee[car_number] = fee.get(car_number, 0) + (convert_time - check[car_number])
del check[car_number]
for chk in check:
fee[chk] = fee.get(chk, 0) + (23 * 60) + 59 - check[chk]
answer = []
for car_number, accumulate_time in sorted(fee.items()):
if accumulate_time > fees[0]:
answer.append(fees[1] + math.ceil((accumulate_time - fees[0]) / fees[2]) * fees[3])
else:
answer.append(fees[1])
return answer