문제설명
소스코드
#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문에서 점수의 총합을 계산하였다.
'자료구조 & 알고리즘 > BOJ' 카테고리의 다른 글
[C++] 백준 5단계 - 2743번 문제 (0) | 2023.04.02 |
---|---|
[C++] 백준 5단계 - 27866번 문제 (0) | 2023.04.01 |
[C++] 백준 4단계 - 10811번 문제 (바구니 뒤집기) (0) | 2023.03.31 |
[C++] 백준 4단계 - 3052번 문제 (0) | 2023.03.31 |
[C++] 백준 4단계 - 5597번 문제 (0) | 2023.03.30 |