공부/BAEKJOON
[C++] 백준 1546: 평균
knhoo
2025. 1. 11. 12:57
728x90
https://www.acmicpc.net/problem/1546
문제
세준이는 기말고사를 망쳤다. 세준이는 점수를 조작해서 집에 가져가기로 했다. 일단 세준이는 자기 점수 중에 최댓값을 골랐다. 이 값을 M이라고 한다. 그리고 나서 모든 점수를 점수/M*100으로 고쳤다.
예를 들어, 세준이의 최고점이 70이고, 수학점수가 50이었으면 수학점수는 50/70*100이 되어 71.43점이 된다.
세준이의 성적을 위의 방법대로 새로 계산했을 때, 새로운 평균을 구하는 프로그램을 작성하시오.
정리
1. 최고 점수를 구한다.
2. 입력받은 성적의 합계를 구한다.
3. (합계 / 최고점수 * 100 / 과목 개수)를 계산하여 평균 점수를 구한다.
제출 코드
#include<iostream>
using namespace std;
int N; //과목의 개수
int score; //현재 성적
int M;//최고점
void Max(int arr[]) {
M = arr[0];
for (int i = 1; i < N; i++) {
if (arr[i] > M)
M = arr[i];
}
}
int main() {
cin >> N;
int* arr = new int[N];
for (int i = 0; i < N; i++) {
cin >> arr[i];
}
Max(arr);//최고점 구하기
double sum = 0;
for (int i = 0; i < N; i++) {
sum += arr[i];
}
double result = sum / M * 100.0 / N;
cout << result << endl;
return 0;
}
728x90