Stay Hungry Stay Foolish

BOJ 코딩테스트/Bronze

[BOJ] 3460. 이진수 (Python/Bronze 3)

dev스카이 2024. 11. 15. 14:51

[문제 링크] 👉 https://www.acmicpc.net/problem/3460


풀이 방법

1️⃣ 이진수 변환

format(int(input()), 'b')
  • 변환 결과 타입은 정수형이 아닌 str 이다.

2️⃣ 뒤집기

문자열[::-1]
  • 슬라이싱을 이용해 전체를 한번에 뒤집는다.

 

[[파이썬] 이진법, 이진수, 2진수 변환 방법] 🔗 https://dev-cloud.tistory.com/416

Solution

T = int(input())  # 테스트 케이스 수
for test_case in range(1, T + 1):
    n = format(int(input()), 'b')[::-1] # 양의 정수 n -> 이진수 변환 -> 뒤집기
    result = []  # 결과를 담을 리스트
    
    for i in range(len(n)):
        if n[i] == '1':  
            result.append(i)
    
    print(*result)