N개의 케이스에서 각각 평균을 넘는 학생의 비율을 계산하는 문제이다.
먼저 첫번째 줄에서 총 몇개의 케이스가 존재하는지 총 갯수 N을 입력받으며, 두번째 줄 부터는 첫 숫자는 해당 케이스의 학생 수가 주어진 후, 두번째 숫자부터는 각 학생들의 점수를 입력한다.
각 케이스마다 한 줄씩 평균을 넘는 학생들의 비율을 반올림하여 소수점 셋째 자리까지 출력한다.
먼저 총 케이스의 갯수 N을 입력받아주고, 이 숫자만큼 돌아가는 반복문을 만들어준다. 한 줄 당 한개의 케이스이므로 StringTokenizer를 통해 각각의 토큰으로 받아준 후, 첫번째 숫자는 학생 수 이므로 별도의 number변수에 저장하고 나머지 숫자들은 number의 수만큼 돌아가는 반복문을 통해 score배열에 담아준다.
그리고 Arrays.stream(배열).sum() / 배열길이 함수를 통해 score배열의 평균값 avg를 구해준다. 여기서 우리는 평균값인 avg보다 점수가 높은 학생의 수를 구해야 하므로, 반복문을 통해 score값이 평균값 avg보다 클 경우에만 count값이 증가하게 하여 평균보다 점수가 높은 학생 수 count를 구한다.
이제 총 학생 수 number와 평균보다 점수가 높은 학생 수 count도 구했으므로, 형식에 맞게 출력하면 끝!
'코딩테스트 연습' 카테고리의 다른 글
[백준] 15596번 - 정수 N개의 합 (PYTHON) (0) | 2022.12.11 |
---|---|
[백준] 8958번 - OX퀴즈 (JAVA) (0) | 2022.02.07 |
[백준] 1546번 - 평균 (JAVA) (0) | 2022.02.07 |
[백준] 2562번 - 최댓값 (JAVA) (0) | 2022.02.07 |
[백준] 2577번 - 숫자의 갯수 (JAVA) (0) | 2022.02.05 |