[프로그래머스] Java 코딩테스트 - 두 수의 합 (Biginteger)

yihyun·2025년 4월 27일

코딩테스트

목록 보기
78/105
post-thumbnail

두 수의 합

✅ 문제 설명

0 이상의 두 정수가 문자열 a, b로 주어질 때, a + b의 값을 문자열로 return 하는 solution 함수를 작성해 주세요.

✅ 제한사항

1 ≤ a의 길이 ≤ 100,000
1 ≤ b의 길이 ≤ 100,000
a와 b는 숫자로만 이루어져 있습니다.
a와 b는 정수 0이 아니라면 0으로 시작하지 않습니다.

🔽 소스코드

💻 풀이

  • ab의 길이는 100,000 까지 가능하기 때문에 intLong로 풀게 되면 NumberFormatException 이 발생하게 된다.
  • 처음에 int 로 선언했으나 예외가 발생했고 이후 Long 를 사용해도 예외가 발생해 찾아낸 방법이다.
  • BigInteger 는 범위가 무한이며, 표현하고자 하는 자리수에 비례하여 사용하는 메모리 크기가 늘어나게 된다.

시간 0.70ms ~ 436.78ms

	public String solution(String a, String b) {
		
		BigInteger bigA = new BigInteger(a);
		BigInteger bigB = new BigInteger(b);
		
		return bigA.add(bigB).toString();
	}
profile
개발자가 되어보자

0개의 댓글