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
반응형

+ Recent posts