백준 python 기록

백준 파이썬 10829 이진수 변환

우히힝 2021. 11. 14. 00:53

링크 : https://www.acmicpc.net/problem/10829

 

10829번: 이진수 변환

첫째 줄에 자연수 N이 주어진다. (1 ≤ N ≤ 100,000,000,000,000)

www.acmicpc.net

 

사실 python은 bin 쓰면 그대로되지마는

재귀로 풀어보자

n =  int(input())

def soulution(n):
    if n < 1:
        return "0"

    elif n == 1:
        return "1"

    elif n % 2 == 1:

        return soulution(int(n//2))+"1"
    elif n % 2 == 0:

        return soulution(int(n//2))+"0"

a= soulution(n)
print(a)

2진법을 간단히 하는법은

그냥 2로 나눠서 뭐가 남는지 확인만 하면된다.

그대로 리턴 재귀