코딩테스트/백준

[백준 - 25206] 너의 평점은 .java

머밍 2024. 9. 2. 16:24

https://www.acmicpc.net/problem/25206

 

 

 

 

내 풀이

등급에 따른 과목 평점이 정해져 있고 여기엔 P등급은 없다. 또한 P 등급은 계산에서 제외해야한다

=> 등급이 키, 과목 평점이 값인 해쉬맵을 만들었다. 

  • 입력받은 등급이 map의 키로 존재한다면 계산 => 여기서 P등급은 제외됨
  • 입력받은 학점과 해당 등급의 과목 평점(해쉬맵의 값)을 곱하여 계산
  • 학점의 총합으로 나눠야하기 때문에 따로 계산

해쉬맵 은근 재밌다~

import java.util.HashMap;
import java.util.Scanner;

class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);

        HashMap<String, Double> grade = new HashMap<>();
        grade.put("A+", 4.5);
        grade.put("A0", 4.0);
        grade.put("B+", 3.5);
        grade.put("B0", 3.0);
        grade.put("C+", 2.5);
        grade.put("C0", 2.0);
        grade.put("D+", 1.5);
        grade.put("D0", 1.0);
        grade.put("F", 0.0);

        int count = 0;
        double answer = 0.0;
        for(int i = 0; i < 20; i++){
            String ob = sc.next();//사용안함
            double score = sc.nextDouble();//학점
            String gradeV = sc.next();//등급

            if(grade.containsKey(gradeV)){//해당 등급의 과목 평점
                answer += score * grade.get(gradeV);//학점*과목 평점의 누적
                count += score;//학점의 총합
            }
        }
        
        System.out.println(answer/count);
        }

}