🔥 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();

	}

}