728x90
https://www.acmicpc.net/problem/25206
문제 접근
- 처음엔 단순히 평점을 구한다고 생각해서 과목별 등급 / 과목수로 멋대로 생각했다.
- 전공평점은 전공과목별 (학점 × 과목평점)의 합을 학점의 총합으로 나눈 값이다. 라는 조건이 문제에 있었고 코드를 수정했다.
정답 코드
dic = {'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):
s, p, g = input().split()
p = float(p)
if g != 'P':
total += p
result += dic.get(g) * p
print(round(result / total, 6) )
결국 무엇이 문제인지 몰라 기존 코드에 다른 사람 코드를 보고 수정했다...
원래는 등급만 중요하다 생각해s[-2:]로 등급만 따로 분리했었다...
결론 : 문제를 잘 읽어보자.
참고한 블로그
https://calkolab.tistory.com/entry/baekjoon-python-25206
'알고리즘 > 백준 문제풀이' 카테고리의 다른 글
백준 - 10789(세로읽기, python) (0) | 2023.06.02 |
---|---|
백준 - 2444(별찍기-7, python) (0) | 2023.05.30 |
백준 - 11718(그대로 출력하기, python) (2) | 2023.05.29 |
백준- 11650(좌표 정렬하기, python) (0) | 2023.05.26 |
백준 - 2164(카드2, python) (0) | 2023.05.24 |