-코드
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을 뒤에서 더해주는 형식으로 바꾸어 주었습니다.
'Beakjoon&프로그래머스 > 파이썬' 카테고리의 다른 글
[백준/파이썬]13900번 순서쌍의 곱의 합 (0) | 2021.10.13 |
---|---|
[백준/파이썬]15650번 N과 M (2) (0) | 2021.10.12 |
[백준/파이썬]23234번 The World Responds (0) | 2021.10.11 |
[백준/파이썬]9372번 상근이의 여행 (0) | 2021.10.11 |
[백준/파이썬]4796번 캠핑 (0) | 2021.10.08 |