1. 문제 링크

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

 

2587번: 대표값2

어떤 수들이 있을 때, 그 수들을 대표하는 값으로 가장 흔하게 쓰이는 것은 평균이다. 평균은 주어진 모든 수의 합을 수의 개수로 나눈 것이다. 예를 들어 10, 40, 30, 60, 30의 평균은 가 된다. 평균 이외의 또 다른 대표값으로 중앙값이라는 것이 있다. 중앙값은 주어진 수를 크기 순서대로 늘어 놓았을 때 가장 중앙에 놓인 값이다. 예를 들어 10, 40, 30, 60, 30의 경우, 크기 순서대로 늘어 놓으면 10 30 30 40 60 이 되고

www.acmicpc.net

 

 

 

2. 문제 설명

5개의 수를 입력받아 평균과 대표값을 출력하는 문제입니다.

 

 

 

3. 소스코드

BOJ 2587번 대표값2 C++ 풀이입니다.

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

int main(void)
{
	ios::sync_with_stdio(0);
	cin.tie(0); cout.tie(0);

	int sum = 0;
	vector<int> v(5);

	for (int i = 0; i < 5; i++) cin >> v[i], sum += v[i];
	sort(v.begin(), v.end());
	cout << sum / 5 << '\n' << v[2];

	return 0;
}

중앙값을 구하기 위해 sort함수를 사용했습니다.

'Algorithm > Study' 카테고리의 다른 글

[백준 10093번 C++] 숫자  (0) 2020.04.29
[백준 2309번 C++] 일곱 난쟁이  (0) 2020.04.29
[백준 2576번 C++] 홀수  (0) 2020.04.29
[백준 2562번 C++] 최댓값  (0) 2020.04.29
[백준 2490번 C++] 윷놀이  (0) 2020.04.29

1. 문제 링크

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

 

2576번: 홀수

7개의 자연수가 주어질 때, 이들 중 홀수인 자연수들을 모두 골라 그 합을 구하고, 고른 홀수들 중 최솟값을 찾는 프로그램을 작성하시오. 예를 들어, 7개의 자연수 12, 77, 38, 41, 53, 92, 85가 주어지면 이들 중 홀수는 77, 41, 53, 85이므로 그 합은 77 + 41 + 53 + 85 = 256 이 되고, 41 < 53 < 77 < 85 이므로 홀수들 중 최솟값은 41이 된다.

www.acmicpc.net

 

 

 

2. 문제 설명

7개의 자연수를 입력받아 홀수가 있으면 홀수의 합과 최솟값을 출력하고, 홀수가 없으면 -1을 출력하는 문제입니다.

 

 

 

3. 소스코드

BOJ 2576번 홀수 C++ 풀이입니다.

#include <iostream>
using namespace std;

int main(void)
{
	ios::sync_with_stdio(0);
	cin.tie(0); cout.tie(0);
    
	int n, min = 100, sum = 0;

	for (int i = 0; i < 7; i++) {
		cin >> n;
		if (n % 2 == 1) {
			sum += n;
			if (n < min) min = n;
		}
	}
	if (sum == 0) cout << -1;
	else cout << sum << '\n' << min;

	return 0;
}

입력받는 수가 0보다 크고, 100보다 작으므로 min의 초기값을 100으로 할당했습니다.

'Algorithm > Study' 카테고리의 다른 글

[백준 2309번 C++] 일곱 난쟁이  (0) 2020.04.29
[백준 2587번 C++] 대표값2  (0) 2020.04.29
[백준 2562번 C++] 최댓값  (0) 2020.04.29
[백준 2490번 C++] 윷놀이  (0) 2020.04.29
[백준 2480번 C++] 주사위 세개  (0) 2020.04.29

1. 문제 링크

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

 

2562번: 최댓값

9개의 서로 다른 자연수가 주어질 때, 이들 중 최댓값을 찾고 그 최댓값이 몇 번째 수인지를 구하는 프로그램을 작성하시오. 예를 들어, 서로 다른 9개의 자연수 3, 29, 38, 12, 57, 74, 40, 85, 61 이 주어지면, 이들 중 최댓값은 85이고, 이 값은 8번째 수이다.

www.acmicpc.net

 

 

 

2. 문제 설명

9개의 자연수를 입력받아 최댓값과, 그 최댓값이 몇 번째 수인지 출력하는 문제입니다.

 

 

 

3. 소스코드

BOJ 2562번 최댓값 C++ 풀이입니다.

#include <iostream>
using namespace std;

int main(void)
{
	ios::sync_with_stdio(0);
	cin.tie(0); cout.tie(0);

	int n, max = 0, idx;

	for (int i = 1; i <= 9; i++) {
		cin >> n;
		if (n > max) {
			max = n;
			idx = i;
		}
	}
	cout << max << '\n' << idx;

	return 0;
}

입력받는 수가 자연수이므로 max의 초기값을 0으로 할당하면,

첫 번째 수가 무조건 max에 할당된 후 다음 수부터 비교할 수 있습니다.

몇 번째 숫자인지 구할 때 0이 아니라 1부터 시작하기 때문에 for문의 조건을 1 <= i <= 9로 했습니다.

'Algorithm > Study' 카테고리의 다른 글

[백준 2587번 C++] 대표값2  (0) 2020.04.29
[백준 2576번 C++] 홀수  (0) 2020.04.29
[백준 2490번 C++] 윷놀이  (0) 2020.04.29
[백준 2480번 C++] 주사위 세개  (0) 2020.04.29
[백준 2753번 C++] 윤년  (0) 2020.04.29

+ Recent posts