코딩테스트[파이썬]/알고리즘 문제풀이 입문

[DFS기초] 이진수 출력

softmoca__ 2024. 2. 10. 02:07
목차

 

10진수 N이 입력되면 2진수로 변환하여 출력하는 프로그램을 작성하세요.

단 재귀함수를 이용 해서 출력해야 합니다.

입력설명
첫 번째 줄에 10진수 N(1<=N<=1,000)이 주어집니다.

출력설명
첫 번째 줄에 이진수를 출력하세요.

 

▣  입력예제 1

11

▣  출력예제 1

1011

 

 

나의 코드

def DFS(x):
    if x==0:
        return
    else:
        
        DFS(x//2)
        print(x%2,end='')

n=int(input())
DFS(n)

10진수를 2 진수로 나타내기 위해서는 결국 2로 나눈뒤의 나머지값에 주목을 해야한다.

아래 그림과 같이 나눈 몫이 0이 될때까지 2로 나눈뒤 아래부터 나머지값을 출력해야한다.

그래서 DFS호출 이후 출력을 하였다.

 

 

정답 코드

import sys
sys.stdin=open("input.txt", "r")
def DFS(x):
    if x==0:
        return
    else:
        DFS(x//2)
        print(x%2, end='')

n=int(input())
DFS(n)

 

나의 코드와 같다 !