Python

[Python] Coding Test (이진수 변환)

SangRok Jung 2022. 10. 13. 17:32
반응형

이진수 변환


 

문제

자연수 N이 주어진다. N을 이진수로 바꿔서 출력하는 프로그램을 작성하시오.

입력

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

출력

N을 이진수로 바꿔서 출력한다. 이진수는 0으로 시작하면 안 된다.

예제 입력 1 복사

53

예제 출력 1 복사

110101
 

 

 

▶ 10진수를 2진수로

10진수 11을 x, 변환한 이진수를 y라 가정할 때

  1. x를 2로 나눈 나머지를 이진수 y의 첫째 자리에 오게한다.
  2. 1에서 나눈 몫을 다시 2로 나눠 y의 둘째 자리에 오게한다.
  3. 이를 x를 2로 나누 몫이 0이 될 때 까지 진행한다.

 

def solution(num) : 
    if num == 0 : 
        return
    else :
        solution(num//2)
        print(num%2, end="")

N = int(input())
solution(N)
반응형