[ 2023-03-15 ๐Ÿ’ซ TIL ]

Burkeyยท2023๋…„ 3์›” 15์ผ
0

TIL

๋ชฉ๋ก ๋ณด๊ธฐ
59/157

๋ฐฑ์ค€ 2089๋ฒˆ

์ฃผ์–ด์ง„ ์ž…๋ ฅ ๊ฐ’์„ -2์ง„๋ฒ•์œผ๋กœ ๋ณ€๊ฒฝํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค.

๋ชซ์ด 0์ด ๋ ๋•Œ๊นŒ์ง€ -2๋กœ ๋‚˜๋ˆ„์–ด์ง€๋Š” ์ฝ”๋“œ๋ฅผ ๊ตฌํ˜„ํ•˜๋ฉด ๋œ๋‹ค.

import sys

input = sys.stdin.readline

n = int(input())
result = []

if n == 0:
    print (0)
    
#๋‚˜๋จธ์ง€๊ฐ€ 1์ด๋‚˜ 0์ด ๋‚˜์˜ค๋„๋ก ํ•ด์•ผํ•œ๋‹ค.

while True:
    if n % (-2) != 0:
        result.append(1)
        n = (n // -2) + 1  # n์ด ๋งˆ์ด๋„ˆ์Šค์ด๋ฉด์„œ ๋‚˜๋ˆ„์–ด ๋–จ์–ด์ง€์ง€ ์•Š์„ ๋•Œ ์›ํ•˜๋Š” ๊ฐ’๋ณด๋‹ค 1์ž‘๊ฒŒ๋‚˜์˜ด
        # ex) n -> -13 ์ด๋ฉด ๋ชซ์ด 7์ด์—ฌ์•ผ์ง€ ๋‚˜๋จธ์ง€๊ฐ€ 1์ด ๋‚˜์˜ค๋Š”๋ฐ ๊ทธ๋ƒฅ ๊ณ„์‚ฐํ•˜๋ฉด 6์ด ๋‚˜์˜จ๋‹ค.
    else:
        result.append(0)
        n = (n // -2)
    if n == 0:
        break
        
#๊ฑฐ๊พธ๋กœ ์ถœ๋ ฅ
for n in result[::-1]:
    print(n, end='')
print()
profile
์Šคํƒฏ ์˜ฌ๋ฆฌ๋Š” ์ค‘

0๊ฐœ์˜ ๋Œ“๊ธ€