수학 숙제 - 2870

Seongjin Jo·2023년 4월 16일
0

Baekjoon

목록 보기
16/51

문제

풀이

import java.util.*;

// 수학 숙제 - 2870
public class ex2870 {

    public static void solution(int n, String[] arr){
        String answer="";
        ArrayList<BigInteger> list = new ArrayList<>();

        for(String s : arr){
            for(int i=0; i<s.length(); i++){
                if(!Character.isAlphabetic(s.charAt(i))){
                    answer+=s.charAt(i);
                }
                else if(Character.isAlphabetic(s.charAt(i)) && answer!=""){
                    list.add(new BigInteger(answer));
                    answer="";
                }
            }
            if(answer!=""){
                list.add(new BigInteger(answer));
                answer="";
            }
        }
        Collections.sort(list);
        for(BigInteger s : list){
            System.out.println(s);
        }
    }
    public static void main(String[] args) {
        Scanner sc  =new Scanner(System.in);
        int n  = sc.nextInt();

        String[] arr = new String[n];
        for(int i=0; i<n; i++){
            arr[i]=sc.next();
        }
        solution(n,arr);
    }

}

문제는 쉽다. 그냥 보고 풀면된다. 중요한 것.

  1. 계속 런타임 에러가 떠서 알아봤더니 각 줄의 문자의 길이가 100까지라서 Integer,Long 으로는 안된다. 중간에 거쳐도 안된다.. 그래서 찾아보다가 BigInteger라는 자료형을 찾았다. 이 자료형으로 해결! 외우자.

0개의 댓글