[백준 / BOJ] 25206번 너의 평점은 (Python)◎ 자료구조와 알고리즘/백준(BOJ) 문제풀이2024. 3. 14. 21:22
Table of Contents
반응형
문제 링크 : 25206번: 너의 평점은 (acmicpc.net)
🖥️ 시작하며
입력 예시를 보면 과목, 성적, 학점이 한 줄이 있고 20줄을 입력받는다고 미리 명시해두었다. 그렇다면 첫 시작을 아래와 같이 할 수 있다.
for _ in range(20):
subject, score, grade = input().rstrip().split()
score = float(score)
조건을 더 살펴보자.
전공평점
은학점 * 과목평점
의 합을학점의 총합
으로 나눈 값이라 한다.- 학점이
P
라면 성적에 반영하지 않는다. - 성적 기준은 다음 사진과 같다.
그렇다면 아래와 같이 추가적인 설계 후 답을 도출할 수 있다.
import sys
input = sys.stdin.readline
if __name__ == "__main__":
# 성적 기준
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,
}
scoreSum, res = 0, 0
for _ in range(20):
subject, score, grade = input().rstrip().split()
score = float(score)
if grade == "P":
continue
# 학점 공식
res += score * rating[grade]
scoreSum += score
print(res / scoreSum)
소감
이런 류의 문제를 해결할 때는 기준이 되는 표를 먼저 딕셔너리로 만드는 것이 편한 것 같다.
부록
참고문헌
반응형
'◎ 자료구조와 알고리즘 > 백준(BOJ) 문제풀이' 카테고리의 다른 글
[백준 / BOJ] 2563번 색종이 (Python) (0) | 2024.03.16 |
---|---|
[백준 / BOJ] 2566번 최댓값 (Python) (0) | 2024.03.15 |
[백준 / BOJ] 10998번 팰린드롬인지 확인하기 (Python) (0) | 2024.03.13 |
[백준 / BOJ] 2444번 별 찍기 - 7 (Python) (0) | 2024.03.12 |
[백준 / BOJ] 25304번 영수증 (C++, Python) (0) | 2022.09.14 |
@Reo :: 코드 아카이브
자기계발 블로그