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을 다 싸들고 있지 않아도 되는군...
'Algorithm > 백준 BOJ' 카테고리의 다른 글
[백준] [Python] #11279 최대힙 (0) | 2021.09.23 |
---|---|
[백준] [Python] #10828 스택 (0) | 2021.09.23 |
[백준] [Python] #10809 알파벳 찾기 (0) | 2021.09.23 |
[백준] [Python] #10818 최소,최대 (0) | 2021.09.23 |
[백준] [Python] #2576 홀수 (0) | 2021.09.23 |
댓글