반응형
https://www.acmicpc.net/problem/10824
입력 조건이 1이상 100만 이하 이길래 int로 했었는데, 1,000,000 + 1,000,000 = 10,000,001,000,000 가 되어 int 타입의 범위를 넘게 되어 NumberFormat 예외가 터졌었다.
그리고 처음엔 내 스스로 푼게 264ms 나왔고, 블로그 참고해서 푼 게 124ms 나왔다.
첫 번째 풀이
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int A = sc.nextInt();
int B = sc.nextInt();
int C = sc.nextInt();
int D = sc.nextInt();
long AB = Long.parseLong(String.valueOf(A) + B);
long CD = Long.parseLong(String.valueOf(C) + D);
System.out.println(AB + CD);
}
}
스캐너 이용해서 int 받고, A만 문자열로 변환한 뒤 이를 숫자와 더하면 문자열로 변환되는 걸 이용한 뒤, long 타입으로 변환해주었다.
두 번째 풀이
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));
StringTokenizer st = new StringTokenizer(br.readLine());
String A = st.nextToken();
String B = st.nextToken();
String C = st.nextToken();
String D = st.nextToken();
long AB = Long.parseLong(A + B);
long CD = Long.parseLong(C + D);
System.out.println(AB + CD);
}
}
스트링 토크나이저를 이용해도 됐었다 ㅋㅋ
이거 보고 스캐너로 .next() 메서드로 해봤는데 208ms 나왔다.
반응형
'알고리즘 🤔' 카테고리의 다른 글
[백준 자바 9093] 단어 뒤집기 (브론즈1) (0) | 2024.06.19 |
---|---|
[백준 자바 19532] 수학은 비대면강의입니다. (브론즈2) (0) | 2024.06.14 |
[프로그래머스 자바] 단속카메라 (Lv.3) (1) | 2024.06.05 |
[백준 자바 2935] 소음 (브론즈3) (0) | 2024.06.02 |
[백준 자바 9506] 약수들의 합 (브론즈1) (0) | 2024.06.01 |