새소식

⌨️ Algorithms/백준

[Python] 백준 2576번_홀수

2023. 5. 14. 21:37

  • -

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

 

2576번: 홀수

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

www.acmicpc.net

 

  • 7개의 자연수가 주어질 때, 이들 중 홀수인 자연수들을 모두 골라 그 합을 구하고, 고른 홀수들 중 최솟값을 찾기
  • 예를 들어, 7개의 자연수 12, 77, 38, 41, 53, 92, 85가 주어지면
    • 이들 중 홀수는 77, 41, 53, 85이므로
    • 그 합은 77 + 41 + 53 + 85 = 256
    • 41 < 53 < 77 < 85 이므로 홀수들 중 최솟값은 41
  • 입력
    • 입력의 첫째 줄부터 일곱 번째 줄까지 한 줄에 하나의 자연수가 주어짐
    • 주어지는 자연수는 100보다 작음
  • 출력
    • 홀수가 존재하지 않는 경우에는 첫째 줄에 -1을 출력
    • 홀수가 존재하는 경우 첫째 줄에 홀수들의 합을 출력하고, 둘째 줄에 홀수들 중 최솟값을 출력
  • 시간 제한: 1초
  • 메모리 제한: 128 MB

 

"""
입출력 예시)

(예제 입력 1) 
12
77
38
41
53
92
85
    -> 256
       41

(예제 입력 2) 
2
4
20
32
6
10
8
    -> -1
"""

 

 

## 의사코드 ##

# 입력받은 수가 홀수인 경우, 홀수 리스트에 삽입하고 홀수들의 합에 더함
# if num % 2 != 0:
#     odd.append(num)
#     total += num 

# 홀수가 존재하지 않으면 -1 출력
# if total == 0:
#     print(-1)
# 홀수가 존재하면 홀수들의 합과 홀수들 중 최솟값 출력
# else:
#     print(total)
#     print(min(odd))

 

 

 

 

odd = [] # 홀수를 담을 리스트
total = 0 # 홀수들의 합

for _ in range(7):
    num = int(input())
    # 홀수인 경우, 홀수 리스트에 삽입하고 홀수들의 합에 더함
    if num % 2 != 0:
        odd.append(num)
        total += num 

# 홀수가 존재하지 않으면 -1 출력
if total == 0:
    print(-1)
# 홀수가 존재하면 홀수들의 합과 홀수들 중 최솟값 출력
else:
    print(total)
    print(min(odd))
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다!