반응형
백준 4344번 java 자바 평균은 넘겠지
학생 수를 입력하고 점수를 각각 입력하고 평균을 낸다. 평균을 초과한 학생 비율을 출력하는 문제다.
예시 입출력해서 첫째 줄에 평균은 70인데 넘는 학생은 두 명이다. 그래서 40%이며 셋째 줄에 평균은 80인데 세 명중 넘는 학생은 1명이니 33.333%이다.
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
|
import java.util.Scanner;
//baekjoon_4344
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int t = sc.nextInt();
//테스트 케이스 입력
for(int i=0; i<t; i++)
{
int stuN = sc.nextInt(); //학생 수
double aver = 0; //점수 평균
int cnt = 0; //평균넘는 학생 수
double averOver; //평균 넘는 비율
int scoAr[] = new int[stuN]; //점수 배열
for(int j=0; j<stuN; j++)
{
scoAr[j] = sc.nextInt(); //점수 입력
aver += scoAr[j]; //점수를 더한다.
}
aver /= stuN; //평균점수
for(int k=0; k<stuN; k++)
{ //평균보다 큰 점수가 있으면 카운트해준다.
if(aver < scoAr[k])
cnt++;
} //평균넘는 수/총학생 수 *100으로 평균이 넘는 비율 을 구함.
averOver = (double)cnt / (double)stuN * 100;
System.out.printf("%.3f", averOver);
System.out.println("%");
}
}
}
|
cs |
line 12, 14 : 평균과 비율은 소수점이 나오므로 double로 선언한다.
line 16 : 학생 수에 따라 배열을 선언한다.
line 20 : 평균을 구하기 위한 점수입력 시 합산을 한다.
line 22 : 점수 입력이 끝나면 평균점수를 구한다.
line 25 : 다시 배열을 돌면서 평균 초과의 점수가 있는지 검사하고 있을 때마다 cnt값을 증가시킨다.
line 28 : 평균이 넘는 비율을 구한다.
line 29~30 : 출력
반응형
'프로그래밍 > 백준 알고리즘 코드' 카테고리의 다른 글
백준 4673 자바 java 셀프 넘버 함수2단계 (0) | 2020.09.09 |
---|---|
백준 15596번 자바 java 정수 N개의 합 (0) | 2020.09.09 |
백준 8958 Java 자바 OX퀴즈 String (0) | 2020.09.07 |
백준 1546번 java 평균 (배열) (0) | 2020.09.07 |
백준 3052번 java 나머지 (boolean 배열) (4) | 2020.09.04 |
댓글