Algorithm/백준알고리즘

[백준알고리즘] 1차원 배열 7단계 -4344번 평균은 넘겠지(JAVA)

개발자하소서 2022. 6. 28. 08:41
728x90
반응형
SMALL

📌문제

 

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

 

 📌입력

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

둘째 줄부터 각 테스트 케이스마다 학생의 수 N(1 ≤ N ≤ 1000, N은 정수)이 첫 수로 주어지고,

이어서 N명의 점수가 주어진다. 점수는 0보다 크거나 같고, 100보다 작거나 같은 정수이다.

 
 
 

📌출력

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

※ 참고 ※

 소수점 셋째자리까지 출력하기 위해서는 printf() 를 써서 %.3f 으로 출력 포멧을 지정해주어야 한다.

 

또한 printf 에서 "%" 라는 문자를 출력을 하려면 %% 로 적어주어야 % 라는 문자가 출력된다.

 

 

 

📌코드

import java.util.*;
public class Main{
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int c = sc.nextInt();
        // 테스트케이스의 개수
        int[] arr;
        // 배열 선언 
        for(int i=0; i<c; i++){
            int n = sc.nextInt();
            // 학생의 수 입력받기 
            arr = new int[n];
            // 학생수만큼 점수 입력받기 
            double sum = 0;
            // 성적의 합 double형 변수로 선언, 0으로 초기화 
            
            for(int j=0; j<n; j++){
                // 성적 입력받을 반복문 실행 
                int score = sc.nextInt();
                // 성적을 입력받기 
                arr[j] = score;
                // 성적을 배열에 저장
                sum += arr[j];
                // 입력받은 학생들의 점수들의 총점수를 저장 
            }
           double avg = (sum/n);
            // 평균 = 총점 / 학생의 수 
            // 평균을 계산하여 avg에 저장 
            double count =0;
            // 평균 넘는 학생의 수를 저장하는 변수 선언 
            
            for(int k=0; k<n; k++){
                if(arr[k] > avg) {
                    // 성적이 평균보다 높다면 
                    count++;
                    // 평균 넘는 학생의 수를 증가시킨다.
                }
            }
            System.out.printf("%.3f%%\n", (count/n)*100);
            // 각 케이스마다 한 줄씩 평균을 넘는 학생들의 비율을 반올림하여 소수점 셋째 자리까지 출력한다.
           // System.out.printf ("출력 서식", 출력할 내용);
           // 소수점 셋째자리까지 출력하기 위해서는 printf() 를 써서 %.3f 으로 출력 포멧을 지정해주어야 한다. 
           //printf 에서 "%" 라는 문자를 출력을 하려면 %% 로 적어주어야 % 라는 문자가 출력된다.  
        }
    }
}
728x90
반응형
LIST