[백준] 4344. 평균은 넘겠지
문제
https://www.acmicpc.net/problem/4344
풀이
전체 테스트 케이스를 입력 받은 후 각 줄 맨 앞에는 학생 수를, 이어서는 학생들의 인원 수 만큼의 점수를 입력 받는다.
그리고 각 케이스 마다 평균을 넘는 학생들의 비율을 반올림해서 퍼센테이지를 구하는 문제.
테스트 케이스 숫자를 먼저 입력 받고(totalcase), 그 수 만큼 반복문을 돌려서 학생의 수를 입력 받는다. 또 그만큼의 배열(arr)을 만들고 배열의 사이즈만큼 반복문을 돌린다. 그 반복문 안에서 학생들의 점수를 입력 받고 배열에 넣어주고 총합을 구한다. 그리고 전체 평균을 구해준다(avg)
새로운 반복문을 만들어 평균보다 높은 점수의 학생수(count)를 구한다. 그리고 각 줄에서의 퍼센테이지를 구해 출력해준다.
코드
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class Q_4344 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int totalcase = Integer.parseInt(br.readLine());
int[] arr;
StringTokenizer st;
for (int i = 0; i < totalcase; i++) {
st = new StringTokenizer(br.readLine(), " ");
int student = Integer.parseInt(st.nextToken());
arr = new int[student];
double sum = 0;
for (int j = 0; j < student; j++) {
int score = Integer.parseInt(st.nextToken());
arr[j] = score;
sum += score;
}
double avg = sum / student;
double count = 0;
for (int j = 0; j < student; j++) {
if (arr[j] > avg) {
count++;
}
}
System.out.printf("%.3f%%\n", (count / student) * 100);
}
}
}
Author And Source
이 문제에 관하여([백준] 4344. 평균은 넘겠지), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@bonni/백준-4344.-평균은-넘겠지저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)