🧁 [문제]
10개의 수를 입력 받아, 그 중에서 홀수만 더한 값을 출력하는 프로그램을 작성하라.
# [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되는 리스트를 변수에 따로 넣어주지 않고 바로 홀수만을 구하고 싶다면 위와 같이 코드를 짜주면 된다.
'# 3. APS > SWEA' 카테고리의 다른 글
SWEA # Python_D1_2070_큰 놈, 작은 놈, 같은 놈 ✅ (0) | 2021.02.14 |
---|---|
SWEA # Python_D1_2063_중간값 찾기 ✅ (0) | 2021.02.14 |
SWEA # Python_D3_11457_gravity (0) | 2021.02.13 |
SWEA # Python_D2_1966_숫자를 정렬하자 (버블소트) ✅ (0) | 2021.02.12 |
SWEA # Python_D2_1959_두 개의 숫자열 ✅ (0) | 2021.02.12 |