[파이썬/python] 백준 25206번 : 너의 평점은 (🥈5)

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.0
}

score1 = 0
score2 = 0

for i in range(20):
    a,b,c = map(str,input().split())
    if c == "P":
        continue
    else:
        score1 += float(b) * dic[c]
        score2 += float(b)
print(score1/score2)

개인적으로 왜 은메달인지 모를 문제... 구현하는 거 자체는 엄청 쉬운 문제 같다.

 

for문을 좀더 간단하게 수정하면

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.0
}

score1 = 0
score2 = 0

for i in range(20):
    a,b,c = map(str,input().split())
    if c != "P":
        score1 += float(b) * dic[c]
        score2 += float(b)
print(score1/score2)

굳이 continue를 쓸 이유가 없었다.

comment