반응형
https://www.acmicpc.net/problem/2754
- 문제
- 문제 풀이
백준 2754번 학점계산은 브론즈 5 난이도의 구현 및 문자열 문제이다. 이 문제에서는 입력으로 성적이 주어지고 그 성적의 평점을 출력하면 된다.
이 문제를 보면 패턴을 찾을 수 있다. 바로 A0, B0, C0, D0은 각각 4.0, 3.0, 2.0, 1.0점이고 +들은 이 평점에서 0.3을 더한 값이다. 그리고 -들은 이 평점에서 0.3을 뺀 값이다. 따라서, 이 13가지들을 모두 if문으로 입력받지 말고 A인지, B인지, C인지, D인지만 if문으로 구별을 한다. 그리고 +인지 -인지 구분하고 0.3을 더할지 뺄지를 결정하면 된다. 만약에 F면 그대로 0.0을 출력한다.
이렇게 하면 코드를 훨씬 더 짧고 간결하게 쓸 수 있다.
자세한 코드는 밑에 있다.
- 코드
import java.io.*;
import java.util.*;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String s = br.readLine();
double grade = 0; //학점
char c = s.charAt(0);
if (c == 'A') {
grade = 4;
} else if (c == 'B') {
grade = 3;
} else if (c == 'C') {
grade = 2;
} else if (c == 'D') {
grade = 1;
} else {
System.out.print("0.0");
return;
}
c = s.charAt(1);
if (c == '+') {
grade += 0.3;
} else if (c == '-') {
grade -= 0.3;
}
System.out.print(grade);
}
}
반응형
'백준' 카테고리의 다른 글
[백준] 2744번 : 대소문자 바꾸기 – JAVA [자바] (0) | 2022.08.07 |
---|---|
[백준] 11382번 : 꼬마 정민 – JAVA [자바] (0) | 2022.08.07 |
[백준] 2875번 : 대회 or 인턴 – JAVA [자바] (0) | 2022.08.07 |
[백준] 2010번 : 플러그 – JAVA [자바] (0) | 2022.08.07 |
[백준] 10807번 : 개수 세기 – JAVA [자바] (0) | 2022.08.06 |
댓글