[실전 문제] binary

2021. 2. 18. 13:12코딩 테스트/실전 문제

1. 문제

숫자를 입력 받아 이진수로 출력하는 프로그램을 작성하시오.


입력

첫 번째 줄에 숫자를 입력 받는다. 숫자의 크기는 1,000보다 작거나 같다.

출력

첫째 줄에 숫자를 이진수로 바꾸어 출력한다.

예제 입력

case 1) 14

case 2) 31

예제 출력

case 1) 1110

case 2) 11111

 

 

 

2. 풀이

import java.io.*;

public class Main {

    private static final BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    private static final BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));

    private static StringBuilder sb;
    public static void main(String[] args) throws IOException {

        int n = Integer.parseInt(br.readLine());
        sb = new StringBuilder();
        binary(n);

        bw.write(sb.reverse().toString());
        br.close();
        bw.flush();
        bw.close();
    }

    private static int binary(int n) {
        sb.append((n % 2) + "");
        if(n / 2 == 0) return 0;
        return binary(n/2);
    }

}
728x90