YoungSoo

백준 - 평균은 넘겠지(JAVA 풀이) 본문

코딩테스트

백준 - 평균은 넘겠지(JAVA 풀이)

YoungSooSoo 2022. 7. 19. 00:34

대학기 새내기들은 대부분 자신이 반에서 평균을 넘는다고 생각한다고 한다. 나도 그랬다..

풀이

import java.util.Scanner;

public class avgover {
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);

        int a = sc.nextInt();//인원수

        for (int i = 0; i < a; i++) {
            int b[] = new int[sc.nextInt()];
            int sum = 0;//총점
            int avg = 0;//평균
            int stucount = 0; //평균을 넘는 학생 수
            double stupercent = 0;//평균을 넘는 학생 비율

            for (int j = 0; j < b.length; j++) {
                b[j] = sc.nextInt();//입력받은 값 저장
                sum += b[j];// 총점 저장
            }

            avg = sum / b.length;//평균 구하기

            for (int j = 0; j < b.length; j++) {
                if(b[j] > avg){
                    stucount++;//평균보다 높은 학생 수 증가
                }
            }
            stupercent = (double) stucount/b.length * 100;//비율 계산
            System.out.printf("%.3f", stupercent);
            System.out.println("%");
        }
    }
}

설명

1. 처음으로 인원수를 입력받아준다.

2. 반복문을 이용해 배열에 입력 값을 넣어주고 배열에 총점을 sum 변수에 저장한다.

3. 평균을 구해 avg변수에 넣고 반복문과 if문을 통해 평균보다 넘는 학생을 구해준다.

4. 형 변환을 통해 int를 double로 바꾸어 stupercent변수에 넣어주고 출력해준다.