군만두의 IT 공부 일지

[백준] 25206번: 너의 학점은 (파이썬) 본문

코딩테스트/백준

[백준] 25206번: 너의 학점은 (파이썬)

mandus 2024. 4. 21. 23:59

✅문제: 25206번

 

25206번: 너의 평점은

인하대학교 컴퓨터공학과를 졸업하기 위해서는, 전공평점이 3.3 이상이거나 졸업고사를 통과해야 한다. 그런데 아뿔싸, 치훈이는 깜빡하고 졸업고사를 응시하지 않았다는 사실을 깨달았다! 치

www.acmicpc.net

 

📌개념정리

(1) 리스트 인덱싱

  • 정의: 파이썬에서 연속적인 데이터를 저장하는 자료구조
  • 특정 요소를 찾을 때, 인덱싱을 통해 각 요소에 접근할 수 있음.

📌문제풀이

주어진 과목들의 학점을 기반으로 평균 학점을 계산하는 문제임. 과목 이름, 학점 단위, 그리고 성적이 입력값으로 주어지며, P는 Pass/Fail 과목으로 평균 계산에서 제외됨.

1. 각 과목의 학점 단위와 성적을 분리하여 처리
2. P가 아닌 성적은 평균 계산에 포함되며, 해당 과목의 가중치를 총 결과에 추가
3. 총 결과를 총 학점 단위로 나누어 평균을 계산
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' :
        total += p
        result += p * grade[rating.index(g)]	# 현재 과목의 가중치(학점*평점)를 더함

print('%.6f' % (result / total))

 

📌후기

  • 실제 학점 계산 로직을 반영하면서 리스트와 반복문, 조건문을 적절히 사용해 구현함.
  • 입력이 복잡해서, 코드를 어떻게 짜야할지 고민했었음.

📌참고자료

1) 위키독스, "02-3 리스트 자료형", https://wikidocs.net/14

Comments