문제 출처 - Baekjoon Online Judge
문제는 여기
[문제]
두 수 A, B를 입력받아, A+B, A-B, A×B를 구하는 프로그램을 작성하시오.
[입력]
첫째 줄에 A가, 둘째 줄에 B가 주어진다. 각각의 수는 10진수로 1,000자리를 넘지 않으며 양수와 음수가 모두 주어질 수 있다.
[출력]
첫째 줄에 A+B, 둘째 줄에 A-B, 셋째 줄에 A×B를 출력한다. 각각을 출력할 때, 답이 0인 경우를 제외하고는 0으로 시작하게 해서는 안 된다(1을 01로 출력하면 안 된다는 의미).
[풀이]
1. 두 수를 BigInteger를 사용해서 입력받아준다.
2. BigInteger의 연산을 이용해 결과를 출력한다.
[접근]
1. 숫자의 범위가 1000자리이므로 Integer로는 처리가 불가능하여 BigInteger를 사용하여 문제를 해결해야겠다고 생각했다.
- 더하기 : add()
- 빼기 : subtract()
- 곱하기 : multiply()
- 나누기 : divide()
2. 위 연산을 사용해 문제를 해결하면 되겠다고 생각하였다.
[코드]
package BOJ_bronze;
import java.math.BigInteger;
import java.util.Scanner;
public class Main_B5_2338 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
BigInteger a = sc.nextBigInteger();
BigInteger b = sc.nextBigInteger();
System.out.println(a.add(b));
System.out.println(a.subtract(b));
System.out.print(a.multiply(b));
}
}
'문제 풀이 > Baekjoon' 카테고리의 다른 글
[백준] S4 11656번 접미사 배열 (JAVA) (0) | 2022.02.27 |
---|---|
[백준] S1 1254 팰린드롬 만들기 (JAVA) (0) | 2022.02.26 |
[백준] S5 15233번 Final Score (JAVA) (0) | 2022.02.05 |
[백준] S3 11478번 서로 다른 부분 문자열의 개수 (JAVA) (0) | 2022.02.04 |
[백준] S4 3135번 라디오 (JAVA) (0) | 2022.01.27 |