JAVA - 백준 [BAEK JOON]/조건문
[백준] 9498번 : 시험 성적 - JAVA (자바)
_ys2
2024. 4. 20. 20:02
728x90
반응형
https://www.acmicpc.net/problem/9498
9498번: 시험 성적
시험 점수를 입력받아 90 ~ 100점은 A, 80 ~ 89점은 B, 70 ~ 79점은 C, 60 ~ 69점은 D, 나머지 점수는 F를 출력하는 프로그램을 작성하시오.
www.acmicpc.net
문제
문제 풀이
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int a = sc.nextInt();
if (a >= 90 && a <= 100) {
System.out.println("A");
} else if (a >= 80 && a <= 89) {
System.out.println("B");
} else if (a >= 70 && a <= 79) {
System.out.println("C");
} else if (a >= 60 && a <= 69) {
System.out.println("D");
} else {
System.out.println("F");
}
sc.close();
}
}
코드 풀이
Scanner sc = new Scanner(System.in); // 사용자를 입력을 받기 위해 Scanner 객체를 생성한다.
사용자를 입력을 받기 위해 Scanner 객체를 생성한다.
int a = sc.nextInt(); // 사용자로부터 정수를 입력받아 변수 a에 저장
사용자로부터 정수를 입력받아 변수 a에 저장한다.
if (a >= 90 && a <= 100) { // 만약 입력받은 점수가 90 이상 100 이하라면
System.out.println("A"); // "A"를 출력
} else if (a >= 80 && a <= 89) { // 입력받은 점수가 80 이상 89 이하라면
System.out.println("B"); // "B"를 출력
} else if (a >= 70 && a <= 79) { // 입력받은 점수가 70 이상 79 이하라면
System.out.println("C"); // "C"를 출력
} else if (a >= 60 && a <= 69) { // 입력받은 점수가 60 이상 69 이하라면
System.out.println("D"); // "D"를 출력
} else { // 그 외, 입력받은 점수가 0부터 59까지의 범위에 속하는 경우
System.out.println("F"); // "F"를 출력
}
입력받은 점수에 따라 해당하는 등급을 출력합니다. 범위에 따라 "A", "B", "C", "D", "F", 등급을 출력한다.
sc.close(); // 시스템 자원 누수를 방지하기 위해 Scanner 개체를 닫는다.
입력이 끝났으므로 Scanner를 닫아서 자원을 해제합니다.
피드백 & 정리
찾아보니깐 else 블록에서 사용할 필요가 없다고 하고, 중괄호는 단일 문장을 감싸는 데 사용한다고 한다.
더 개선할 수 있는 코드를 생각해 보니 switch - case 문으로 사용해서 코드를 더 간편하게 만들 수 있을 거 같다. 또한, 등급과 점수의 관계를 배열로 관리해서 코드를 더 효율적으로 만들 수 있다고도 한다.
아직 나는 배울게 엄청 더 많지만 나 혼자 뭔가 많이 뒤처지고 늦어지는 느낌적이 아닌 느낌이닼ㅋㅋ

깃 허브 코드
Algorithm_Judge/boj/java/step/b_02_conditional_statement/p_9498.java at main · CHUNYOUNGSANG/Algorithm_Judge
Contribute to CHUNYOUNGSANG/Algorithm_Judge development by creating an account on GitHub.
github.com
반응형