코딩테스트/백준
[백준 - 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);
}
}