# 홀수

문제 링크

홀수

분석

7개의 자연수가 줄바꿈으로 한 줄에 하나씩 입력됩니다.
이 자연수들 중 홀수들을 찾아 총 합을 구하고, 홀수 중 최솟값을 출력하는 문제입니다.

입력에 홀수가 존재하는 경우 첫째 줄에 홀수들의 합을 출력하고, 둘째 줄에 홀수 중 최솟값을 출력하면 됩니다.
만약, 홀수가 존재하지 않는 경우 첫째 줄에 -1을 출력해야합니다.

풀이

#include <iostream>

int main()
{
    int sum{}, min{ 100 }, num{}, count{ 7 };

    for (int i = 0; i < count; ++i)
    {
        std::cin >> num;

		// 홀수인지 확인하는 조건식
        if (num % 2 == 1)
        {
            sum += num;
			
			// 홀수 중 가장 작은 값인 경우
            if (min > num)
            {
                min = num;
            }
        }
    }

	// 홀수가 없는 경우
    if (min == 100 && sum == 0)
    {
        std::cout << -1 << std::endl;
    }
    // 홀수가 있는 경우
    else
    {
        std::cout << sum << std::endl;
        std::cout << min << std::endl;
    }
}

성능 요약

시간 복잡도는 상수 시간에 끝나기 때문에 $O(1)$입니다.

  • 반복문 $O(7) \approx O(1)$

공간 복잡도는 고정된 크기의 상수 공간을 사용하기 때문에 $O(1)$입니다.

메모리: 2020 KB

시간: 0 ms

Date:     Updated:

카테고리:

태그:

Baekjoon 카테고리 내 다른 글 보러가기

댓글남기기