728x90
반응형
문제
꼬마 정민이는 이제 A + B 정도는 쉽게 계산할 수 있다. 이제 A + B + C를 계산할 차례이다!
입력
첫 번째 줄에 A, B, C (1 ≤ A, B, C ≤ 10의12)이 공백을 사이에 두고 주어진다.
풀이
import java.math.BigInteger;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
BigInteger a = scanner.nextBigInteger();
BigInteger b = scanner.nextBigInteger();
BigInteger c = scanner.nextBigInteger();
System.out.println(a.add(b).add(c));
}
}
int로 세 수를 더하기만 하면 되는 간단한 문제라고 생각했지만 inputmismatch 오류가 떠서 당황했을 것이다.
왜 오류가 떴나 보니
설명에서 a,b,c는 10의 12승보다 같거나 작다고 적혀있는데
10의 12승은 int의 범위를 벗어나기 때문에 오류가 났던 것이다.
int는 약 10의 9승까지의 범위이고 long은 약 10의 18승 까지의 범위이다.
나는 BigInteger을 썼는데 이 문제에서는 long을 써도 무관하다.
728x90
반응형
'백준' 카테고리의 다른 글
[JAVA] 백준 2480번 주사위 세개 (0) | 2023.03.16 |
---|---|
[JAVA] 백준 2525번 오븐 시계 (1) | 2023.03.16 |
[JAVA] 백준 2588번 곱셈 (0) | 2023.03.16 |
[JAVA] 백준 2839번 설탕 배달 (0) | 2023.03.16 |
[JAVA] 백준 3052번 나머지 (0) | 2023.03.13 |