문제설명

 

소스코드

#include <iostream>
using namespace std;
int main() {
	int N; int max = 0; double score = 0;
	cin >> N;
	double* arr = new double[N];
	for (int i = 0; i < N; ++i)
	{
		cin >> arr[i];
		if (arr[i] > max) max = arr[i];
	}
	for (int i = 0; i < N; ++i)
	{
		if (arr[i] == max)
		{
			score += 100;
			continue;
		}
		score += (arr[i] / max) * 100;
	}
	cout << score / N;
}

 

풀이

세준이가 3과목 10점, 20점, 30점을 받았다면, ((10/30 X 100) + (20/30 X 100) + (30/30 X 100)) / 3 을 출력하면 된다.

효율이 떨어질지라도 나는 첫 번째 for문에서 값을 입력받고 최댓값을 구하고, 두 번째 for문에서 점수의 총합을 계산하였다.