백준_25206번_너의평점은_자바
해당 문제는 문제에 쓰여있는 공식 [전공평점은 전공과목별 (학점 × 과목평점)의 합을 학점의 총합으로 나눈 값이다.]이 제일 중요한 부분 이었으며, 별 다른 특이점이나 알고리즘없이 구현문제?처럼 풀면 되는 부분이었다.
학점을 배열에 넣어서 반복문으로 조회하는 방법도 있겠지만 CASE문이 더 직관적이기에 해당 방법을 이용하였다.
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));
double result=0;
double sum=0;
for (int i = 0; i <20; i++) {
String[] s = br.readLine().split(" ");
double d = Double.parseDouble(s[1]);
double d2 = 0;
String grade = s[2];
if(grade.equals("P")) {
continue;
}else {
switch (grade) {
case "A+": d2 = 4.5;
break;
case "A0": d2 = 4.0;
break;
case "B+": d2 = 3.5;
break;
case "B0": d2 = 3.0;
break;
case "C+": d2 = 2.5;
break;
case "C0": d2 = 2.0;
break;
case "D+": d2 = 1.5;
break;
case "D0": d2 = 1.0;
break;
case "F": d2 = 0.0;
}
sum += d;
result = result+(d*d2);
}
}
System.out.printf("%.6f", result/sum);
}
}