Hello Computer Vision

백준 알고리즘 25206번 [너의 평점은] 파이썬 본문

백준알고리즘/수학

백준 알고리즘 25206번 [너의 평점은] 파이썬

지웅쓰 2023. 4. 14. 23:30

https://www.acmicpc.net/problem/25206

 

25206번: 너의 평점은

인하대학교 컴퓨터공학과를 졸업하기 위해서는, 전공평점이 3.3 이상이거나 졸업고사를 통과해야 한다. 그런데 아뿔싸, 치훈이는 깜빡하고 졸업고사를 응시하지 않았다는 사실을 깨달았다! 치

www.acmicpc.net

총 20개 과목에 대한 평점을 구하는 문제이다.

 

우선 grade들에 대한 dictionary 를 정의해주었고, 반복문을 통해서 각 과목이름, 학점, 등급을 받는다. 그리고 만약 등급이 pass인 경우에는 이를 포함시키지 않으니 반복문 안의 if문을 만들어 pass 인 경우만을 제외하여 학점 * 등급을 계산하고, 미리 정의한 result에 넣어준다. total 학점에도 따로 넣어주어야 한다. F인 경우에는 dictionary 에 0으로 정의했으므로 따로 F에 대한 if문을 작성할 필요는 없다. 예제 출력을 보면 6자리 출력이니 이를 설정해주면 끝!

n = 20

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(n):
    subject, credit, grade = input().split()
    credit = float(credit)
    if grade != 'P':
        total += credit
        result += credit * grade_dict[grade]
print('{:.6f}'.format(result / total))