import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
double count = 0;
double total = 0;
for (int i = 0; i < 20; i++) {
String line = in.nextLine();
String[] words = line.split(" ");
{
if (!words[2].equals("P")) {
if (words[2].equals("A+"))
{
double word = Double.parseDouble(words[1]);
total+= word * 4.5;
count += word;
}
if (words[2].equals("A0"))
{
double word = Double.parseDouble(words[1]);
total+= word * 4.0;
count += word;
}
if (words[2].equals("B+"))
{
double word = Double.parseDouble(words[1]);
total+= word * 3.5;
count += word;
}
if (words[2].equals("B0"))
{
double word = Double.parseDouble(words[1]);
total+= word * 3.0;
count += word;
}
if (words[2].equals("C+"))
{
double word = Double.parseDouble(words[1]);
total+= word * 2.5;
count += word;
}
if (words[2].equals("C0"))
{
double word = Double.parseDouble(words[1]);
total+= word * 2.0;
count += word;
}
if (words[2].equals("D+"))
{
double word = Double.parseDouble(words[1]);
total+= word * 1.5;
count += word;
}
if (words[2].equals("D0"))
{
double word = Double.parseDouble(words[1]);
total+= word;
count += word;
}
if (words[2].equals("F"))
{
double word = Double.parseDouble(words[1]);
total+=0;
count += word;
}
continue;
}
}
}
System.out.println(total / count);
}
}
입력 받은 줄을 공백을 기준으로 과목명,학점,과목 평점이 주어진다. 나는 이때 공백을 기준으로 나누는 코드를 까먹어 지피티를 통해 String[] words = line.split(" ");란 코드를 다시 알게 되었다. .split(" "); 그 이후로는 뭔가 이런 유형의 문제들을 많이 풀어본 것 같아 그렇게 어렵지 않게 풀은 것 같다. 그 중 내가 깨달은 것은 문자를 정수로 바꾸는 Integer.parseInt()함수를 알고 있었는데 실수형인 double로 바꾸는 걸 몰라서 지피티를 통해 Double.parseDouble()을 알게 되었다. 과목 평점이 P면 계산에 포함을 안 시킨다는걸 생각한 후 words[1]을 문자에서 더블로 바꾸는법만 알면 쉽게 풀리는 것 같다.