# 3. APS/SWEA

SWEA # Python_D1_2072_홀수만 더하기 ✅

둥굴둥굴둥굴레차 2021. 2. 14. 15:57

 

 

🧁 [문제]

 

10개의 수를 입력 받아, 그 중에서 홀수만 더한 값을 출력하는 프로그램을 작성하라.

 

 

 

SW Expert Academy

SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!

swexpertacademy.com

# [input]
3
3 17 1 39 8 41 2 32 99 2
22 8 5 123 7 2 63 7 3 46
6 63 2 3 58 76 21 33 8 1   

# [output]
1 200
2 208
3 121
import sys
sys.stdin = open("input.txt")

T = int(input())

for tc in range(1, T+1):
	# for 문을 돌릴 때 마다 다음 줄의 숫자들을 numbers에 list형태로 저장합니다.
    numbers=list(map(int,input().split()))
    # 새로운 number변수의 list에 대한 홀수 값들의 합을 저장하기 위한 
    # odd_numbers_sum변수를 선언 및 초기화 해줍니다.
    odd_numbers_sum=0
    for i in numbers:
    	# i를 2로 나누었을 때 1의 나머지가 생긴다면 True기 때문에 if문이 실행됩니다.
        if i%2 :
            odd_numbers_sum+=i

    
    print("#{} {} ".format(tc, odd_numbers_sum))

# [다른풀이]

import sys
sys.stdin = open("input.txt")

T = int(input())

for i in range(T):
    numbers = list(map(int, input().split()))
    # for num부터 읽어보면,
    # num이란 이름으로 numbers리스트를 for문 돌려보았을 때
    # 만약 1이라는 나머지가 나온다면 
    # 해당 num을 odd_numbers 리스트에 넣어줍니다.
    odd_numbers = [num for num in numbers if num % 2 == 1]
	
    # sum함수를 사용하여 리스트 안의 모든 숫자를 더해줍니다.
    print("#{} {}".format(i+1, sum(odd_numbers)))

 


🍦 [복습]

 

# 1. 210218

삼항연산자(조건연산자)를 통한 리스트 만들기는 쉽게 말해,

for문을 그대로 적어준 다음 제일 앞 부분에 for문을 돌려주기 위해 사용한 변수명을 적어주면 된다.

odd_numbers = [num for num in numbers if num % 2 == 1]

 

# 2. 210225

import sys
sys.stdin = open("input.txt")

T = int(input())

for tc in range(1, T+1):
    N = 10
    # 리스트를 input받는 행위를 요 대괄호 안에서 해준다
    odd_N = [num for num in list(map(int,input().split())) if num%2]
    print("#{} {}".format(tc, sum(odd_N)))

만약 input되는 리스트를 변수에 따로 넣어주지 않고 바로 홀수만을 구하고 싶다면 위와 같이 코드를 짜주면 된다.