728x90
▶ BufferedReader, StringTokenizer, stream을 활용한 간단한 문제가 있어 정리해보고자 합니다.
문제설명
입력 & 출력
나의 풀이
빠른 입력을 위해 BufferedReader 클래스를 사용했습니다.
각 테스트 케이스를 개수 C를 받아줍니다. 그리고 각 C만큼 for문을 돌려주고, StrinTokenizer를 사용하여 각 테스트케이스를 공백을 기준으로 나눠줍니다.
학생의 수 N을 int형으로 변환 후 각 테스트의 점수를 담을 길이 N의 배열을 만들어줍니다.
그리고 각 테스트 케이스의 학생의 수만큼 반복하여 배열을 초기화해줍니다.
Stream API의 average() 메서드를 사용하여 점수를 담은 배열의 평균을 구해줍니다. 이때 평균의 타입을 실수형이기 때문에 float타입으로 받아줍니다.
각 테스트 케이스의 평균을 넘는 학생의 수를 카운트할 변수 cnt를 초기화해 주고, 다시 한번 for문을 사용하여 각 테스트 케이스의 점수를 순회하면서 평균을 넘는 학생의 수를 카운트해 줍니다.
마지막으로 30번째 줄에서 백분율을 구해주고, 출력 format을 사용하여 소수점 아래 3자리로 제한하고% f를 사용하여 float형식으로 출력합니다.
참고 ❗
'Coding Test > 백준' 카테고리의 다른 글
[백준] 벌집 (BufferedReader, 2292번) (0) | 2024.05.22 |
---|---|
[백준] 소수 찾기 (BufferedReader, StringTokenizer, 1978번) (0) | 2024.05.21 |
[백준] 단어 공부 (Java, 1157번, BufferedReader, charAt) (0) | 2024.05.20 |
[백준] 주사위 세개 (Java, 2480번, BufferedReader, Stream) (0) | 2024.05.19 |
[백준] 숫자의 개수 (Java, 2577번, BufferedReader, charAt()) (0) | 2024.05.19 |