https://www.acmicpc.net/problem/3460
10진수를 입력 받아서 그 수를 2진수로 변환한 뒤 0이 있는 위치를 모두 출력하는 문제
문제 조건이 쉬워서 알고리즘을 이대로만 따라가서 코딩하면 그다지 어렵지 않음
내가 제출한 코드는 일단 이거인데 분명 이거보다 더 효율적으로 할 수 있는 코드가 있을 거임
본인의 한계는 여기까지
t=int(input()) for _ in range(t): a=int(input()) a=str(bin(a)) a=a.replace('0b','') s=len(a) l=[] for i in a: s-=1 if i=='1': l.append(s) l.sort() print(*l) |