https://www.acmicpc.net/problem/4344
4344번: 평균은 넘겠지
대학생 새내기들의 90%는 자신이 반에서 평균은 넘는다고 생각한다. 당신은 그들에게 슬픈 진실을 알려줘야 한다.
www.acmicpc.net
각 테스트 케이스에서 평균을 구한 뒤, 평균을 넘는 인원의 퍼센티지를 구해 출력한다.
#include <cstdio>
#define MAX_N 1000
double test_case() {
// score[i]: i번째 학생의 점수
char score[MAX_N];
// mean: 점수의 평균, ans: 평균을 넘는 학생의 비율
double mean = 0, ans = 0;
// 학생의 수
int N;
scanf("%d", &N);
// 각 학생의 점수를 입력받은 뒤 mean에 그 합을 저장
for (int i = 0; i < N; i++) {
scanf("%hhd", score + i);
mean += score[i];
}
// 점수의 평균을 구한 뒤 평균을 넘는 학생의 수를 ans에 저장
mean /= N;
for (int i = 0; i < N; i++) ans += score[i] > mean;
// 구한 학생의 수를 퍼센티지로 변환해 반환
return ans * 100.0 / (double)N;
}
int main() {
int C;
// 테스트 케이스의 수를 입력받아 각 테스트 케이스를 실행
scanf("%d", &C);
while (C--) printf("%.3f%%\n", test_case());
return 0;
}
'알고리즘 > 문제 풀이' 카테고리의 다른 글
4600번: 정글의 법칙 (0) | 2021.12.22 |
---|---|
4386번: 별자리 만들기 (0) | 2021.12.22 |
4307번: 개미 (0) | 2021.12.22 |
4153번: 직각삼각형 (0) | 2021.12.22 |
4150번: 피보나치 수 (0) | 2021.12.22 |