(구) solved ac class 문제들/class 1

[class 1]백준 시험 성적(9498번) 풀이 (C++/Python)

isekaipudding 2026. 2. 8. 12:30

문제 : 시험 성적(9498번)(Bronze V)

문제 링크 : https://www.acmicpc.net/problem/9498
출처 : Baekjoon Online Judge

 

문제 내용을 잘 읽어보면 조건을 다음과 같이 정리할 수 있어요.

조건 1 : 90점 이상 100점 이하 -> A

조건 2 : 80점 이상 90점 미만 -> B

조건 3 : 70점 이상 80점 미만 -> C

조건 4 : 60점 이상 70점 미만 -> D

조건 5 : 60점 미만 -> F

 

저번 문제에서 조건이 좀 더 많아진 문제입니다.

이것을 C++로 구현하면 다음과 같습니다.

#include <bits/stdc++.h>
 
using namespace std;
 
int main() {
    ios::sync_with_stdio(false);
    cin.tie(nullptr);

    int score;
    cin >> score;

    if(90 <= score && score <= 100) {
        cout << "A";
    } else if(80 <= score && score < 90) {
        cout << "B";
    } else if(70 <= score && score < 80) {
        cout << "C";
    } else if(60 <= score && score < 70) {
        cout << "D";
    } else {
        cout << "F";
    }
 
    return 0;
}

하지만 여기서 이 문제를 다르게 풀 수 있습니다.

if문 대신 switch문으로 변환할 수 있습니다.

점수에서 10을 나누면 100점은 10, 90~99는 9, 80~89는 8, ...이 나오게 됩니다.

switch 조건은 score / 10으로 하고 각 케이스는 10, 9, 8, 7, 6으로 하여 각각 출력하는 방식으로 구현할 수 있습니다.

#include <bits/stdc++.h>
 
using namespace std;
 
int main() {
    ios::sync_with_stdio(false);
    cin.tie(nullptr);

    int score;
    cin >> score;
    
    switch(score/10) {
        case 10:
            cout << "A";
            break;
        case 9:
            cout << "A";
            break;
        case 8:
            cout << "B";
            break;
        case 7:
            cout << "C" ;
            break;
        case 6:
            cout << "D";
            break;
        default:
            cout << "F";
            break;
    }
 
    return 0;
}

default는 그 외의 경우가 나온 경우 처리하는 케이스입니다.

switch문은 불연속적인 구간에서 더 빠르게 처리하는 장점이 존재하므로 이럴 때 switch문으로 해결할 수 있습니다.

 

그러면 같은 방식으로 Python에서는 어떻게 처리할까요?

Python에서는 switch문을 사용할 수 없습니다.

그러므로 Python에서는 if, elif, else로 구현할 수 있습니다.

import sys

input = sys.stdin.readline

score:int = int(input().rstrip())
CASE:int = score // 10

if CASE == 9 or CASE == 10 :
    print("A")
elif CASE == 8 :
    print("B")
elif CASE == 7 :
    print("C")
elif CASE == 6 :
    print("D")
else :
    print("F")