[Beakjoon] 1차원 배열 : 4344번
2019. 7. 17. 17:25
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
|
public class Main {
public static void main (String args[]) {
Scanner scan = new Scanner(System.in);
int cycle = scan.nextInt();
double sum = 0;
double student = 0;
for(int i=0; i<cycle; i++) { //cycle번 반복
int array_num = scan.nextInt();
double array[] = new double[array_num];
// System.out.println("array_num : " +array_num);
for(int j=0; j<array_num; j++) {
array[j]= scan.nextDouble();
// System.out.println("array [" + j +"]" + array[j]);
}
for(int k=0; k<array_num; k++) {
sum += array[k];
}
// System.out.println("sum : " + sum);
double average = sum/array_num;
// System.out.println("average: " + average);
for(int a=0; a<array_num; a++) {
if(array[a]> average) {
++student;
} //평균보다 큰 애들 수
}
// System.out.println("student: " + student);
System.out.println(String.format("%.3f", Double.valueOf(student/array_num*100)) + "%");
sum = 0;
student = 0;
}
}
}
|
오늘의 교훈: 문제를 잘 파악하자
입력에 대한 모든 학생수와 점수의 합산을 구하여 평균을 구하는 문제로 잘못알아들어서 한참이나 삽질했다. 문제를 잘 보아야겠다.
중간중간 주석처리를 한 문장은 중간중간 디버깅을 하기 위해서 넣어둔 문장이니 참고하길 바란다.
문제의 조건을 다시 한 번 정리해보겠다.
1. 몇번 루프를 돌면서 몇 줄의 입력을 받을 것인지
2. 몇 개의 수를 입력받을 것인지
3. 한줄에 대한 평균 점수를 구하고
4. 그 평균을 넘는 점수를 가지고 있는 학생이 몇 명인지
5. 그 학생에 대한 백분율을 구해라
였다. 다음부터는 문제를 잘 파악하자.
결과 화면은 아래와 같다.
'Undergraduate Records' 카테고리의 다른 글
[Vmware 설치]Mac os mojave 설치 (0) | 2019.07.19 |
---|---|
[인프런 강의] Swift 문법 -2 (0) | 2019.07.17 |
3회차 모각코 결과 (0) | 2019.07.17 |
3회차 모각코 목표 (0) | 2019.07.17 |
[인프런 강의] Swift 문법 - 1 (0) | 2019.07.16 |