본문 바로가기

Algorithm/Implementation

(C++) - 백준(BOJ)코딩 4344번 : 평균은 넘겠지

반응형

www.acmicpc.net/problem/4344

 

4344번: 평균은 넘겠지

대학생 새내기들의 90%는 자신이 반에서 평균은 넘는다고 생각한다. 당신은 그들에게 슬픈 진실을 알려줘야 한다.

www.acmicpc.net

소수점을 원하는 자리수만큼 정해서 출력하는 문제였습니다.

 

Code

#include <iostream>
using namespace std;

int main() {
 long double num, sum = 0, cnt = 0, average;
 int k;
 cin >> num;
 long double Per;
 for (int i = 0; i < num; i++)
 {
  cin >> k;
  int *caseNum = new int[k];
  for (int j = 0; j < k; j++)
  {
   cin >> caseNum[j];
   sum += caseNum[j];
  }
  average = sum / k; // 각 케이스의 평균을 저장
  for (int t = 0; t < k; t++)
  {
   if (caseNum[t] > average)//각 케이스의 점수가 평균을 넘는지 확인
   {
    cnt++;
    continue;
   }
  }
  delete[]caseNum;
  Per = (cnt / k) * 100;
  cout << fixed;
  cout.precision(3);
  cout << Per << "%" << '\n'; //소수점 넷째짜리에서 반올림한 후 셋째짜리까지만 출력
  sum = 0;
  cnt = 0;
  average = 0;
 }
}