728x90
인프런의 자바(Java) 알고리즘 문제풀이 : 코딩테스트 대비 강의를 수강하며 풀이 코드를 정리하고 있습니다.
- 문제 설명 : 10진수 n이 입력되면 2진수로 변환하여 출력하는 문제
풀이
10진수를 2진수로 변환하는 방법
- 10진수를 몫이 1이 될때까지 2로 나눈다.
- 마지막 남은 몫 1과 나누기 과정에서 생긴 나머지들을 역순으로 적어준다.
- 11(10) -> 1011(2)
재귀와 위의 계산 방법을 코드에 그대로 적용하여 풀이
package inflearn.recursive_tree_graph;
import java.util.Scanner;
//재귀함수를 이용한 이진수 출력
public class Main7_2 {
public static void recursive(int n) {
if (n == 0)
return;
recursive(n / 2);
System.out.print(n % 2);
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
recursive(n);
sc.close();
}
}
댓글