[★2][백준9498번]시험 성적 (JAVA)
카테고리: BKJN
태그: Algorithm Java Coding Test
[★2][백준9498번]시험 성적 (JAVA)
9498번 문제 ☞ https://www.acmicpc.net/problem/9498
난이도 ☞ [★2]
시험 성적
- 문제
- 시험 점수를 입력받아 90 ~ 100점은 A, 80 ~ 89점은 B, 70 ~ 79점은 C, 60 ~ 69점은 D, 나머지 점수는 F를 출력하는 프로그램을 작성하시오.
- 첫째 줄에 시험 점수가 주어진다. 시험 점수는 0보다 크거나 같고, 100보다 작거나 같은 정수이다.
-
시험 성적을 출력한다.
예제입력 예제출력 100 A
내가 푼 풀이
이번 문제도 이전 문제와 같이 입력을 받아 조건을 부여하여 조건에 따라 출력되게 하는 방법인데, 이는 if-else
혹은 if-else if-else
를 사용하여 구현하는 것이다. 입력받는 방식은 여러가지가 있지만 제일 쉬운 방식으로 구현하였다.
[ 풀이 1 ]
메모리 :
17712KB
시간 :208ms
Scanner
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
int a = s.nextInt();
s.close();
if (a >= 90) {
System.out.println("A");
} else if (a >= 80) {
System.out.println("B");
} else if (a >= 70) {
System.out.println("C");
} else if (a >= 60) {
System.out.println("D");
} else {
System.out.println("F");
}
}
}
위의 방식처럼 할 수도 있지만, BufferedReader
를 사용하여 구현을 할 수도 있으며, 각각 Scanner
와BufferedReader
방식에 삼항 연산자를 사용하여 작성을 할 수도 있다. 우선 BufferedReader
방식의 코드 구현이다. 아래 코드 참조.
[ 풀이 2 ]
메모리 :
14176KB
시간 :124ms
BufferedReader
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int a = Integer.parseInt(br.readLine());
if(a >= 90) {
System.out.println("A");
}
else if(a >= 80) {
System.out.println("B");
}
else if (a >= 70) {
System.out.println("C");
}
else if(a >= 60) {
System.out.println("D");
}
else {
System.out.println("F");
}
}
}
위의 각각 Scanner
와 BufferedReader
방식에 삼항 연산자를 사용하여 풀이한 방법이다. 풀이 3은 Scanner
에 삼항연산자를 사용한 것이다.
[ 풀이 3 ]
메모리 :
17692KB
시간 :212ms
Scanner - 삼항연산자
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
int a = s.nextInt();
s.close();
System.out.println((a >= 90) ? "A" : (a >= 80) ? "B" : (a >= 70) ? "C" : (a >= 60) ? "D" : "F");
}
}
[ 풀이 4 ]
메모리 :
14220KB
시간 :124ms
BufferedReader - 삼항연산자
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
int a = s.nextInt();
s.close();
System.out.println((a >= 90) ? "A" : (a >= 80) ? "B" : (a >= 70) ? "C" : (a >= 60) ? "D" : "F");
}
}
삼항연산자를 통해 어느 정도 코드를 정리할 수 있으며, 더 다른 응용을 보고 싶으시면 이 바로 전 게시물을 참고 하시면 될 것 같습니다.
댓글 남기기