Ⅰ. 프로그래밍
[CodeUp] 2054 : 지원이의 여자친구
agencies
2024. 3. 29. 00:05
num = int(input())
x = map(int,input().split())
for i in x:
# 값이 1이면 1 반환
if i == 1: t = 1
# 값이 0이면 또는 짝수가 아니면 0 반환
elif i == 0 or i %2 != 0 : t= 0
else:
while True:
i = i // 2
# tmp가 다 나누어 떨어지거나 1이 되면 1 반환
if i == 0 or i == 1:
t = 1
break
# tmp가 홀수가 되면 0 반환
if i %2 != 0:
t = 0
break
print("%d"%t,end=" ")
위 코드는 메모리 초과를 야기합니다.
num = int(input())
x = map(int, input().split())
for i in x:
# 주어진 숫자를 2진수로 변환하여 1의 개수를 세기
binary = bin(i)[2:] # 2진수로 변환 후 0b 제거
count = binary.count('1')
# 1의 개수가 1인 경우는 2의 거듭제곱
if count == 1:
print("1", end=" ")
else:
print("0", end=" ")
수정된 코드도 메모리 초과를 야기합니다.