문제 풀이/프로그래머스
프로그래머스 lv0 두수의 합 - BigInteger
춘핑이
2023. 9. 7. 14:06
문제
0 이상의 두 정수가 문자열 a, b로 주어질 때, a + b의 값을 문자열로 return 하는 solution 함수를 작성해 주세요.
코드
import java.math.BigInteger;
public class 두수의합 {
public String solution(String a, String b) {
BigInteger numA = new BigInteger(a);
BigInteger numB = new BigInteger(b);
BigInteger sum = numA.add(numB);
return sum.toString();
}
}풀이
18446744073709551615 + 287346502836570928366와 같은 큰 수가 있어서 기본 sum으로는 연산이 불가능했다.
BigInteger를 사용하면 큰 수를 사용할 수 있다.
BigInteger bigNumber = new BigInteger(a);
BigInteger은 java.math안에 있고 객체를 만들어 선언하면 된다.
BigInteger을 초기화하기 위해서는 문자열을 인자 값으로 넘겨주어야한다.
BigInteger가 문자열로 되어 있기 때문이다.
덧셈(+) : bigNumber1.add(bigNumber2)
뺄셈(-) : bigNumber1.subtract(bigNumber2)
곱셈(*) : bigNumber1.multiply(bigNumber2)
나눗셈(/) : bigNumber1.divide(bigNumber2)
나머지(%) : bigNumber1.remainder(bigNumber2)