⌨️ Algorithms/백준 [Python] 백준 2754번_학점계산 2023. 3. 15. 22:57 - https://www.acmicpc.net/problem/2754 2754번: 학점계산 어떤 사람의 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 www.acmicpc.net 어떤 사람의 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초 메모리 제한: 128 MB """ 입출력 예시) A0 -> 4.0 """ ## 의사코드 ## # 성적의 앞글자와 뒷글자, 평점의 앞글자와 뒷글자로 나눠서 보기 # + -> .3 # 0 -> .0 # - -> .7 # A ~ D -> 4 ~ 1 # F = 0.0 통과한 코드 grade = input() score = 4.3 # 만점에서 시작 for i in range(2): # 성적의 앞글자 if i == 0: if grade[i] == 'A': score = score elif grade[0] == 'B': score -= 1.0 elif grade[i] == 'C': score -= 2.0 elif grade[i] == 'D': score -= 3.0 # F인 경우, 평점은 0.0 else: score = 0.0 break # 성적의 뒷글자 else: if grade[i] == '0': score -= 0.3 elif grade[i] == '-': score -= 0.6 # 소수 두 번째 자리에서 반올림 print(round(score, 1)) 성적을 key, 평점을 value로 해서 모든 성적에 대한 평점 값을 딕셔너리로 생성해서 풀면 더 쉽게 풀었을 수도 있지만 딕셔너리에 그냥 값을 하나하나 다 입력하는 것보다 규칙을 찾아서 평점을 직접 계산하도록 구현해 봤다. 마지막에 정답을 출력할 때, 소수 두 번째 자리에서 반올림하지 않으면 다른 값이 나와서 꼭 반올림해줘야 한다! 참고) https://jsikim1.tistory.com/223 Python 반올림(round), 올림(ceil), 내림(floor), 소수점 버림(trunc) 하는 방법 Python 반올림(round), 올림(ceil), 내림(floor), 소수점 버림(trunc) 하는 방법 Python 에서 반올림, 올림, 내림, 소수점 버림 하는 방법을 알려드리도록 하겠습니다. 목차 올림 하는 방법 - math.ceil() 내림 하 jsikim1.tistory.com 공유하기 게시글 관리 MONZHELD '⌨️ Algorithms > 백준' 카테고리의 다른 글 [Python] 백준 13163번_닉네임에 갓 붙이기 (0) 2023.03.17 [Python] 백준 20291번_파일 정리 (0) 2023.03.16 [Python] 백준 2789번_유학 금지 (0) 2023.03.14 [Python] 백준 2495번_연속구간 (0) 2023.03.13 [Python] 백준 1264번_모음의 개수 (0) 2023.03.12 Contents 당신이 좋아할만한 콘텐츠 [Python] 백준 13163번_닉네임에 갓 붙이기 2023.03.17 [Python] 백준 20291번_파일 정리 2023.03.16 [Python] 백준 2789번_유학 금지 2023.03.14 [Python] 백준 2495번_연속구간 2023.03.13 댓글 0 + 이전 댓글 더보기