# 너의 평점은
rating = {'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}
transcript = []
# P는 계산에서 제외이므로 그 외 저장하기
for _ in range(20):
s = list(input().split())
if s[2] == 'P':
pass
else:
transcript.append(s)
grades = 0 # 학점 합
sum = 0 # 학점*등급 합
for i in range(len(transcript)):
sum += float(transcript[i][1]) * float(rating[transcript[i][2]])
grades += float(transcript[i][1])
print(f'{sum/grades:.6f}')
불필요한 transcript list를 없애고 for문도 1개로 줄이기
input도 더 간편하게 바꾸기
rating = {'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}
grades = 0 # 학점 합
sum = 0 # 학점*등급 합
# P는 계산에서 제외이므로 그 외 저장하기
for _ in range(20):
a, b, c = list(input().split())
if c == 'P':
continue
else:
sum += float(b) * float(rating[c])
grades += float(b)
print(f'{sum/grades:.6f}')
'백준 - 파이썬 > 단계별 - 6 (심화1)' 카테고리의 다른 글
[백준/파이썬] 1316번 그룹 단어 체커 (0) | 2025.05.09 |
---|---|
*[백준/파이썬] 2941번 크로아티아 알파벳 (1) | 2025.05.09 |
*[백준/파이썬] 1157번 단어 공부 (0) | 2025.05.09 |
*[백준/파이썬] 2444번 별 찍기 - 7 | 반복문 거꾸로 돌리기 (0) | 2025.05.07 |