본문 바로가기
백준

[백준] 10757번 : 큰 수 A+B – JAVA [자바]

by Hongwoo 2022. 7. 31.
반응형

https://www.acmicpc.net/problem/10757

 

10757번: 큰 수 A+B

두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.

www.acmicpc.net

 


  • 문제

 

 


  • 문제 풀이

백준 10757번 큰 수 A+B는 브론즈 5 난이도의 수학 및 구현 문제이다. 이 문제는 큰 수 A와 B가 주어졌을 때 이 두 수의 합을 구하면 되는 문제이다.

 

이 문제는 int형이나 long형을 써서 풀 수 있는 문제가 아니다. 그 이유는 이 문제에서 입력으로 주어지는 수는 long형의 범위를 초과하기 때문이다. 만약에 long형을 쓰면 다음과 같은 예외(exception)가 뜨는 것을 볼 수가 있다.

 

 

따라서 이 문제는 BigInteger를 사용해야 한다. 만약에 BigInteger를 잘 모르면 밑에 있는 링크를 참고하면 되겠다.

 

https://propercoding.tistory.com/33

 

[알고리즘] 큰 숫자 (정수) BigInteger 사용법 - JAVA [자바]

목차 BigInteger를 사용해야 하는 이유 가끔 알고리즘 문제들을 풀다 보면 큰 수를 처리해야 될 때가 있다. 여기서 큰 수란 int형의 범위를 넘어가고 심지어 long 형의 범위를 넘어갈 때이다. int형의

propercoding.tistory.com

 

즉, 두 수 a와 b를 BigInteger로 입력받고 a.add(b)의 값을 출력해주기만 하면 된다.

 

자세한 코드는 밑에 있는 코드를 참고하면 되겠다.

 


  • 코드

 

import java.io.*;
import java.math.BigInteger;
import java.util.*;
public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringTokenizer st = new StringTokenizer(br.readLine());
        //두 수 입력받기
        BigInteger a = new BigInteger(st.nextToken());
        BigInteger b = new BigInteger(st.nextToken());
        System.out.print(a.add(b));
    }
}

 

 

반응형

댓글