조건문 기본 풀이
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
public static void main(String[] args) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int score = Integer.parseInt(br.readLine());
String grade= "F";
if(score>=90) {
grade= "A";
}else if(score>=80) {
grade= "B";
}else if(score>=70) {
grade= "C";
}else if(score>=60) {
grade= "D";
}else {
}
System.out.println(grade);
}
}
삼항연산자 풀이
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
public static void main(String[] args) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int score = Integer.parseInt(br.readLine());
String grade = (score>=90) ? "A" : (score>=80)? "B" : (score>=70)? "C" : (score>=60)? "D" : "F";
System.out.println(grade);
}
}
Switch문 풀이
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
public static void main(String[] args) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int score = Integer.parseInt(br.readLine());
String grade = "F";
switch (score/10) {
case 10:
case 9: grade = "A";
break;
case 8: grade = "B";
break;
case 7: grade = "C";
break;
case 6: grade = "D";
break;
}
System.out.println(grade);
}
}
정수 score는 정수 10으로 나누면 소수점을 버리고 정수값이 나오므로
90~99를 10으로 나누면 전부 9, 80~89를 10으로 나누면 전부 8, 70~79는 7, 60~69는 6이 나온다.
그러므로 switch문을 사용할 수 있다.
switch 문으로 풀다 보니 생각난 삼항연산자 풀이 2
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
public static void main(String[] args) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int score = Integer.parseInt(br.readLine());
int res = score/10;
String grade = res==10 || res==9 ? "A": res==8 ? "B" : res==7 ? "C" : res==6 ? "D" : "F";
System.out.println(grade);
}
}
'알고리즘 풀이' 카테고리의 다른 글
[백준]2884번:알람시계 - java 풀이 (0) | 2023.03.26 |
---|---|
[백준]14681번:사분면 고르기 - java 풀이 (0) | 2023.03.26 |
[백준]1330번: 두 수 비교하기 - java 풀이 (0) | 2023.03.25 |
[백준]2588번: 곱셈 - java 풀이 (0) | 2023.03.25 |
[백준]10869번:사칙연산 - java 풀이 (0) | 2023.03.23 |