https://www.acmicpc.net/problem/3460





10진수를 입력 받아서 그 수를 2진수로 변환한 뒤 0이 있는 위치를 모두 출력하는 문제

문제 조건이 쉬워서 알고리즘을 이대로만 따라가서 코딩하면 그다지 어렵지 않음






내가 제출한 코드는 일단 이거인데 분명 이거보다 더 효율적으로 할 수 있는 코드가 있을 거임

본인의 한계는 여기까지

t=int(input())

for _ in range(t):

    a=int(input())

    a=str(bin(a))

    a=a.replace('0b','')

    s=len(a)

    l=[]

    for i in a:

        s-=1

        if i=='1':

            l.append(s)

    l.sort()

    print(*l)