백준(Python) 풀이/수학

백준(Python) 2755번 이번학기 평점은 몇점? 풀이

개발윗미 2021. 11. 11. 09:41

Python으로 구현한 2755번 이번학기 평점은 몇점? 문제 풀이입니다.

 

https://www.acmicpc.net/problem/2755

 

2755번: 이번학기 평점은 몇점?

첫째 줄에, 백준이가 이번 학기에 들은 과목 수가 주어진다. 둘째 줄부터 N개의 줄에 각 과목의 과목명, 학점, 성적이 주어진다. 과목명은 알파벳 소문자와 숫자, 그리고 밑줄 (_)로만 이루어져 있

www.acmicpc.net


diction = {"A+":4.3, "A0":4.0, "A-":3.7, "B+":3.3, "B0":3.0, "B-":2.7,
	"C+":2.3, "C0":2.0, "C-":1.7, "D+":1.3, "D0":1.0, "D-":0.7, "F":0.0}

t = int(input())

count = 0
result = 0
for _ in range(t) :
  a, b, c = input().split()
  b = int(b)
  result += b * diction[c]
  count += b

print("%.2f" % (round(result/count + 10**-10, 2)))

 

1. 문제에서 제시되어 있는 성적을 딕셔너리로 구성한다.

 

2. 입력받은 각 과목의 학점(b) * 성적(diction[c])을 result에 계속해서 누적해간다.

 

3. 총 학점을 의미하는 count에 각 과목의 학점(b)를 누적한다.

 

4. 최종적으로 출력 시 round( )를 이용하여 result / count를 계산하여 소수점 둘째 자리까지 출력한다.