본문 바로가기
🔅코딩테스트 공부🔅/❗백준

[백준] 2576번 홀수(with python)

by 윤무무 2023. 1. 11.

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

 

2576번: 홀수

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

www.acmicpc.net

 

1. 내가 작성한 코드
arr = []
arr1 = []

for i in range(7):
  arr.append(int(input()))
  if arr[i] % 2 != 0:
    arr1.append(arr[i])

if sum(arr1) == 0:
  print(-1)
else :
  print(sum(arr1))
  print(min(arr1))

 

나는 두 개의 리스트를 사용했지만 이건 불필요하다.

 

2. 모범 답안
import sys
input = sys.stdin.readline
s = []
for i in range(7):
    a = int(input())
    if a % 2 != 0: s.append(a)
if s:
    print(sum(s))
    print(min(s))
else:
    print(-1)

 

굳이 처음에 input된 값들을 모두 리스트에 append 할 필요 없이, 홀수인 수만 바로 리스트에 넣으면 

 

하나의 배열만으로 문제를 해결할 수 있다.

댓글