문제
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.*;
public class class2_2 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc = new Scanner(System.in);
int score = sc.nextInt();
if(score>=90) {
System.out.println("A");
}
else if(score>=80) {
System.out.println("B");
}
else if(score>=70) {
System.out.println("C");
}
else if(score>=60) {
System.out.println("D");
}
else {
System.out.println("F");
}
}
}
스캐너를 이용해서 score를 입력받았다
그 후에 if문을 이용해서 A,B,C,D,F를 나누는 조건들을 나열해주고 해당하는 조건에 맞는 등급을 출력하도록 해주었다.
범위를 100 ~ 90, 89 ~ 80 이런 식으로 명시해주지 않았는데도 100점일 경우에 A가 출력되는 이유는
자바가 하이브리드 기법을 이용하기 때문이다.
90 이상이라는 조건을 만족시키고 그에 해당하는 System.out.println문을 실행함으로써 코드 수행이 끝나기 때문에
밑에 있는 조건들 중 만족되는 조건이 존재하지만 그에 해당하는 출력문은 실행이 안 되는 거다
하이브리드 기법이 뭔지 가물가물해서 다시 찾아봤다
컴파일 기법과 인터프리트 기법을 둘 다 사용하는 거란다
두 개의 기법을 섞어서 사용하는 만큼 두 기법의 좋은 점을 골라온 기법이다
'자바 > 백준' 카테고리의 다른 글
[백준 2884] 알람 시계 (0) | 2022.07.14 |
---|---|
[백준 14681] 사분면 고르기 (0) | 2022.07.14 |
[백준 4153] 직각삼각형 (0) | 2022.07.13 |
[백준 2753] 윤년 (0) | 2022.07.12 |
[백준 1330] 두 수 비교하기 (0) | 2022.07.12 |