자바 백준 10829번
브론즈 2
https://www.acmicpc.net/problem/10829
10829번: 이진수 변환
첫째 줄에 자연수 N이 주어진다. (1 ≤ N ≤ 100,000,000,000,000)
www.acmicpc.net
문제 보기

분류: 수학, 구현
코드 보기
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 |