[C++ 백준] 4344 평균은 넘겠지
728x90
반응형
블로그에 올리는 모든 문제 풀이는 깃허브에 올려져 있습니다.
문제 설명
- 테스트 케이스 개수 C가 주어진다.
- 각 테스트 케이스마다 학생의 수 N(1 <= N <= 1000, N은 정수)이 첫 수로 주어지고, 이어서 N명의 점수가 주어진다. 점수는 0보다 크거나 같고, 100보다 작거나 같은 정수이다.
- 각 케이스 마다 한 줄씩 평균을 넘는 학생들의 비율을 반올림하여 소수점 셋째 자리까지 출력
풀이 전략
- 학생의 수가 1000이므로 최대 입력될 수 있는 배열의 개수는 1000개
- 학생의 점수들을 입력 받아 평균을 구하고, 입력받은 점수가 평균점을 넘는다면 count를 증가
- count/학생수로 비율을 구한다.
- 소수점 셋째 자리까지 출력해야 하므로 cout.precision을 이용해 소수점 출력
- cout.precision( n ): 정수부+소수부 n번째 자리까지 출력
- cout << fixed
cout.precision( n ) : 소수부 n번째 자리까지 출력
소스 코드
#include <iostream>
using namespace std;
int main()
{
int n;
cin >> n;
for (int i = 0; i < n; i++)
{
int x;
int sum = 0;
int count = 0;
cin >> x;
int arr[1000];
for (int j = 0; j < x; j++)
{
cin >> arr[j];
sum += arr[j];
}
double avg = ( sum / (double)x );
for (int j = 0; j < x; j++)
{
if (avg < arr[j])
count++;
}
cout << fixed;
cout.precision(3);
cout << ( count * 100 / (double)x ) << "%\n";
}
}
링크
728x90
반응형
'문제풀이 > BOJ' 카테고리의 다른 글
[C++ 백준] 2675 문자열 반복 (0) | 2021.05.12 |
---|---|
[C++ 백준] 1157 단어 공부 (0) | 2021.02.02 |
[C++ 백준] 11004 K번째 수 (0) | 2020.12.11 |
[C++ 백준] 1712 손익분기점 (0) | 2020.11.04 |
[C++ 백준] 10809 알파벳 찾기 (0) | 2020.08.23 |
댓글
이 글 공유하기
다른 글
-
[C++ 백준] 2675 문자열 반복
[C++ 백준] 2675 문자열 반복
2021.05.12 -
[C++ 백준] 1157 단어 공부
[C++ 백준] 1157 단어 공부
2021.02.02 -
[C++ 백준] 11004 K번째 수
[C++ 백준] 11004 K번째 수
2020.12.11 -
[C++ 백준] 1712 손익분기점
[C++ 백준] 1712 손익분기점
2020.11.04