백준 25206번 - 너의 평점은
백준 25206번 바로가기 나의 풀이 import sys rule={'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} score = 0.0 n = 0.0 for sbj in sys.stdin: sbj = sbj.split() if sbj[2] == 'P': pass else: score += rule[sbj[2]] * float(sbj[1]) n += float(sbj[1]) print(score/n) CODE REVIEW 문제 조건에서 20줄에 걸쳐 성적이 제공된다고 했는데, 일반적인 n줄의 성적에도 적용할 수 있도록 범용성을 높이기 위해 for sbj in sys.stdin:으로 계속해서 input을 받아주었다. 나의 경우 rule이라는 학점에 대한 정보를 dict에 담았는데, 다른 코드들을 살펴보니 g=['P','F','D0','D+','C0','C+','B0','B+','A0','A+'] 이런 리스트를 만들고 g.index(grade) * 0.5하는 식으로 학점을 구했다. 그런데 사실 이건 list보다 dict이 깔끔하지 않나 생각된다.