문제(🖼️클릭시 이동)
풀이
조건
- 전공평점이 3.3 이상 / 전공평점은 전공과목별 (학점 × 과목평점)의 합을 학점의 총합으로 나눈 값
- 20줄에 걸쳐 치훈이가 수강한 전공과목의 과목명, 학점, 등급이 공백으로 구분되어 주어진다.
- P/F 과목의 경우 등급이 P또는 F로 표시되는데, 등급이 P인 과목은 계산에서 제외
- 정답과의 절대오차 또는 상대오차가 (10^{-4}) 이하이면 정답으로 인정한다.
풀이순서
- 딕셔너리로 등급에 따른 과목평점표를 만들어서 가져오자
- 학점과 과목평점만 가져와야 하는데 띄어쓰기가 있다 .split()
- 학점은 실수로 바꿔준다.
- 'P'인 학점은 제외하고 아닌 경우를 계산한다.
- 소수점 6자리수까지 출력한다.
코드
total = 0
result = 0
for _ in range(20):
s, p, g = input().split()
p = float(p)
if g != 'P':
total += p
result += p * dct[g]
print(f'{result / total:.6f}')