🔅코딩테스트 공부🔅/❗백준
[백준] 2576번 홀수(with python)
윤무무
2023. 1. 11. 13:31
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 할 필요 없이, 홀수인 수만 바로 리스트에 넣으면
하나의 배열만으로 문제를 해결할 수 있다.