백준 10829번
문제 해설이 아닌 풀이하면서 거쳐간 생각들을 기록하는 글입니다.
문제
자연수 N이 주어진다. N을 이진수로 바꿔서 출력하는 프로그램을 작성하시오.
입력
첫째 줄에 자연수 N이 주어진다. (1 ≤ N ≤ 100,000,000,000,000)
출력
N을 이진수로 바꿔서 출력한다. 이진수는 0으로 시작하면 안 된다.
접근 과정
이진수에 대한 이해가 있더면 반복문을 쓰든 재귀호출 사용하든 어렵지 않게 해결할 수 있는 문제이다. 빠르게 해결하려다보니 0을 깔끔하게 처리하지 못한 것이 아쉽다.
소스 코드
def decToBin(n):
if n == 0:
return
decToBin(n // 2)
print((n % 2) & 1, end='')
n = int(input())
if n == 0:
print(0)
else:
decToBin(n)