https://www.acmicpc.net/problem/1546
1546번: 평균
첫째 줄에 시험 본 과목의 개수 N이 주어진다. 이 값은 1000보다 작거나 같다. 둘째 줄에 세준이의 현재 성적이 주어진다. 이 값은 100보다 작거나 같은 음이 아닌 정수이고, 적어도 하나의 값은 0보
www.acmicpc.net
원래 점수의 합 S에 대해, S * 100 / (M / N)을 계산하는 문제이다.
#include <cstdio>
int main() {
// 답을 출력할 때 쓸 변수
double ans = 0;
// input: 입력받은 점수를 저장할 공간, N: 입력받을 점수의 수, M: 점수의 최댓값
int input, N, M = 0;
scanf("%d", &N);
// 각 점수를 입력받은 뒤 ans에 더하고 가장 큰 점수를 M에 저장
for (int i = 0; i < N; i++) {
scanf("%d", &input);
ans += input;
if (M < input) M = input;
}
// ans에 100을 곱한 뒤 (M * N)만큼 나누어 새로운 평균을 출력한다
printf("%f\n", ans * 100 / (M * N));
return 0;
}
'알고리즘 > 문제 풀이' 카테고리의 다른 글
1620번: 나는야 포켓몬 마스터 이다솜 (0) | 2021.12.09 |
---|---|
1614번: 영식이의 손가락 (0) | 2021.12.09 |
1541번: 잃어버린 괄호 (0) | 2021.12.08 |
1504번: 특정한 최단 경로 (0) | 2021.12.08 |
1495번: 기타리스트 (0) | 2021.12.08 |