반응형
이 포스팅은 자바 8버전을 기준으로 풀이됐습니다.
[ 백준 - 9495 ]
문제
시험 점수를 입력받아 90 ~ 100점은 A, 80 ~ 89점은 B, 70 ~ 79점은 C, 60 ~ 69점은 D, 나머지 점수는 F를 출력하는 프로그램을 작성하시오.
입력
첫째 줄에 시험 점수가 주어진다. 시험 점수는 0보다 크거나 같고, 100보다 작거나 같은 정수이다.
출력
시험 성적을 출력한다.
코드
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
import java.util.Scanner;
public class Main{
public static void main(String[]args) {
Scanner sc = new Scanner(System.in);
int i_num = sc.nextInt();
if(i_num<=100 && i_num>=90) {
System.out.print("A");
}
else if(i_num<=89 && i_num>=80) {
System.out.print("B");
}
else if(i_num<=79 && i_num>=70) {
System.out.print("C");
}
else if(i_num<=69 && i_num>=60) {
System.out.print("D");
}
else{
System.out.print("F");
}
}
}
|
풀이
지난 1000번과 1001번 코드 포스팅에서는 BufferedReader를 활용하여 풀었는데 이번 포스팅에서는 문제를 읽고 Scanner로 오랜만에 풀어야겠다는 생각이 들었다.
문제에 조건이 있다.
100~90 = A
89~80 = B
79~70 = C
69~60 = D
이후 나머지 낮은 점수는 F이다.
위 코드를 에러 사항을 줄이고 조금 더 완벽하게 동작할 수 있도록 하려면 try~catch에서 IOException을 활용하 예외 사항을 만들어준다.
-> 잘못된 값이 들어오는 경우!
범위에 대해서 더 명확하게 한다.
하지만 위 코드 자체가 엄청난 복잡성을 갖는 문제가 아니기 때문에 통과를 기준으로 문제를 해결했다.
코딩에는 다양한 정답이 존재하기 때문에 본인 스타일에서 최적화해서 문제를 풀 수 있도록 하는 것이 좋을 것 같다.
짧은 포스팅 읽어주셔서 감사드립니다.
오타나 문제에 대해서 의문이 드는 부분은 댓글 부탁드리겠습니다!
다음 포스팅 때 뵙겠습니다!
반응형
'백준 - Java' 카테고리의 다른 글
[ 백준 - 1929] [Java] 소수 구하기 (0) | 2022.05.05 |
---|---|
[백준 - 1546] [Java] 평균 (0) | 2022.05.02 |
[백준 - 2753] [Java] 윤년 (0) | 2022.05.01 |
[백준 - 1001] [Java] A-B (0) | 2022.04.24 |
[백준 - 1000] [Java] A+B (0) | 2022.04.23 |