BEAKJOON

백준(1546번 평균)풀이 C++

Shin_jisoo 2020. 12. 5. 16:50
728x90

www.acmicpc.net/problem/1546

 

1546번: 평균

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

www.acmicpc.net

1) 주석없는 VERSION

#include<iostream>
using namespace std;

int main() {
	int n;
	double sum = 0;
	double avg;
	double array[1000] = { 0 };
	int max = 0;
	cin >> n;
	for (int i = 0;i < n;i++) {
		cin >> array[i];
		if (array[i] > max)max = array[i];
	}
	double newarray[1000] = { 0 };
	for (int j = 0;j < n;j++) {
		newarray[j] = (array[j] / max) * 100;
	}
	for (int i = 0;i < n;i++) {
		sum += newarray[i];
	}

	avg = sum / n;
	std::cout << avg;
}

2) 주석있는 VERSION

#include<iostream>
using namespace std;

int main() {
	int n;
	double sum = 0; // 새로운 평균을 구하기 위해 필요한 sum
	double avg; // 새로운 평균
	double array[1000] = { 0 }; // max 값을 구하기 위한 배열
	int max = 0;
	cin >> n;
	for (int i = 0;i < n;i++) {
		cin >> array[i];
		if (array[i] > max)max = array[i]; // max 값보다 큰 값인 경우 max에 대입
	}
	double newarray[1000] = { 0 };
	for (int j = 0;j < n;j++) {
		newarray[j] = (array[j] / max) * 100; // 각 과목의 새로운 점수 계산
	}
	for (int i = 0;i < n;i++) {
		sum += newarray[i]; // 새로운 점수들의 합
	}

	avg = sum / n; // 새로운 점수들의 합을 과목의 점수로 나눠 avg 구하기
	std::cout << avg;
}