백준 2587번 (대표값2, C++) [BAEKJOON]

목차 테이블

대표값2

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

시간 제한메모리 제한제출정답맞힌 사람정답 비율
1 초128 MB31241192491772062.379%

문제

어떤 수들이 있을 때, 그 수들을 대표하는 값으로 가장 흔하게 쓰이는 것은 평균이다.

평균은 주어진 모든 수의 합을 수의 개수로 나눈 것이다.

예를 들어 10, 40, 30, 60, 30의 평균은 (10 + 40 + 30 + 60 + 30) / 5 = 170 / 5 = 34가 된다.

평균 이외의 또 다른 대표값으로 중앙값이라는 것이 있다.

중앙값은 주어진 수를 크기 순서대로 늘어 놓았을 때 가장 중앙에 놓인 값이다.

예를 들어 10, 40, 30, 60, 30의 경우, 크기 순서대로 늘어 놓으면

10 30 30 40 60

이 되고 따라서 중앙값은 30이 된다.

다섯 개의 자연수가 주어질 때 이들의 평균과 중앙값을 구하는 프로그램을 작성하시오.

입력

첫째 줄부터 다섯 번째 줄까지 한 줄에 하나씩 자연수가 주어진다.

주어지는 자연수는 100 보다 작은 10의 배수이다.

출력

첫째 줄에는 평균을 출력하고, 둘째 줄에는 중앙값을 출력한다.

평균과 중앙값은 모두 자연수이다.

예제 입력 1

10
40
30
60
30

예제 출력 1

34
30

출처

Olympiad > 한국정보올림피아드 > 한국정보올림피아드시․도지역본선 > 지역본선 2005 > 초등부 1번

알고리즘 분류


통과된 코드

#include <iostream>

using namespace std;

int _Arr[6], _Sum;

int main()
{
	for (int i = 0; i < 5; i++)
		cin >> _Arr[i];
	// 배열의 크기가 작아서 선택 정렬을 사용
	for (int i = 0; i < 5; i++)
		for (int j = 0; j < 5; j++) {
			if (i == j) continue;
			if (_Arr[i] > _Arr[j]) {
				_Arr[5] = _Arr[i];
				_Arr[i] = _Arr[j];
				_Arr[j] = _Arr[5];
			}
		}
	for (int i = 0; i < 5; i++)
		_Sum += _Arr[i];
	cout << (int)(_Sum / 5) << "\n";
	cout << _Arr[2];

	return 0;
}

댓글 달기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

위로 스크롤