[python] 백준 25206번 너의 평점은

도리·2025년 2월 27일

몇번을 틀렸는지 모르겠다..ㅎ;

구해야 하는 것

내 코드

  • grade dict 생성
  • chihoon []로 입력받기
  • P인 것 계산에서 제외
  • 전공평점 계산

순서로 코드를 짰다.

grade = {'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}
chihoon = []
for i in range(20):
    chihoon.append((input().split())[1:3])
num1 = 0
chihoon_grade = []
for j in chihoon:
    num1+= 1
    if j[1] != 'P':
        chihoon_grade.append(j)
    else :
        num1 -=1
# 전공과목별 (학점*과목평점)/학점총합
sumgrades = 0
hap = 0 
for i in range(num1):
    sumgrades += float(chihoon_grade[i][0]) * grade[chihoon_grade[i][1]]
    hap += float(chihoon_grade[i][0])
sum_grade = sumgrades / hap
print(sum_grade)

너무 코드가 복잡하다.

grade = {'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}

chihoon_grade = []
for i in range(20):
    i, p, g = input().split()
    if g != 'P':
        chihoon_grade.append((float(p), grade[g]))

sumgrades = sum(p * g for p, g in chihoon_grade)
hap = sum(p for p, i in chihoon_grade)

else:
    print(format(sumgrades / hap, ".6f"))
  1. chihoon_grade으로 20개의 input을 모두 받기.
  2. grade != 'P'일때만 chihoon_grade에 저장하기 . .
  • 이때 저장 : (,) 두개 항목을 동시에 할 수 있음.
profile
인공지능응용학과 졸업예정..

0개의 댓글