[백준/파이썬] 3460번 이진수 풀이

업데이트:



문제 정보


풀이

문제

정수를 2진수로 보았을 때 값이 1인 비트의 위치 인덱스를 오름차순으로 출력하는 문제입니다.

코드

for T in range(int(input())):
    n,r,i=int(input()),[],0
    while n>0:
        if n % 2 == 1:
            r.append(i)
        n//=2
        i+=1
    print(*r)

설명

하위 비트부터 확인하면서 현재 비트가 1이면 인덱스를 저장하고, n을 2로 나누며 다음 비트를 검사합니다.



댓글남기기