백준(Python) 풀이/수학

백준(Python) 3460번 이진수 풀이

개발윗미 2021. 10. 18. 10:41

Python으로 구현한 3460번 이진수 문제 풀이입니다.

 

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

 

3460번: 이진수

양의 정수 n이 주어졌을 때, 이를 이진수로 나타냈을 때 1의 위치를 모두 찾는 프로그램을 작성하시오. 최하위 비트(least significant bit, lsb)의 위치는 0이다.

www.acmicpc.net


t = int(input())

for _ in range(t) :
  n = bin(int(input()))[2:]
  
  for i in range(len(n)) :
    if n[::-1][i] == '1' :
      print(i, end=' ')

 

n을 입력받아 이진수를 구한 뒤 반복문을 통해 이진수 값 하나씩 확인하여 해당 값이 1이라면 해당 위치를 출력한다.