본문 바로가기
알고리즘 풀이

[백준]9498번:시험 성적 - java 풀이

by 코디드 2023. 3. 25.

 

조건문 기본 풀이

 

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);
	}
}