인하대학교 컴퓨터공학과를 졸업하기 위해서는, 전공평점이 3.3 이상이거나 졸업고사를 통과해야 한다. 그런데 아뿔싸, 치훈이는 깜빡하고 졸업고사를 응시하지 않았다는 사실을 깨달았다!
치훈이의 전공평점을 계산해주는 프로그램을 작성해보자.
전공평점은 전공과목별 (학점 × 과목평점)의 합을 학점의 총합으로 나눈 값이다.
인하대학교 컴퓨터공학과의 등급에 따른 과목평점은 다음 표와 같다.
P/F 과목의 경우 등급이 P또는 F로 표시되는데, 등급이 P인 과목은 계산에서 제외해야 한다.
과연 치훈이는 무사히 졸업할 수 있을까?
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
public static void main(String[] args) throws IOException {
InputStreamReader isr = new InputStreamReader(System.in);
BufferedReader br = new BufferedReader(isr);
double creditSum = 0;
double sum = 0;
for(int i=0;i<20;i++) {
String str = br.readLine();
String grade = str.substring(str.lastIndexOf(" ")+1);
String creditStr = str.substring(str.indexOf(" ")+1,str.lastIndexOf(" "));
Double credit = Double.parseDouble(creditStr);
switch(grade) {
case "A+": sum += credit*4.5; break;
case "A0": sum += credit*4.0; break;
case "B+": sum += credit*3.5; break;
case "B0": sum += credit*3.0; break;
case "C+": sum += credit*2.5; break;
case "C0": sum += credit*2.0; break;
case "D+": sum += credit*1.5; break;
case "D0": sum += credit*1.0; break;
case "F": sum += credit*0.0; break;
default: continue;
}
creditSum += credit;
}
double average = sum/creditSum;
System.out.println(average);
br.close();
}
}