728x90
난이도 - 브론즈 2
문제
자연수 N이 주어진다. N을 이진수로 바꿔서 출력하는 프로그램을 작성하시오.
입력
첫째 줄에 자연수 N이 주어진다. (1 ≤ N ≤ 100,000,000,000,000)
출력
N을 이진수로 바꿔서 출력한다. 이진수는 0으로 시작하면 안 된다.
728x90
n이 0이 될 때까지 2로 나누고 그 나머지를 StringBuffer에 붙인다.
import java.io.*;
public class Main10829 {
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
long n = Long.parseLong(br.readLine());
bw.write(toBinary(n));
bw.flush();
br.close();
bw.close();
}
static String toBinary(long n) {
StringBuffer result = new StringBuffer();
do {
result.append(n % 2);
n /= 2;
} while (n > 0);
return result.reverse().toString();
}
}
728x90
'백준 > Java' 카테고리의 다른 글
[백준 자바] 11179번(2진수 뒤집기) (0) | 2024.06.19 |
---|---|
[백준 자바] 14491번(9진수) - 10진수를 9진수로 바꾸기 (0) | 2024.06.19 |
[백준 자바] 14915번(진수 변환기) - 10진수를 n진수로 바꾸기 (1) | 2024.06.19 |
[백준 자바] 1373번(2진수 8진수), 2998번(8진수) - 2진수를 8진수로 바꾸기 (0) | 2024.06.19 |
[백준 자바] 1212번(8진수 2진수) - 8진수를 2진수로 바꾸기 (0) | 2024.06.19 |