[JAVA] 백준 2338번 : 긴자리 계산

안녕하세요, 해을입니다🦖

이번 글에서는 백준 2388번 : 긴자리 계산 문제에 대해 알아보겠습니다!

💡 문제

image

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

💡 입력

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

💡 출력

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

💡 예제 입력 1

1
-1

💡 예제 출력 1

0
2
-1

🚩 문제 풀이

피연산자의 범위가 크기 때문에 큰 수를 처리하는 BigInteger를 사용한다.

🔗 관련 글 바로가기 : [Java] BigInteger 클래스

[구해야 할 값]

  • A+B : a.add(b)
  • A-B : a.subtract(b)
  • A*B : a.multiply(b)

🚩 소스 코드

import java.util.Scanner;

public class Main {
 public static void main(String[] args) {
  Scanner stdIn = new Scanner(System.in);
  
  BigInteger a,b;
  
  a = stdIn.nextBigInteger();
  b = stdIn.nextBigInteger();
  
  stdIn.close();
  
  System.out.println(a.add(b));
  System.out.println(a.subtract(b));
  System.out.println(a.multiply(b));
 }
}

오류 및 오타 지적, 질문, 인사 등 무엇이든 언제나 환영입니다!

읽어주셔서 감사합니다.

끝!🦕


© 2022. Haeeul All rights reserved.

🐾해을의 개발자국🐾

Powered by Hydejack v9.1.5