https://www.acmicpc.net/problem/2089
Code
n = int(input())
result = ''
if n == 0 :
result = 0
while abs(n) >= 1:
b = abs(n%(-2))
n = n//(-2)
if b == 1:
n += 1
result = str(b) + result
print(result)
참고
원래 n진수로의 변환과 같은 방법으로 변환하고자 하는 10진수를 n으로 계속해서 나눈 나머지를 역순으로 읽어서 구할 수 있다. 나머지가 양수가 나오도록 주의하자.