풀이
점수를 모두 더해서 n으로 나눈 평균보다 큰 점수인 사람의 수가 a, n이 b 이므로 구하는 과정은 쉽다.
이때, 평균을 구하는 과정에서 소숫점을 처리하는 과정에 초점을 맞춰야 한다.
코드
#include <iostream>
using namespace std;
int main() {
int t;
cin >> t;
while(t--){
int n, sum = 0;
float score[1001];
cin >> n;
for(int i = 0; i < n; i++){
cin >> score[i];
sum += score[i];
}
float nn = n;
float avg = sum / nn; //float = float / float 형태
int cnt = 0;
for(int i = 0; i < n; i++){
if(avg <= score[i]){
cnt++;
}
}
cout << cnt << "/" << n << "\n";
}
return 0;
}
또 다른 풀이
for(auto&t:v)
scanf("%d",&t), s+=t;
for(auto&t:v)
if(t*n>=s) ++a; // s/n 할 필요 없이 양 번에 n을 곱해줌
- 이렇게 되면 소수점을 신경쓸 필요가 없다.