반응형
25329번: 학생별 통화 요금 계산 (acmicpc.net)
from sys import stdin
N = int(stdin.readline().strip("\n"))
studentDict = {}
for _ in range(0, N):
time, name = stdin.readline().strip("\n").split(" ")
hour, minute = map(int, time.split(":"))
time = hour * 60 + minute
if name in studentDict:
studentDict[name]["time"] += time
else:
studentDict[name] = {"time": time}
for name in studentDict.keys():
time = studentDict[name]["time"]
money = 0
if time <= 100:
money = 10
else:
time -= 100
if time % 50 == 0:
money = 10 + (time // 50) * 3
else:
money = 10 + ((time // 50) + 1) * 3
studentDict[name]["money"] = money
sortedStudentDictWithName = dict(sorted(studentDict.items(), key=lambda x: x[0]))
sortedStudentDictWithMoneyDesc = dict(
sorted(sortedStudentDictWithName.items(), key=lambda x: x[1]["money"], reverse=True)
)
for name, value in sortedStudentDictWithMoneyDesc.items():
print(name, value["money"])
'알고리즘' 카테고리의 다른 글
12739번 돌림판(small) (0) | 2024.05.20 |
---|---|
1384번 메시지 (0) | 2024.05.07 |
17091번 단어 시계 (0) | 2024.05.06 |
14468번 소가 길을 건너간 이유2 (0) | 2024.05.05 |
1213번 팰린드롬 만들기 (0) | 2023.07.07 |