백준온라인저지

4344번 평균은 넘겠지

wonjjong 2020. 5. 21. 13:26

문제 출처 : https://www.acmicpc.net/problem/4344

 

 

4344번: 평균은 넘겠지

문제 대학생 새내기들의 90%는 자신이 반에서 평균은 넘는다고 생각한다. 당신은 그들에게 슬픈 진실을 알려줘야 한다. 입력 첫째 줄에는 테스트 케이스의 개수 C가 주어진다. 둘째 줄부터 각 �

www.acmicpc.net

 

풀이 과정

 

 각 테스트케이스마다 평균을 넘는 학생들의 비율을 구한 후 문제에서 요구한 출력 형식에 맞추면 되는 문제였습니다. 출력 형식은 cout의 조정자를 사용했습니다.  

 

  •  setprecision : 정수부와 소수부를 합친 자릿수를 지정합니다.  예를 들어 123.454의 setprecision(5)는 123.45를 출력합니다. 또한 나머지 뒷부분은 반올림하여 나타내기 때문에 123.457의 setprecision(5)는 123.46를 출력합니다. 

 

  •  fixed : 소수점 이하의 자릿수만 다룰 수 있게 됩니다. 예를 들어 123.456789란 값이 있을 때 fixed를 적용한 후 setprecision(6)을 하면 123.456789를 출력합니다.

 

 

소스 코드

 

더보기
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
35
36
37
38
39
40
41
#include <iostream>
#include <vector>
#include <iomanip>
 
using namespace std;
 
int main()
{
    int test_case;
    cin >> test_case;
    cout << fixed << setprecision(3);
 
    for (int i = 0; i < test_case; i++)
    {
        int n;
        cin >> n;
        int sum = 0;
        vector<int> scores;
 
        for (int j = 0; j < n; j++)
        {
            int score;
            cin >> score;
            scores.push_back(score);
            sum += score;
        }
 
        double average = (double)sum / n;
        int count = 0;
 
        for (vector<int>::iterator it = scores.begin(); it != scores.end(); it++)
        {
            if (*it > average)
                count++;
        }
 
        double percentage = ((double)count / n) * 100;
 
        cout << percentage << "%" << endl;
    }
}
cs

'백준온라인저지' 카테고리의 다른 글

2193번 이친수  (0) 2020.07.30
10828번 스택  (0) 2020.05.21
2753번 윤년  (0) 2020.05.05
1302번 베스트셀러  (0) 2020.05.05
2884번 알람 시계  (0) 2019.11.07