BeakJoon/Python

[Python] 백준 #25206번: 너의 평점은

쿼딩~ 2023. 12. 16. 03:34


코드

grade_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}

total = 0  # 학점 총합을 담을 변수
result = 0  # (학점 * 과목평점) 총합을 담을 변수

for _ in range(20):
    name, credit, mark = input().split()
    credit = float(credit)
    
    if mark != 'P':  # 등급이 P인 과목은 계산 안함
        total += credit
        result += credit * grade_dict[mark]

print('%.6f' % (result / total))

 

딕셔너리를 사용하여 학점을 정의해주었고, if문에서 딕셔너리에 ` mark `에 해당하는 학점과 credit을 곱한 값을 result에 더해주는 것으로 코드를 간결화 하였다.

 

딕셔너리를 사용하여 한 줄로 간소화가 가능했다.