Dev538
[백준] [JAVA/4344번] 평균은 넘겠지 본문
문제
대학생 새내기들의 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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
|
import java.text.DecimalFormat;
import java.util.StringTokenizer;
public class baekjoon_4344 {
public static void main(String [] args){
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
StringTokenizer st = null;
DecimalFormat df = new DecimalFormat("0.000%");// 포멧
try{
int size = Integer.parseInt(br.readLine());
for(int i=0; size > i; i++){
st = new StringTokenizer(br.readLine());
int num = Integer.parseInt(st.nextToken()); // 학생수
int socre = 0; // 합계점수
int array[] = new int[num]; // 점수배열
double result = 0; // 결과
// 점수넣기
for(int j=0; num > j; j++){
array[j] = Integer.parseInt(st.nextToken());
socre += array[j];
}
//평균점수
int avg = socre / num;
int cutlineCnt = 0;
for(int k=0; array.length > k; k++){
if(array[k] > avg){
cutlineCnt++;
}
}
// 최종 비율
// 반올림
}
}catch(IOException e){
e.printStackTrace();
}finally{
}
}
}
|
'Algorithm' 카테고리의 다른 글
[백준] [JAVA/4673번] 셀프 넘버 (0) | 2019.12.29 |
---|---|
[백준] [JAVA/15596번] 정수 N개의 합 (0) | 2019.12.29 |
[백준] [JAVA/1546번] 평균 (0) | 2019.12.29 |
[백준] [JAVA/3052번] 나머지 (0) | 2019.12.29 |
[백준] [JAVA/2577번] 숫자의 개수 (0) | 2019.12.29 |
Comments