728x90
반응형
단순 사칙연산 문제이다. round 함수는 사사오입 원칙을 따라서 정확하게 반올림되지 않을 때가 있다.
EX) round(3.275, 2) = 3.27
그래서 그냥 10**-10을 더해주는 꼼수를 부렸다.
원래는 반올림 함수를 직접 구현하는 게 맞는데 귀찮아서 이렇게 풀었다.
d = {"A+": 4.3, "A0": 4.0, "A-": 3.7, "B+": 3.3, "B0": 3.0,
"B-": 2.7, "C+": 2.3, "C0": 2.0, "C-": 1.7, "D+": 1.3,
"D0": 1.0, "D-": 0.7, "F": 0.0}
N = t = 0
for _ in range(int(input())):
s, n, g = input().split()
n = int(n)
N += n
t += n*d[g]
print("%.2f" % (round(t/N + 10**-10, 2)))
728x90
반응형
'Agorithm > 백준 알고리즘' 카테고리의 다른 글
백준 알고리즘 3062번 수 뒤집기(python) (0) | 2021.02.25 |
---|---|
백준 알고리즘 2896번 무알콜 칵테일(python) (0) | 2021.02.25 |
백준 알고리즘 2587번 대표값2(python) (0) | 2021.02.25 |
백준 알고리즘 10709번 기상캐스터(python) (0) | 2021.02.24 |
백준 알고리즘 9237번 이장님 초대(python) (0) | 2021.02.24 |