백준 3460: 이진 수 (python)

김동현·2022년 6월 10일

문제풀러가기!

풀이

이중 for문을 사용해 풀어보았다.

t로 케이스 수를 입력 받은것을 range함수의 범위로 지정하고 n값을 받는다.
n값을 2진수로 변환한 뒤 str로 형변환을 하고 문자열을 뒤집었다.
(인덱스 값을 제대로 찾기위해)
문자열이 1인 인덱스를 찾은 뒤, 리스트에 담고 그것을 출력해줬다.

t = int(input())

for i in range(t) :
    binary = ""
    index = []
    n = int(input())
    n = str(bin(n))
    binary = n[:1:-1]
    for i in range(len(binary)) :
        if binary[i] == "1" :
            index.append(str(i))
    print(" ".join(index))
profile
프론트엔드 개발자...이고 싶은 사람

0개의 댓글