반응형
문제는 다음과 같습니다.
https://www.acmicpc.net/problem/4344
4344번: 평균은 넘겠지
대학생 새내기들의 90%는 자신이 반에서 평균은 넘는다고 생각한다. 당신은 그들에게 슬픈 진실을 알려줘야 한다.
www.acmicpc.net
풀이 코드는 다음과 같습니다.
#include <iostream>
#include <vector>
using namespace std;
int main()
{
ios::sync_with_stdio(false);
cin.tie(0);
int n;
cin>>n;
for(int i{0};i<n;i++)
{
int m;
cin>>m;
vector<int>v;
int total{0};
for(int j{0};j<m;j++)
{
int tmp;
cin>>tmp;
v.push_back(tmp);
total+=tmp;
}
double average=total/v.size();
int count{0};
for(int j{0};j<v.size();j++)
{
if(v[j]>average)
{
count++;
}
}
cout<<fixed;
cout.precision(3);
cout<<(count*100/(double)v.size())<<"%\n";
}
return 0;
}
입력받은 점수를 모두 벡터에 넣음과 동시에 총합을 구하고 평균을 정의한 다음 벡터 안에 있는 원소들이 평균을 넘는 지를 확인하는 과정으로 해결할 수 있습니다.
소숫점을 고정 및 반올림해주어야 하는데, 이는 fixed(소숫점 고정) 과 cout.precision(소숫점 표시)를 통해서 해결할 수 있습니다.
반응형
'백준 문제풀이' 카테고리의 다른 글
1065번 : 한수 (0) | 2022.05.27 |
---|---|
15596번 : 정수 N개의 합 (0) | 2022.05.27 |
8958번 : OX퀴즈 (0) | 2022.05.27 |
2164번 : 카드 2 (0) | 2022.05.26 |
2750번 : 수 정렬하기 (0) | 2022.05.25 |