본문 바로가기

알고리즘 삽질장

[인프런] 재귀함수를 이용한 이진수 출력

반응형


문제설명

10진수 N이 주어지면 2진수로 변환하여 출력하는 프로그램을 작성해라. 단, 재귀함수를 이용해야만 한다.

입력조건

  • 첫 줄에 10진수 N(1 <= N <= 1,000)이 주어진다.

출력조건

  • 첫 줄에 이진수를 출력한다.

사고과정

  • 이진수는 10진수를 2로 계속 나눈 나머지값과 마지막에 2로 나누었을 때의 몫으로 이루어진다.
  • 그래서 재귀함수를 사용!

풀이

# 강의 Solution -> 그전에 여기까지 했으니 못했던일 마저 해 = '백트래킹'이라고 함!
def DFS(x):
    if x == 0:
        return
    else:
        DFS(x // 2)
        print(x % 2, end=' ')


if __name__ == '__main__':
    n = int(input())
    DFS(n)
반응형

'알고리즘 삽질장' 카테고리의 다른 글

[인프런] 합이 같은 부분집합  (0) 2021.11.22
[인프런] 부분집합 구하기  (0) 2021.11.22
[인프런] 아나그램(Anagram)  (0) 2021.11.18
[인프런] 단어 찾기  (0) 2021.11.17
[인프런] 교육과정 설계  (0) 2021.11.17