[백준/BOJ] 백준 2576번 : 홀수

2020. 8. 2. 03:47알고리즘 문제풀이

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

 

2576번: 홀수

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

www.acmicpc.net

수를 하나씩 입력받으면서 그 수가 홀수이면 홀수의 합에 추가하고 또 그때 홀수가 홀수의 최솟값보다 작으면 홀수의 최솟값을 입력받은 수로 바꾼다. 홀수의 합이 0이 아니라면 홀수가 존재하는 것이고 홀수의 합이 0이라면 홀수가 존재하지 않는 것이다.

 

코드

#include <iostream>
using namespace std;

int main()
{
	cin.tie(NULL);
	ios_base::sync_with_stdio(false);

	int odd_sum = 0; //홀수의 합을 0으로 초기화 한다
	int odd_min = 987654321; //홀수의 최솟값을 매우 큰 수로 초기화 한다
	int temp;

	for (int i = 0; i < 7; i++)
	{
		cin >> temp;

		//홀수일때
		if (temp % 2 == 1)
		{
			odd_sum += temp;

			//입력받은 수가 홀수의 최솟값보다 작으면 홀수의 최솟값을 입력받은 수로 바꾼다
			if (odd_min > temp)
				odd_min = temp;
		}
	}

	//홀수가 존재할때
	if (odd_sum != 0)
	{
		cout << odd_sum << "\n";
		cout << odd_min << "\n";
	}

	//홀수가 존재하지 않을때
	else
	{
		cout << -1;
	}

	return 0;
}