본문 바로가기
Algorithms/BOJ

[Java] 10829. 이진수 변환

by kyungsubbb 2021. 2. 7.

www.acmicpc.net/problem/10829

 

10829번: 이진수 변환

첫째 줄에 자연수 N이 주어진다. (1 ≤ N ≤ 100,000,000,000,000)

www.acmicpc.net

문제

자연수 N이 주어진다. N을 이진수로 바꿔서 출력하는 프로그램을 작성하시오.

입력

첫째 줄에 자연수 N이 주어진다. (1 ≤ N ≤ 100,000,000,000,000)

출력

N을 이진수로 바꿔서 출력한다. 이진수는 0으로 시작하면 안 된다.

 


 

import java.io.IOException;
import java.util.Scanner;

public class BOJ_10829 {
	private static void printbinary(long n) {
		if (n <= 1) {
			System.out.print(n);
			return;
		}

		printbinary(n / 2);
		System.out.print(n % 2);

	}

	public static void main(String[] args) throws IOException {
		Scanner sc = new Scanner(System.in);
		long n = sc.nextLong();
		printbinary(n);

		sc.close();
	}

}

재귀 문제가 많이 부족한 것 같아 재귀 파트 문제를 풀고있다.

 

이진수의 변환은 손쉽게 구현할 수 있었던 것 같다.

 

하지만 출력부분이 우선되어야하는지 아니면 재귀함수 호출이 먼저인지 고민을 꽤 해봤던 것 같다.

 

한번에 딱 하고 이해가 되지는 않았다.

 

 

'Algorithms > BOJ' 카테고리의 다른 글

[Java] 2447. 별찍기 -10  (0) 2021.02.09
[Java] 1991. 트리순회  (0) 2021.02.08
[Python, Java] 15649. N과 M(1)  (0) 2021.02.06
[Java] 16236. 아기 상어  (0) 2021.02.03
[Python] 2004. 조합 0의 개수  (0) 2021.02.02