💡 문제
https://www.acmicpc.net/problem/25206
💡 정답
import sys
rating_dict = {"A+":4.5, "A0":4.0,
"B+":3.5, "B0":3.0,
"C+":2.5, "C0":2.0,
"D+":1.5, "D0":1.0,
"F":0.0}
sum = 0
time = 0
avg = 0
for _ in range(20):
cls = sys.stdin.readline().split()
if cls[2] =="P":
continue
time += float(cls[1])
sum += float(cls[1])*rating_dict[cls[2]]
avg = sum/time
print(format(avg,'.6f'))
💡 풀이
1. 학점을 딕셔너리로 지정한다.
2. for문으로 20번 입력을 받으면서 P는 건너 뛰고 학점을 계산한다.
3. format을 활용하여 소수점 6자리까지 나올 수 있도록 형식을 지정하여 출력한다.
'알고리즘 > [백준] Python' 카테고리의 다른 글
[백준] 3052번 나머지 (0) | 2023.02.01 |
---|---|
[백준] 8958번 OX퀴즈 (0) | 2023.01.28 |
[백준] 15649 N과 M(1) (0) | 2023.01.24 |
[백준] 10866 덱 (0) | 2022.10.04 |