✏️ 문제풀이/백준

[백준/Java] 25206번 :: 너의 평점은

bono-hye 2024. 4. 20. 22:46

 

🌱 풀이

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;

// 전공평점 = (학점x과목평점) / 학점의 총합
// result = sum / scoreSum

public class Main
{
	public static void main(String[] args) throws IOException 
	{
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		
        double result = 0 ;				// 전공 평점 결과값
		double sum = 0;					// 학점x과목평점
		double scoreSum = 0;			// 학점의 총합
		
		for(int i=0; i<20; i++)
		{
			StringTokenizer st = new StringTokenizer(br.readLine(), " ");
			st.nextToken();										// 과목명 (계산에 필요하지 않으니 변수에 저장 X)
			double score = Double.parseDouble(st.nextToken());	// 입력한 학점
			String grade = st.nextToken();						// 입력한 등급
			
			if(!grade.equals("P"))	// grade가 P이면 계산에서 제외
			{
				scoreSum += score;
				switch (grade)
				{
				case "A+":
					sum += 4.5 * score;
					break;
				case "A0":
					sum += 4.0 * score;
					break;
               case "B+":
                    sum += 3.5 * score;
                    break;
                case "B0":
                    sum += 3.0 * score;
                    break;
                case "C+":
                    sum += 2.5 * score;
                    break;
                case "C0":
                    sum += 2.0 * score;
                    break;
                case "D+":
                    sum += 1.5 * score;
                    break;
                case "D0":
                    sum += score;
                    break;
                case "F":
                    sum += 0.0;
                    break;
				}
			}	
		}
		
		result = sum / scoreSum;
		System.out.println(result);	
	}
}

💡 정리

쉬운 것 같으면서도 계산식이 많아 조금 헷갈렸던 문제였다.