Programming/SW Expert Academy
20210111 // 삼성 SW Expert 아카데미 문제 // 2072
껨코
2021. 1. 11. 16:31
삼성 SW Expert 아카데미 3503번 "홀수만 더하기" 문제입니다.
TC = int(input())
for tc in range(1, TC+1):
oddsum = 0
lst = list(map(int, input().split()))
for ele in lst:
if ele&1 == 1:
oddsum += ele
print("#%s"%tc, oddsum)
10개의 수를 입력받아서 그 중 홀수만 더학는 쉬운 문제다.
홀수를 판별하는 방법은 2로 나누었을 때 나머지가 1인 방법을 사용하는 것이 일반적이다.
하지만 나는 비트 연산자를 활용하여 1과 타겟 넘버를 and 비트 연산자를 사용했다.
이진수 비트 연산에서 0&1 = 0, 1&1 = 1 임을 활용하였는데 이는 논리 연산과도 비슷한 성질을 띤다.
어느 방법이든 정답은 나오기 때문에 원리만 이해한다면 풀 수 있는 문제라고 할 수 있다.