
아래 백준 로고를 클릭하면 해당 문제로 이동합니다 😀
표를 보고서 등급(A+, A0, ...)과 과목평점(4.5, 4.0, ...) 두개의 배열 인덱스를 매칭시켜서 값을 변환시켜야겠다고 생각했다.
등급 배열에서 일치하는 등급의 인덱스를 과목평점에 그대로 넣으면 된다.
등급 배열에서 index()를 사용하여 A0를 찾으면 1이 리턴되고, 이 값을 과목평점 배열의 인덱스에 넣으면 4.0이라는 값이 리턴된다.
추가로 이 문제는 소수점 아래로 6자리 출력값 포맷도 맞춰야한다.
total_grades = 0
total_credits = 0
ratings = ['A+', 'A0', 'B+', 'B0', 'C+', 'C0', 'D+', 'D0', 'F']
grades = [4.5, 4.0, 3.5, 3.0, 2.5, 2.0, 1.5, 1.0, 0.0]
for i in range(20):
obj, credit, grade = input().split()
if grade != 'P':
total_credits += float(credit)
total_grades += float(credit) * grades[ratings.index(grade)]
result = total_grades / total_credits
print("%.6f" % result)
