https://www.acmicpc.net/problem/1546
구현문제입니다.
우선 문제부터 간단하게 요약하면,
점수들이 주어질 때, 각 점수에 (점수/(점수의 최댓값) * 100) 을 한 점수들의 평균을 구해야 하는 문제입니다.
<Solution>
최대점수를 구하고, 각 점수들에 다시 연산을 한 뒤 평균을 내주는 작업을 진행하면 됩니다.
실제 구현은 아래와 같습니다.
#include <iostream>
#include <algorithm>
double change(double k);
double g_max_val;
int main(){
int N;
std::cin >> N;
double array1[N];
double array2[N];
for(int i=0; i<N; ++i){
std::cin >> array1[i];
}
g_max_val = *std::max_element(array1, array1+N);
std::transform(array1, array1+N, array2, change);
double array_sum = 0;
for(int i=0; i<N; ++i){
array_sum += array2[i];
}
std::cout << array_sum / N << std::endl;
return 0;
}
double change(double i){
return i/g_max_val * 100;
}
반응형
'코딩테스트 > C++ 문제풀이' 카테고리의 다른 글
[백준] 피보나치 함수 (0) | 2022.08.31 |
---|---|
[백준] 문자열 반복 (0) | 2022.08.23 |
[백준] 상수 (0) | 2022.08.22 |
[백준] 숫자의 합 (0) | 2022.08.21 |
[백준] 음계 (0) | 2022.08.21 |