문제
10개의 수를 입력 받아, 그 중에서 홀수만 더한 값을 출력하는 프로그램을 작성하라.
풀이
T = int(input())
for test_case in range(1, T + 1):
# ///////////////////////////////////////////////////////////////////////////////////
numbers = list(map(int, input().split()))
odd = [number for number in numbers if number % 2 == 1]
_sum=sum(odd)
print("#{} {}".format(test_case, _sum))
# ///////////////////////////////////////////////////////////////////////////////////
- numbers라는 리스트로 입력 숫자를 받는다. list(map(int,input().split()))을 사용하면 띄어쓰기 기준으로 구분된 입력을 정수처리한 리스트를 얻을 수 있다.
- odd = [number for number in numbers if number % 2 == 1] 구문은 외우는 게 좋다. 리스트 내에서 for문과 if문으로 필요한 것만 걸러내는 것이다. 이 때 if문 뒤에 % 2 == 1 를 사용하여 홀수만 걸러냈다.
- 이후 남은 odd 리스트의 값을 sum() 함수를 통해 총합을 구한다.
'파이썬 > 파이썬 알고리즘' 카테고리의 다른 글
[swea - 파이썬] 2056. 연월일 달력 (0) | 2021.07.21 |
---|---|
[swea - 파이썬] 2071. 평균값 구하기 (0) | 2021.07.21 |
[swea - 파이썬] 1936. 1대1 가위바위보 (0) | 2021.07.20 |
[swea - 파이썬] 2043. 서랍의 비밀번호 (0) | 2021.07.20 |
[swea - 파이썬] 2027. 대각선 출력하기 (0) | 2021.07.20 |
댓글