백준 알고리즘 - 4344

백준 알고리즘 - 4344

4344번

#include <iostream>

using namespace std; 

int main() {

	int testCount = 0;
	int studentCount = 0;

	cin >> testCount;//테스트 개수

	for (int i = 0; i < testCount; i++) {
		cin >> studentCount;//학생수

		/*
		* 동적으로 할당된 배열 ≠ 동적배열
		* 데이터 할당시 데이터의 크기가 studentCount로 
		* 정해지기 때문에 배열을 사용 
		*/
		int *score = new int[studentCount]{}; 

		int sum = 0; //평균 계산 할 총 점수
		int avg = 0; //평균
		
		for (int j = 0; j < studentCount; j++) {
			cin >> score[j];
			if (score[j] > 100 || score[j] < 0) {//점수입력 제한
				cout << "0이상 100이하의 점수를 입력해주세요" << endl;
				j--; //이전 배열로 이동
			}
			else {
				sum += score[j];
			}
		}
		avg = sum / studentCount;//평균
		int temp = 0; //퍼센트 계산용 임시변수	

		for (int k = 0; k < studentCount; k++) {
			
			if (score[k] > avg) {
				temp++;
			}
		}
		double percent;
		percent =  (double)temp / (double)studentCount;
		
		cout.precision(3);//소수점 설정
		cout << fixed;//0표시용
		cout << percent * 100 << "%" << endl;
		
		delete[] score;
	}

	
}