본문 바로가기
Online-Judge/Baekjoon

[Baekjoon] C++ 1546번 평균

by nyangzzi 2021. 5. 20.
반응형

https://www.acmicpc.net/problem/1546

 

1546번: 평균

첫째 줄에 시험 본 과목의 개수 N이 주어진다. 이 값은 1000보다 작거나 같다. 둘째 줄에 세준이의 현재 성적이 주어진다. 이 값은 100보다 작거나 같은 음이 아닌 정수이고, 적어도 하나의 값은 0보

www.acmicpc.net

 

 

vector에 기존 점수를 입력 받으며, max score를 체크한다.

vector<int> vec;

int n = 0;
cin >> n;

int max = 0;
for (int i = 0; i < n;i++) {
	int score = 0;
	cin >> score;

	vec.push_back(score);

	if (max < score) max = score;
}	

 

 

조건에 따라 기존 점수 /max 한 점수를 sum에 누적한다.

sum은 소수점까지 포함해야하므로 double로 선언하며, 100을 곱하여 평균값을 출력한다.

double sum = 0;
for (int i = 0; i < n; i++) {
	sum += ((double)vec[i] / max);
}

cout << sum / n * 100 << endl;

[전체 코드]

#include <iostream>
#include <vector>
using namespace std;

int main() {

	vector<int> vec;

	int n = 0;
	cin >> n;

	int max = 0;
	for (int i = 0; i < n;i++) {
		int score = 0;
		cin >> score;

		vec.push_back(score);

		if (max < score) max = score;
	}
	
	double sum = 0;
	for (int i = 0; i < n; i++) {
		sum += ((double)vec[i] / max);
	}

	cout << sum / n * 100 << endl;
}
반응형

댓글