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
'Algorithm > 백준알고리즘' 카테고리의 다른 글
[백준알고리즘] 함수 2단계 -4673번 셀프 넘버(JAVA) (0) | 2022.06.30 |
---|---|
[백준알고리즘] 함수 1단계 -15596번 정수 N개의 합(JAVA) (0) | 2022.06.29 |
[백준알고리즘] 1차원 배열 6단계 -8958번 OX퀴즈(JAVA) (0) | 2022.06.27 |
[백준알고리즘] 1차원 배열 5단계 -1546번 평균(JAVA) (0) | 2022.06.24 |
[백준알고리즘] 1차원 배열 4단계 -3052번 나머지(JAVA) (0) | 2022.06.23 |