/ ALGORITHM

평균은 넘겠지

평균은 넘겠지


import java.io.*;
import java.util.StringTokenizer;


/* 1. 테스트 케이스 개수 입력
* 2. 학생수와 점수 입력
* 3. 첫번째 입력한값이 학생수 저장
* 4. 각테스트 케이스마다 합과 평균이상인 학생이 다르므로 초기화
* 5. 배열에 점수저장 및 점수합, 평균값 계산
* 6. 각 점수와 평균을 비교해서 평균이 넘으면 count;
* 7. 평균을 넘은사람/총인원 *100 & 소수점 3째자리 반올림해서 출력.
*/
public class Main{
    public static void main(String args[]) throws IOException{
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
        StringTokenizer st;

        //1
        int c = Integer.parseInt(br.readLine());


        for(int i=0; i<c; i++) {
            //2
            st = new StringTokenizer(br.readLine());
            //3
            int studentN = Integer.parseInt(st.nextToken());
            int[] arr = new int[studentN];
            //4
            int count =0;
            int sum=0;

            //5
            for(int j=0; j<studentN; j++) {
                arr[j] = Integer.parseInt(st.nextToken());
                sum += arr[j];
            }
            double avg = (double)(sum/studentN);

            //6
            for(int value : arr) {
                if(value > avg) {
                    count++;
                }
            }
            //7
            String result = String.format("%.3f", (((double)count/studentN)*100))+"%";
            bw.write(result + "\n");

        }
        bw.flush();
        br.close();
        bw.close();
    }
}

문제출처