Notice
Recent Posts
Recent Comments
Link
«   2025/04   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
Tags
more
Archives
Today
Total
관리 메뉴

자이의 프로그래밍

대푯값 본문

Algorithm/Cases-BOJ

대푯값

Xi_kor 2020. 5. 15. 21:09

문제

어떤 수들이 있을 때, 그 수들을 대표하는 값으로 가장 흔하게 쓰이는 것은 평균이다. 평균은 주어진 모든 수의 합을 수의 개수로 나눈 것이다. 예를 들어 10, 40, 30, 60, 30, 20, 60, 30, 40, 50의 평균은

이 된다.

평균 이외의 또 다른 대표값으로 최빈값이라는 것이 있다. 최빈값은 주어진 수들 가운데 가장 많이 나타나는 수이다. 예를 들어 10, 40, 30, 60, 30, 20, 60, 30, 40, 50 이 주어질 경우, 30 이 세 번, 40 60 이 각각 두 번, 10, 20, 50 이 각각 한 번씩 나오므로, 최빈값은 30 이 된다. 열 개의 자연수가 주어질 때 이들의 평균과 최빈값을 구하는 프로그램을 작성하시오.

 

입력

첫째 줄부터 열 번째 줄까지 한 줄에 하나씩 자연수가 주어진다. 주어지는 자연수는 1,000 이하의 10 의 배수이다.

 

출력

첫째 줄에는 평균을 출력하고, 둘째 줄에는 최빈값을 출력한다. 최빈값이 둘 이상일 경우 그 중 최소값을 출력한다. 평균과 최빈값은 모두 자연수이다.

 

예제 입력

10

40

30

60

30

20

60

30

40

50

 

예제 출력

37

30

 

------------------------------------------------------------------------------------------------------------------------------

 

#include <iostream>
using namespace std;

int main()
{
	int arr[1010] = { 0, };
	int sum = 0;
	for (int i = 0; i < 10; i++) {
		int a;
		cin >> a;
		sum += a;
		arr[a]++;
	}
	cout << sum / 10 << endl;
	int maximum = -1;
	int maxarr = -1;
	for (int i = 0; i < 1010; i += 10) {
		if (arr[i] > maximum) {
			maximum = arr[i];
			maxarr = i;
		}
	}
	cout << maxarr;
	return 0;
}

'Algorithm > Cases-BOJ' 카테고리의 다른 글

행렬 뒤집기  (0) 2020.05.15
상자 꾸미기  (0) 2020.05.15
검증수  (0) 2020.05.14
rook  (0) 2020.05.14
offset  (0) 2020.05.14