두 수의 합
0 이상의 두 정수가 문자열 a, b로 주어질 때, a + b의 값을 문자열로 return 하는 solution 함수를 작성해 주세요.
1 ≤ a의 길이 ≤ 100,000
1 ≤ b의 길이 ≤ 100,000
a와 b는 숫자로만 이루어져 있습니다.
a와 b는 정수 0이 아니라면 0으로 시작하지 않습니다.
💻 풀이
a와 b의 길이는 100,000 까지 가능하기 때문에 int 와 Long로 풀게 되면 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();
}