Java/백준알고리즘

[Java] 백준알고리즘 #25206 너의 평점은

Sehyeok20 2023. 10. 3. 20:06
반응형

백준알고리즘 #25206 너의 평점은
백준알고리즘 #25206 너의 평점은

전공과목, 학점, 전공평점을 입력받고 학점평균을 구하는 문제이다.

먼저 전체 코드를 보자.

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        double sum = 0;
        double count = 0;
        for (int i = 0; i < 20; i++) {
            String object = sc.next();
            double val = sc.nextDouble();
            String grade = sc.next();
            count += val;
            switch (grade) {
                case "A+":
                    sum += val * 4.5;
                    break;
                case "A0":
                    sum += val * 4.0;
                    break;
                case "B+":
                    sum += val * 3.5;
                    break;
                case "B0":
                    sum += val * 3.0;
                    break;
                case "C+":
                    sum += val * 2.5;
                    break;
                case "C0":
                    sum += val * 2.0;
                    break;
                case "D+":
                    sum += val * 1.5;
                    break;
                case "D0":
                    sum += val * 1.0;
                    break;
                case "F":
                    sum += val * 0;
                    break;
                case "P":
                    count -= val;
                    break;
            }
        }
        System.out.println(sum / count);
        sc.close();
    }
}

나는 switch-case 문을 이용했는데, 각 등급별로 학점을 계산해 sum 변수에 추가하고, 학점을 count 변수에 추가했다.

주의할 점은 등급이 P인 과목은 학점 계산에서 제외되므로 P인 경우만 count에서 해당 학점을 빼주면(혹은 추가하지 않으면)된다.

반응형