이번 문제 또한 매우 쉽지만, 문제를 제대로 읽지 않으면 런타임 에러가 뜰 것이다..
정수형을 저장하는 기본형은 4가지가 있다. < byte, short, int, Long >
순서대로 1byte,2byte,4byte,8byte의 저장공간을 차지한다. (Long 보다 더 큰 범위의 정수를 저장할 땐, Big Integer를 쓸 수 있다.)
우선 이 문제를 런타임 에러없이 풀어내기 위해서 int, Long 이 저장할 수 있는 정수의 범위를 알아야 한다.
int = -2^31 ~ 2^31-1 Long = -2^63 ~ 2^63-1
2^10은 10^3과 근삿값이다. 따라서 int는 ±2 * 10^9, 약 ±20억이다.
하지만 문제에서 세 정수의 범위는 10^12까지 이므로, Long 타입을 사용하면 간단하게 구할 수 있다.
참고로 Long의 범위는 약 ±9조라고 생각하면 된다.
import java.util.*;
public class Step1_11 {
static Long[] a = new Long[3];
static void add() {
System.out.println(a[0] + a[1] + a[2]);
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
a[0] = sc.nextLong();
a[1] = sc.nextLong();
a[2] = sc.nextLong();
add();
}
}
'알고리즘 분류 > Step1 입출력과 사칙연산' 카테고리의 다른 글
</Step1_13> 10172 개 JAVA (0) | 2023.03.11 |
---|---|
</Step1_12> 10171 고양이 JAVA (0) | 2023.03.11 |
</Step1_10> 2588 곱셈 JAVA (0) | 2023.03.11 |
</Step1_9> 10430 나머지 JAVA (0) | 2023.03.11 |
</Step1_8> 18108 1998년생인 내가 태국에서는 2541년생?! JAVA (0) | 2023.03.11 |