coding test

[파이썬] 2754. 학점계산

잔망루피 2021. 4. 30. 09:15

문제

어떤 사람의 C언어 성적이 주어졌을 때, 평점은 몇 점인지 출력하는 프로그램을 작성하시오.

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

입력

첫째 줄에 C언어 성적이 주어진다. 성적은 문제에서 설명한 13가지 중 하나이다.

출력

첫째 줄에 C언어 평점을 출력한다.

예제 입력 1

A0

예제 출력 1

4.0

 

 

나의 풀이

 

from collections import defaultdict
lst=[["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]]
dic=defaultdict(list)
for l in lst :
    dic[l[0]]=l[1]
print(dic[input()])

 

딕셔너리에서 입력 받은 성적의 평점을 출력한다.

 

 

💦 다른 사람 풀이

 

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

score = input()
print(grade[score])

 

직접 딕셔너리를 만듦.

나보다 20ms 빠르다.

 

 

문제 출처 💁‍♀️ 백준

반응형

'coding test' 카테고리의 다른 글

[파이썬] 9012. 괄호  (0) 2021.04.30
[파이썬] 이번학기 평점은 몇점?  (0) 2021.04.30
[파이썬] 11718. 그대로 출력하기  (0) 2021.04.29
[파이썬] 1157. 단어 공부  (0) 2021.04.28
[파이썬] 10809. 알파벳 찾기  (0) 2021.04.28