BAEKJOON 10757번: 큰 수 A+B

Kim Hyen Su·2023년 6월 23일
0

⏲️ 알고리즘

목록 보기
23/95

10757번 문제

문제

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

입력

첫째 줄에 A와 B가 주어진다. (0 < A,B < 1010000)

출력

첫째 줄에 A+B를 출력한다.

🗝️포인트

※ BigInteger 사용.

일반 int 또는 long 값으로 받게 될 경우, NumberFormatException이 발생하게 한다.

발생 이유로는 여러가지가 있지만, 이 문제의 경우 parsing 하려는 값이 자료형의 크기보다 크기 때문에 발생하는 것이다.

위와 같은 경우, 자바에서 제공하는 java.math.BigInteger 클래스를 사용하면 쉽게 값을 구할 수 있다.

추후에는 BigInteger를 사용하지 않고 각 문자마다 더하여 StringBuilder에 담는 식으로도 구현을 해보려고 한다.

제출 답안

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.math.BigInteger;
import java.util.StringTokenizer;
 
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 bg1 = new BigInteger(st.nextToken());
		BigInteger bg2 = new BigInteger(st.nextToken());

		System.out.println(bg1.add(bg2));
	}
}
profile
백엔드 서버 엔지니어

0개의 댓글