알고리즘/백준
[백준] 11382 - 꼬마 정민
leegeonwoo
2023. 10. 14. 23:41
• 문제
3개의 값 A,B,C를 공백으로 구분하여 각 값을 덧셈하여 출력한다.
• 풀이
Scanner클래스를 생성하여 A,B,C의 값을 입력받고 각 값의 더한값을 print()메서드로 출력해주기만 하면된다.
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int A = sc.nextInt();
int B = sc.nextInt();
int C = sc.nextInt();
System.out.println(A+B+C);
}
}
하지만 생각했던 것과는 다르게 위 코드로 제출하면 아래와 같이 런타임 에러라고 나온다.
문제를 다시 살펴보니 입력값에 대한 범위가 1부터 10^12까지이다.
자바에서 int타입의 범위는 -2^31 ~ (2^31-1)까지이다.
즉, 런타임에러가 나온이유는 입력값의 범위가 잘못된다는 점이다.
A,B,C의 타입을 int가아닌 long으로 바꿔주고 Scanner클래스의 메서드도 sc.nextInt()가아닌 sc.nextLong()으로 바꿔주기만하면 정답을 얻을수 있을 것이다.
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
long A = sc.nextLong();
long B = sc.nextLong();
long C = sc.nextLong();
System.out.println(A+B+C);
}
}
•마무리
- int타입의 범위에 대해서 알게 되었다.
728x90