agencies

[CodeUp] 2054 : 지원이의 여자친구 본문

Ⅰ. 프로그래밍

[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=" ")

 

수정된 코드도 메모리 초과를 야기합니다.