본문 바로가기
Beakjoon&프로그래머스/파이썬

[백준/파이썬]2089번 -2진수

by 현장 2021. 10. 12.

-코드

n = int(input())
r = ''
if n == 0:
    print(0)
else:
    while n:
        if n % -2:
            r = '1' + r
            n = n // -2 + 1
        else:
            r = '0' + r
            n //= -2
    print(r)

처음에 2진수 하던 대로 -2로 나누어서 하려고 했으나 값이 이상하게 나와서 게시판에 -13인 경우 7, -3, 2, -1이 나와야 하는 것을 보고 +1을 해주었고 r의 값도 설정을 잘못하여 r += '1' 또는 r += '0'으로 해서 값이 반대로 나와서 r을 뒤에서 더해주는 형식으로 바꾸어 주었습니다.