본문 바로가기

알고리즘

백준 11382번 자바(Java) 꼬마 정민 풀이

백준 11382번 자바(Java) 꼬마 정민 풀이

 

문제 자체는 어렵지 않았지만 입력받는 숫자의 범위에 따라 데이터타입을 올바르게 받아야  했던 문제 정리해본다.

 

 


문제

꼬마 정민이는 이제 A + B 정도는 쉽게 계산할 수 있다. 이제 A + B + C를 계산할 차례이다!

 

입력

첫 번째 줄에 A, B, C (1 ≤ A, B, C ≤ 10¹²)이 공백을 사이에 두고 주어진다.

 

출력

A+B+C의 값을 출력한다.

 

예제 입력1

77 77 7777

 

예제 출력1

7931

 

 


 

백준 백준 11382번 자바(Java) 풀이법

 

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;

public class Main {

	public static void main(String[] args) throws IOException
	{				
		
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		
		String str = br.readLine();
		
		StringTokenizer st = new StringTokenizer(str," ");
		
		long A = Long.parseLong(st.nextToken());
		long B = Long.parseLong(st.nextToken());
		long C = Long.parseLong(st.nextToken());
		
		br.close();
		
		System.out.println(A + B + C);
	}
}

 

 

문제에서  A, B, C (1 ≤ A, B, C ≤ 10¹²이 조건 때문에 -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807 까지의 데이터 크기를 받을 수 있는 long 타입으로 입력받는 A, B, C의 정수형 타입을 지정해주어야 한다.

 

나는 계속 int 정수형으로 받고 있었어서  런타임에러(NumberFormat)가 발생했었다.

 

문제에서 입력값에 대한 범위가 특별하게 주어진다면 해당 값의 데이터타입을 고민해보자 !!