Algorithm/백준 BOJ
[백준] [Python] #3460 이진수
은세라
2021. 9. 23. 01:33
1차 제출
n = int(input())
num = []
for i in range(n):
num.append(int(input()))
arr = []
for i in range(n):
#num을 이진수로 나타내기
while(num[i]>1):
if num[i]%2==0: arr.append(0)
else: arr.append(1)
num[i] = num[i]//2
arr.append(num[i])
#1의 위치 출력
for i in range(len(arr)):
if arr[i] == 1: print(i, end=" ")
#줄바꿈
print()
#arr초기화
arr = []
2차 제출
for _ in range(int(input())):
n = int(input())
i = 0
while n >0:
if n%2 == 1:
print(i, end=' ')
n = n//2
i += 1
이진수 변환과 동시에 출력...
꼭 input을 다 싸들고 있지 않아도 되는군...