백준 4344 - 평균은 넘겠지

이승현·2022년 3월 25일
0

백준

목록 보기
12/20

문제

대학생 새내기들의 90%는 자신이 반에서 평균은 넘는다고 생각한다. 당신은 그들에게 슬픈 진실을 알려줘야 한다.

입력

첫째 줄에는 테스트 케이스의 개수 C가 주어진다.

둘째 줄부터 각 테스트 케이스마다 학생의 수 N(1 ≤ N ≤ 1000, N은 정수)이 첫 수로 주어지고, 이어서 N명의 점수가 주어진다. 점수는 0보다 크거나 같고, 100보다 작거나 같은 정수이다.

출력

각 케이스마다 한 줄씩 평균을 넘는 학생들의 비율을 반올림하여 소수점 셋째 자리까지 출력한다.

Solution

Java

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

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        int C = Integer.parseInt(br.readLine());
        for (int i = 0; i < C; i++) {
            int sum = 0;
            StringTokenizer st = new StringTokenizer(br.readLine());
            int st_num = Integer.parseInt(st.nextToken());
            int[] st_score = new int[st_num];
            for (int j = 0; j < st_num; j++) {
                st_score[j] = Integer.parseInt(st.nextToken());
                sum += st_score[j];
            }
            int count = 0;
            float avg = sum/st_num;
            for (int j = 0; j < st_num; j++) {
                if (st_score[j] > avg) {
                    count++;
                }
            }
            float over_rate = ((float)count/st_num)*100;
            System.out.println(String.format("%.3f",over_rate)+'%');
        }
    }
}
profile
Programming Beginner

0개의 댓글

관련 채용 정보