[Baekjoon] 백준 25206번 Python

방선생·2025년 2월 28일
0

Baekjoon

목록 보기
23/24

백준 25206번

rank_list = ['A+', 'A0', 'B+', 'B0', 'C+', 'C0', 'D+', 'D0']
major_rating = 0
total_score = 0
sum = 0

for _ in range(20):
  subject, score, rank = input().split()
  score = float(score)
  
  if rank != 'P':
    if rank in rank_list:
      rank = 4.5 - rank_list.index(rank)*0.5
    
    elif rank == 'F':
      rank = 0
    
    total_score += score * rank
    sum += score


major_rating = total_score / sum

print(round(major_rating, 6))

코드 설명

  1. 과목 등급 리스트와 전공평점, 학점x과목평점, 학점의 총합의 변수 설정

  2. 수강한 과목이 20개이기 때문에 반복문 20번으로 입력을 받음

  3. 학점을 문자열에서 실수형으로 변경

  4. P는 계산에서 제외해야 하기 때문에 P가 아닌 경우만 판단

  5. 등급을 F가 아닐 경우 과목평점으로 변경 F일 경우 0

  6. 20과목에 대한 학점x과목평점과 학점의 총합을 구함

  7. 전공평점을 계산 후 소수점 6자리까지 출력
profile
AI & Robotics

0개의 댓글