본문 바로가기
  • 기록
알고리즘

[C++] 백준 1546번: 평균

by juserh 2022. 1. 29.

문제 이해하기

과목 개수를 입력받고 그 개수만큼 점수를 입력받아 문제에서 제시하는 새로운 평균식으로 결과를 출력한다. 

 

코드로 표현하기

#include <iostream>

using namespace std;

int main() {
	int n;
	double score[1000] = {};
	double max = 0;
	double result = 0;
	cin >> n;

	for (int i = 0; i < n; i++) {
		cin >> score[i];
		if (score[i] > max)
			max = score[i];
		result += score[i];
	}
	result = (result / max * 100) / n;

	cout << result;
}

1. 과목의 개수를 의미하는 N은 1000보다 작거나 같다고 했으므로 입력되는 점수는 1000개 이하일 것이다. 입력되는 과목의 점수를 score배열에 저장할 것이고 그 점수의 개수는 최대 1000개이므로 score변수를 길이 1000으로 선언한다.

2. 과목 개수를 n변수로 입력받아 저장한다.

3. for 반복문으로 score배열에 과목 점수 n개를 저장한다.

    3-1. max변수로 입력받은 점수가 기존 최고점보다 높은지 확인하고 높다면 max값을 갱신한다.

    3-2. 점수가 입력될 때마다 그 값을 result변수에 더해서 저장한다.

4. n개의 점수가 모두 입력되면 점수의 합이 저장된 result변수를 이용해 새로운 평균식으로 결과를 계산하여 출력한다.

'알고리즘' 카테고리의 다른 글

[C++] 백준 1712번: 손익분기점  (0) 2022.02.25
[C++] 백준 10809번: 알파벳 찾기  (0) 2022.02.07
[C++] 백준 11720번: 숫자의 합  (0) 2022.02.07
[C++] 백준 1110번: 더하기 사이클  (0) 2022.01.28
[C++] namespace  (0) 2022.01.18