[CodeUp] 1920번 2진수 변환

오혜수·2022년 3월 16일
0

코딩 테스트

목록 보기
39/61

링크 : https://codeup.kr/problem.php?id=1920

문제

어떤 10진수 n이 주어지면 2진수로 변환해서 출력하시오.

예)

10 -----> 1010

0 -----> 0

1 -----> 1

2 -----> 10

1024 -----> 10000000000

이 문제는 반복문을 이용하여 풀 수 없습니다.

풀이

1. 재귀함수를 이용한 풀이

8진수, 16진수를 원하면 binary(n//8) binary(n//16)으로 바꾸고, print(n%8) print(n%16)으로 바꾸면 된다.

def binary(n):
    if n == 0:
        return
    if n>1:
        binary(n//2)
    return print(n%2, end='')

binary(n)

2. 내장함수를 이용한 풀이

2진수는 bin(), 8진수는 oct(), 16진수는 hex()로 풀면 된다.

n = int(input())
print(bin(n))

0개의 댓글