Java/Java 알고리즘

백준 10984번 내 학점을 구해줘 JAVA 구현해보기

kimc 2022. 2. 3. 22:16

```

백준 10984번 내 학점을 구해줘 JAVA 구현해보기

```

이번 글을 통해 배워갈 내용

  1.  백준 10984번 풀이

https://www.acmicpc.net/problem/10984

 

10984번: 내 학점을 구해줘

게으른 근우는 열심히 놀다가 문득, 자신의 학점 평균이 얼마일지 궁금해졌다. 학사시스템도 들어가기 귀찮아하는 근우를 위해 구해주도록 하자. 

www.acmicpc.net

 

백준 10984 내 학점을 구해줘는

난이도 브론즈 등급의 문제로서

 

가중치와 값이 주어질 때

가중치값을 고려한 평균을 출력하면 되는 문제입니다.

 


1분 정도 위에 링크를 방문하셔서 풀어보시고

안 풀리시는 경우에만 아래 해답을 봐주시면 감사하겠습니다.


가중치에 맞는 평균값을 출력합니다

소수 첫자리만 출력하는 건 Math.round를 활용하였습니다.

 Math.round(gradeSum / ratioSum * 10) / 10.0

 

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

public class Main {
    static final BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

    public static void main(String[] args) throws IOException {

        int testCase = Integer.parseInt(br.readLine());

        for (int i = 0; i < testCase; i++) {
            int subjectCount = Integer.parseInt(br.readLine());

            int ratioSum = 0;
            double gradeSum = 0;

            for (int j = 0; j < subjectCount; j++) {
                StringTokenizer st = new StringTokenizer(br.readLine(), " ");
                int ratio = Integer.parseInt(st.nextToken());
                double grade = Double.parseDouble(st.nextToken());

                ratioSum += ratio;
                gradeSum += ratio * grade;
            }

            System.out.println(ratioSum + " " + Math.round(gradeSum / ratioSum * 10) / 10.0);
        }

    }
}

 

 

읽어주셔서 감사합니다

 

무엇인가 얻어가셨기를 바라며

 

오늘도 즐거운 코딩 하시길 바랍니다 ~ :)

 


 

728x90