https://www.acmicpc.net/problem/2870
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.math.BigInteger;
import java.util.*;
public class Main {
static ArrayList<BigInteger> answer;
public static void getNum(String input){
String s_number = "";
for(int i=0;i<input.length();i++){
char x = input.charAt(i);
if(x=='0'||x=='1'||x=='2'||x=='3'||x=='4'||x=='5'||x=='6'||x=='7'||x=='8'||x=='9'){
s_number+=x;
}
else{
if(s_number!=""){
// int num = Integer.parseInt(s_number);
answer.add(new BigInteger(s_number));
s_number="";
}
}
}
if(s_number!=""){
//int num = Integer.parseInt(s_number);
answer.add(new BigInteger(s_number));
}
}
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st;
answer = new ArrayList<>();
int N = Integer.parseInt(br.readLine());
for(int i=0;i<N;i++) {
String tmp = br.readLine();
//숫자 뽑기
getNum(tmp);
}
//오름차순 정렬
Collections.sort(answer);
//출력
for(BigInteger s:answer){
System.out.println(s);
}
}
}
처음에 Intger.parseInt로 정수로 변환하려 했지만 런타임에러가 떴다.
숫자가 100자리가 들어올 수 있기 때문에 정수형으로 표현할 수 없다.
BigInteger로 넣어주어야한다.
BigInteger 정리 : https://tech-heng.tistory.com/52
'알고리즘' 카테고리의 다른 글
[BOJ] 4358번 : 생태학 (JAVA) (0) | 2023.01.19 |
---|---|
[BOJ] 4659번 : 비밀번호 발음하기 (JAVA) (0) | 2023.01.18 |
[BOJ] 10808번 : 알파벳 개수(JAVA) (0) | 2023.01.18 |
[PGS] 최소직사각형 (JAVA) (0) | 2023.01.06 |
BOJ 13460 구슬탈출2 (JAVA) (2) | 2022.04.28 |