본문 바로가기

컴퓨터/백준 알고리즘

백준 알고리즘 9498번: 시험 성적 [C++]

문제 출처: www.acmicpc.net/problem/9498

 

9498번: 시험 성적

시험 점수를 입력받아 90 ~ 100점은 A, 80 ~ 89점은 B, 70 ~ 79점은 C, 60 ~ 69점은 D, 나머지 점수는 F를 출력하는 프로그램을 작성하시오.

www.acmicpc.net

 

1. 코드

 

2. 풀이

처음 이 문제를 보고 if 문을 이용하여 문제를 해결할지, switch문으로 이 문제를 해결할지 생각을 해보았는데 조금 더 정리된 느낀이 있는 switch문을 이용하는게 좋을 것 같아서 해결하였다.

int score;
cin >> score;

우선 점수를 입력한다.

switch (score / 10)

그리고 switch에 score의 점수를 10으로 나눈 몫으로 한다. 왜냐하면 100/10 = 10, 90/10 =9, 80/10 = 8 ··· 등 이렇게 나오기에 이 값들을 이용하여 점수를 구할 것이다.

case 10:
case 9:
    cout << "A";
    break;
case 8:
    cout << "B";
    break;
case 7:
    cout << "C";
    break;
case 6:
    cout << "D";
    break;
default:
    cout << "F";
    break;

switch문에 입력한 값이 case 문의 값과 동일하면 실행이 된다. 즉, case 10, 9는 90~100의 수일 경우고 8은 80, 7은 70, 6은 60이다. 그리고 default는 그 어디에도 해당되는 경우가 없을 경우 출력하게 한다. 그렇게해서 정상적으로 출력되는 것을 알 수 있다.