Algorithm/[BOJ] - JAVA
[백준] 10824 : 네 수 JAVA 풀이
Codew
2022. 9. 5. 22:12
1. 문자열을 입력 받는다.
2. A와 B를 연결한 값, C와 D를 연결할 값을 저장할 StringBuilder를 생성한다.
2. A B C D는 공백으로 나누어져 입력되므로,
StringTokenizer를 사용해 쪼갠다.
3. StringBuilder.append()를 사용해 A와 B, C와 D를 이어붙인다.
4. 두 StringBuilder에 저장된 값을 Long으로 캐스팅한 후 더하고 출력해준다.
아무리 봐도 문제가 없어보이는데 자꾸 NumberFormat 런타임에러가 떠서 당황스러웠다.
다시 문제를 잘 읽어보니 A B C D 각각이 1,000,000까지도 가능하기 때문에
int로는 감당할 수 없는 값이 입력될 수도 있는 거였다.
문제를 꼼꼼히 읽는 게 참 중요한 것 같다.
import java.io.*;
import java.util.*;
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," ");
StringBuilder AB = new StringBuilder();
StringBuilder CD = new StringBuilder();
AB.append(st.nextToken()).append(st.nextToken());
CD.append(st.nextToken()).append(st.nextToken());
System.out.println(Long.parseLong(AB.toString())+Long.parseLong(CD.toString()));
}
}