
>>문제 바로가기<<
정답률 40.3%의 덧셈 문제이다.
그냥 단순히 숫자를 받아서 더하는건데 왜 정답률이 낮을까?
아무 생각없이 코딩을 하고 제출하면
런타임 에러(InputMisatch)
해당 글귀를 마주할것이다.
해당 문제의 포인트는
받는 숫자의 크기가 최대 10의 12승이라는 점이다.
만약 int 자료형으로 10^12 숫자를 받으면 어떻게 될까?
보편적으로 사용되는 int자료형은 최대값 2의 32승까지만 받을 수 있다.
로그를 취해 크기비교를 해보면 10^12이 2^32보다 크다는걸 알 수 있다.
따라서 int 자료형으로는 10^12을 받을 수 없다.
정수 자료형은 byte, short, int, long이 존재하는데,
간단하게 그냥 한 단계 더 높은 long 자료형을 사용하면 된다.
import java.util.Scanner;
public class Main{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
long A, B, C;
A = sc.nextLong();
B = sc.nextLong();
C = sc.nextLong();
System.out.print(A+B+C);
}
}
맞았습니다!!