2023. 11. 2. 14:41
전공평점 = (학점 * 과목평점) / 학점의 총합
학점 , 등급 변환
과목, 학점, 등급을 입력받은 후
등급이 P 가 아닐 때만, 전공 학점 (학점 * 과목평점) / 학점을 누적시키면된다.
누적된 학점의 총합 (P 등급이 제외된) 과 전공 학점을 구할 수 있다.
package org.example;
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
double totalScore = 0;
double sumOfGradeAndSubjectAveragePoint = 0;
for (int i = 0; i < 20; i++) {
String subject = "";
double score = 0;
String grade = "";
subject = sc.next();
score = sc.nextDouble();
grade = sc.next();
if(!grade.equals("P")){
sumOfGradeAndSubjectAveragePoint += majorScore(score, grade);
totalScore+= score;
}
}
double rst = result(totalScore, sumOfGradeAndSubjectAveragePoint);
System.out.println(rst);
}
public static double majorScore(double score, String grade){
// 등급 , 점수
Map<String, Double> convertTo = new HashMap<>();
convertTo.put("A+", 4.5);
convertTo.put("A0", 4.0);
convertTo.put("B+", 3.5);
convertTo.put("B0", 3.0);
convertTo.put("C+", 2.5);
convertTo.put("C0", 2.0);
convertTo.put("D+", 1.5);
convertTo.put("D0", 1.0);
convertTo.put("F", 0.0);
return score * convertTo.get(grade);
}
public static double result (double sum, double sumOfEachScore){
return sumOfEachScore / sum;
}
}
'AREA(지속적인 일상) > 02_백준' 카테고리의 다른 글
[백준] - 2738 - 행렬 덧셈 (0) | 2023.11.02 |
---|---|
[백준] - 2941 - 크로아티아 알파벳 (0) | 2023.11.01 |
[백준] - 1157 - 단어공부 (0) | 2023.10.31 |
[백준] - 10988 - 팰린드롬인지 확인하기 (0) | 2023.10.31 |
[백준] - 3003 - 킹, 퀸, 룩, 비숍, 나이트, 폰 (0) | 2023.10.30 |