[문제 링크] 👉 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)
'BOJ 코딩테스트 > Bronze' 카테고리의 다른 글
[BOJ] 2460. 지능형 기차 2 (Python/Bronze 3) (0) | 2024.11.15 |
---|---|
[BOJ] 2501. 약수 구하기 (Python/Bronze 3) (0) | 2024.11.15 |
BOJ 10798번 : 세로읽기 (Python/수학/Bronze 1) (1) | 2024.10.15 |
BOJ 1934번 : 최소공배수 (Python/수학/Bronze 1) (0) | 2024.10.15 |
BOJ 2775번 : 부녀회장이 될테야 (Python/구현/Bronze 1) (0) | 2024.10.15 |