반응형
전공과목, 학점, 전공평점을 입력받고 학점평균을 구하는 문제이다.
먼저 전체 코드를 보자.
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
double sum = 0;
double count = 0;
for (int i = 0; i < 20; i++) {
String object = sc.next();
double val = sc.nextDouble();
String grade = sc.next();
count += val;
switch (grade) {
case "A+":
sum += val * 4.5;
break;
case "A0":
sum += val * 4.0;
break;
case "B+":
sum += val * 3.5;
break;
case "B0":
sum += val * 3.0;
break;
case "C+":
sum += val * 2.5;
break;
case "C0":
sum += val * 2.0;
break;
case "D+":
sum += val * 1.5;
break;
case "D0":
sum += val * 1.0;
break;
case "F":
sum += val * 0;
break;
case "P":
count -= val;
break;
}
}
System.out.println(sum / count);
sc.close();
}
}
나는 switch-case 문을 이용했는데, 각 등급별로 학점을 계산해 sum 변수에 추가하고, 학점을 count 변수에 추가했다.
주의할 점은 등급이 P인 과목은 학점 계산에서 제외되므로 P인 경우만 count에서 해당 학점을 빼주면(혹은 추가하지 않으면)된다.
반응형
'Java > 백준알고리즘' 카테고리의 다른 글
[Java] 백준알고리즘 #2566 최댓값 (0) | 2023.10.04 |
---|---|
[Java] 백준알고리즘 #1316 그룹 단어 체커 (0) | 2023.10.04 |
[Java] 백준알고리즘 #11718 그대로 출력하기 (0) | 2023.10.03 |
[Java] 백준알고리즘 #5622 다이얼 (2) | 2023.10.03 |
[Java] 백준알고리즘 #2908 상수 (0) | 2023.10.03 |