반응형
이 포스팅은 자바 8버전으로 풀이가 됐습니다.
문제
대학생 새내기들의 90%는 자신이 반에서 평균은 넘는다고 생각한다. 당신은 그들에게 슬픈 진실을 알려줘야 한다.
입력
첫째 줄에는 테스트 케이스의 개수 C가 주어진다.
둘째 줄부터 각 테스트 케이스마다 학생의 수 N(1 ≤ N ≤ 1000, N은 정수)이 첫 수로 주어지고, 이어서 N명의 점수가 주어진다. 점수는 0보다 크거나 같고, 100보다 작거나 같은 정수이다.
출력
각 케이스마다 한 줄씩 평균을 넘는 학생들의 비율을 반올림하여 소수점 셋째 자리까지 출력한다.
코드
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
// 4344번
public class Main {
public static void main(String[] args) throws IOException {
try {
BufferedReader rd = new BufferedReader(new InputStreamReader (System.in));
int num = Integer.parseInt(rd.readLine());
for(int i=0;i<num;i++) {
int sum=0;
double res=0;
String cal[] = rd.readLine().split(" ");
int student = Integer.parseInt(cal[0]);
for(int j=1;j<=student;j++) {
sum += Integer.parseInt(cal[j]);
}
res = (double)(sum/student);
int count=0;
for(int k=1;k<=student;k++) {
if(Integer.parseInt(cal[k])>res) {
count++;
}
}
System.out.printf("%.3f", 100.0*count/student);
System.out.println("%");
}
}
catch(IOException e) {
System.out.println("error");
}
}
}
|
풀이
step 1) 반복할 테스트 횟수를 입력받는다.
step 2) 반복문을 통해서 합계를 입력받고 res를 통해서 평균 값을 구한다.
step 3) 평균 이상의 값이 있는 경우 count를 활용하여 횟수를 측정한다.
step 4) printf를 활용하여 출력한다.
오타나 문제점이 발견되는 경우 댓글 부탁드리겠습니다!
감사합니다. 다음 포스팅 때 뵙겠습니다.
반응형
'백준 - Java' 카테고리의 다른 글
[백준 - 15596][Java] 정수 N개의 합 (0) | 2022.05.15 |
---|---|
[백준 - 3052][Java] 나머지 (0) | 2022.05.14 |
[백준 - 1110] [Java] 더하기 사이클 (0) | 2022.05.12 |
[백준 - 2884] [Java] 알람 시계 (0) | 2022.05.11 |
[ 백준 - 2675 ][Java] OX퀴즈 (0) | 2022.05.10 |