본문 바로가기
JAVA/Coding Test Study

[Bronze V] 백준 - 2338. 긴자리 계산 : Java

by ♡˖GYURI˖♡ 2023. 12. 19.
728x90
 

2338번: 긴자리 계산

첫째 줄에 A+B, 둘째 줄에 A-B, 셋째 줄에 A×B를 출력한다. 각각을 출력할 때, 답이 0인 경우를 제외하고는 0으로 시작하게 해서는 안 된다(1을 01로 출력하면 안 된다는 의미).

www.acmicpc.net

 

 

문제 : 두 수 A, B를 입력받아, A+B, A-B, A×B를 구하는 프로그램을 작성하시오.

입력 : 첫째 줄에 A가, 둘째 줄에 B가 주어진다. 각각의 수는 10진수로 1,000자리를 넘지 않으며 양수와 음수가 모두 주어질 수 있다.

출력 : 첫째 줄에 A+B, 둘째 줄에 A-B, 셋째 줄에 A×B를 출력한다. 각각을 출력할 때, 답이 0인 경우를 제외하고는 0으로 시작하게 해서는 안 된다(1을 01로 출력하면 안 된다는 의미).

 

import java.math.BigInteger;
import java.util.Scanner;

public class no_2338 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        BigInteger num1 = sc.nextBigInteger();
        BigInteger num2 = sc.nextBigInteger();
        System.out.println(num1.add(num2));
        System.out.println(num1.subtract(num2));
        System.out.println(num1.multiply(num2));
    }
}

 

 

이것도 입력을 보면 '10진수로 1000자리를 넘지 않으며'라는 말이 있다.

10진수로 1000자리면 엄청 큰 수이기에 int로는 부족하다.

따라서 또, BigInteger를 사용해야 한다.