본문 바로가기
알고리즘 문제풀이/인프런

[알고리즘] 7-2 재귀함수를 이용한 이진수 출력 (인프런 자바(Java) 알고리즘 문제풀이 : 코딩테스트 대비 강의)

by jeonghaemin 2021. 6. 13.
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();
    }
}

댓글