문제: https://www.acmicpc.net/problem/25206
1. 코드
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
double scoreSum = 0;
double creditSum = 0;
Map <String, Double> map = new HashMap<>();
map.put("A+", 4.5);
map.put("A0", 4.0);
map.put("B+", 3.5);
map.put("B0", 3.0);
map.put("C+", 2.5);
map.put("C0", 2.0);
map.put("D+", 1.5);
map.put("D0", 1.0);
map.put("F", 0.0);
while(sc.hasNext()) {
sc.next();
double credit = sc.nextDouble();
String score = sc.next();
if(score.equals("P")) continue;
creditSum += credit;
scoreSum += map.get(score) * credit;
}
System.out.println(scoreSum / creditSum);
}
}
2. 설명
HashMap을 이용하여 쉽게 해결하였다.
'컴퓨터 > 백준 알고리즘' 카테고리의 다른 글
백준 알고리즘 - 18110번: solved.ac [Java] (0) | 2023.09.01 |
---|---|
백준 알고리즘 - 2563번: 색종이 [Java] (0) | 2023.08.31 |
백준 알고리즘 10811번: 바구니 뒤집기 [Java] (0) | 2023.08.29 |
백준 알고리즘 - 10813번: 공 바꾸기 [Java] (0) | 2023.08.28 |
백준 알고리즘 - 10810번: 공 넣기 [Java] (0) | 2023.08.27 |