알고리즘/백준

[백준] 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);
		}
}

 


마무리

  1. int타입의 범위에 대해서 알게 되었다.
728x90