🔥 Vamos/ALGORITHM
<수학,구현,사칙연산> 백준 11382 (큰 수 연산)
unikue
2023. 6. 13. 09:39
11382번: 꼬마 정민
첫 번째 줄에 A, B, C (1 ≤ A, B, C ≤ 1012)이 공백을 사이에 두고 주어진다.
www.acmicpc.net
▼ 문제해설
더보기
안이하게 대충 보고 풀면 안되겠다 싶었던 문제.
공백으로 구분해서 숫자를 입력받길래,
int A = nextInt(); 를 사용했는데 런타임 에러 java.util.InputMismatchException가 떴다.
입력받은 값이 들어갈곳에 안맞는다는건데, 도무지 이해가 안감. 정수로 선언했는데 왜 nextInt(); 가 불가한거지? 심지어 값도 맞게 나오는데?
관련 에러 따라 검색하다 생각해보니, 범위값 조건이 괜히 붙은게 아니었다.
10^12면 int조건인 21억을 충분히 넘긴다. 문제에 나온 입력값인 77 77 7777이 int안에 담길 수 있기 때문에 결과값 자체는 맞게 나오지만 조건에 맞는 타입은 long이었음.
매번 nextInt()로 쓰다보니 nextLong()을 생각 못했다.
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
long A = scan.nextLong();
long B = scan.nextLong();
long C = scan.nextLong();
System.out.println(A + B + C);
scan.close();
}
}