자바 백준 10829번
브론즈 2
https://www.acmicpc.net/problem/10829
문제 보기
분류: 수학, 구현
코드 보기
import java.util.Scanner;
import java.math.BigInteger;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
// Long.toBinaryString()은 long 타입의 값을 이진수 문자열로 변환하는 것이기 때문에, 음수가 아닌 경우 64비트까지만 처리
// 따라서 100,000,000,000,000에 해당하는 값은 64비트를 넘어가기 때문에 오버플로우가 발생할 수 있음
// 이를 해결하기 위해서는 BigInteger 클래스를 사용하여 더 큰 수를 다룰 수 있도록 구현
// 사용자로부터 BigInteger 형태의 입력값을 받음
BigInteger N = sc.nextBigInteger();
// BigInteger 클래스의 메서드 중 하나인 toString(2)을 사용
// BigInteger를 이진수 문자열로 변환
String binary = N.toString(2);
// 이진수 문자열 출력
System.out.println(binary);
}
}
/*
100000000000000
10110101111001100010000011110100100000000000000
*/
'공부하기 > 백준' 카테고리의 다른 글
[Java] 백준 풀기 2910 - 빈도 정렬 (2) | 2023.11.24 |
---|---|
[Java] 백준 풀기 3062 - 수 뒤집기 (4) | 2023.11.23 |
[Java] 백준 풀기 2669 - 직사각형 네개의 합집합의 면적 구하기 (0) | 2023.11.21 |
[Java] 백준 풀기 2204 - 도비의 난독증 테스트 (0) | 2023.11.20 |
[Java] 백준 풀기 1198 - 삼각형으로 자르기 (0) | 2023.11.17 |