import java.io.*;
import java.util.*;
public class Main {
public static void main(String[] args) throws Exception{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
int testCase = Integer.parseInt(br.readLine()); // testcase
for(int i = 0; i < testCase; i++) {
String inputVal = br.readLine(); // 학생수 & N명의 점수
int []inputArray = Arrays.stream(inputVal.split(" ")).mapToInt(Integer::parseInt).toArray();
double avgScore = 0.0; // 평균값
int sumScore = 0; // 전체 학생의 점수 총합
int studentCount = inputArray[0]; // 학생수
for(int j = 1; j < inputArray.length; j++) {
sumScore += inputArray[j];
if(j == inputArray.length -1) { // 마지막 점수 일때 평균을 구한다
avgScore = sumScore / studentCount;
}
}
int overAvgCount = 0; // 평균보다 넘는 학생의 수
for(int j = 1; j < inputArray.length; j++) {
if(inputArray[j] > avgScore) {
overAvgCount ++;
}
}
double avg = ( overAvgCount * 100 ) / (studentCount*1.0);
//1.0을 곱해줘야 double 형이 되어서 소숫점까지 출력됨
bw.write(String.format("%.3f",avg) + "%");
bw.write("\n");
}
bw.flush();
bw.close();
}
}
궁금한건 댓글 주세요
알고리즘에 최선의 답은 없습니다.
[백준>단계별로풀어보기>문자열>단어의 개수(1152)]JAVA풀이 (0) | 2020.03.02 |
---|---|
[백준>단계별로풀어보기>문자열>단어공부(1157)]JAVA풀이 (0) | 2020.02.11 |
[백준>단계별로풀어보기>문자열>숫자의 합]JAVA풀이 (0) | 2020.02.03 |
[백준>단계별로풀어보기>1차원배열>OX퀴즈]JAVA풀이 (0) | 2020.01.29 |
[백준>단계별로 풀어보기>입출력과 사칙연산>곱셈] JAVA 풀이 (0) | 2020.01.23 |
댓글 영역