[Baekjoon] # 10829 이진수 변환
문제
문제
자연수 N이 주어진다. N을 이진수로 바꿔서 출력하는 프로그램을 작성하시오.
입력
첫째 줄에 자연수 N이 주어진다. (1 ≤ N ≤ 100,000,000,000,000)
출력
N을 이진수로 바꿔서 출력한다. 이진수는 0으로 시작하면 안 된다.
예제 입력 1 복사
53
예제 출력 1 복사
110101
풀이
재귀함수를 이용한 풀이
# 재귀함수 풀이
def bina(n):
if n == 0:
return '0'
elif n == 1:
return '1'
else:
return bina(int(n/2)) + str(n%2)
n = int(input())
print(bina(n))
- 10진수를 이진화하는 알고리즘을 그래도 따라가며 재귀함수로 구현하면 된다.
- 숫자를 계속해서 2로 나누는데, 나누어 떨어지면 0, 나누어 떨어지지 않으면 1을 뒤에서부터 추가한다.
간단한 풀이
파이썬에선 내장함수 bin()을 이용하여 10진수를 간단히 이진화할 수 있다.
# 내장함수 bin()을 이용한 풀이
n = int(input())
print(bin(n)[2:])
Leave a comment