반응형
백준 BAEKJOON 25206번 너의 평점은 [PYTHON/파이썬]
<문제 출처> (SILVER Ⅴ)
https://www.acmicpc.net/problem/25206
<풀이>
문제에서 주어진 조건을 잘 고려하면 쉽게 풀 수 있다.
(등급이 P인 과목은 계산에서 제외해야 한다.)
먼저 등급과 등급에 해당하는 과목평점을 리스트로 만들어줬다.
딕셔너리로 구현하면 깔끔하게 코딩을 짤 수 있는데 나는 그냥 리스트 2개를 만들었다.
20줄에 걸쳐 과목명, 학점, 등급을 입력 받고
if 문을 사용하여 등급이 P이면 계산을 넘어가게끔 구현했다.
(학점 * 과목평점)의 합을 학점의 총합으로 나눠야하기 때문에
total 변수에는 학점을 더했고
result 변수에는 (학점 * 과목평점) 값을 더했다.
마지막에는 소수점 6자리로 표현하기 위해 %.6f 를 사용하여 출력하였다.
<코드>
rating = ['A+', 'A0', 'B+', 'B0', 'C+', 'C0', 'D+', 'D0', 'F']
grade = [4.5, 4.0, 3.5, 3.0, 2.5, 2.0, 1.5, 1.0, 0]
total = 0 # 학점 총합을 담을 변수
result = 0 # (학점 * 과목평점) 총합을 담을 변수
for _ in range(20) :
s, p, g = input().split()
p = float(p)
if g != 'P' : # 등급이 P인 과목은 계산 안함
total += p
result += p * grade[rating.index(g)]
print('%.6f' % (result / total))
반응형
'ALGORITHM > PYTHON' 카테고리의 다른 글
백준 BAEKJOON 2455번 지능형 기차 [PYTHON/파이썬] (0) | 2022.10.27 |
---|---|
백준 BAEKJOON 25286번 11월 11일 [PYTHON/파이썬] (0) | 2022.10.27 |
백준 BAEKJOON 2010번 플러그 [PYTHON/파이썬] (0) | 2022.10.25 |
백준 BAEKJOON 1357번 뒤집힌 덧셈 [PYTHON/파이썬] (0) | 2022.10.25 |
백준 BAEKJOON 20113번 긴급 회의 [PYTHON/파이썬] (0) | 2022.10.25 |