Geisha 2024. 6. 13. 09:41

 

처음 설계 하였을 때는 s 에 들어간 문자 하나하나 분석해가며 정수를 만들어가는 식으로 설계 하였으나 코드의 복잡성, 효율성에서 코드작성중 뒤엎게 되었고 String , Integer의 함수들을 이용하여 문자열을 분석해 나가는 방식으로 설계 하였다.

 

import java.util.*;

class p튜플 {
    public ArrayList<Integer> solution(String s) {
        ArrayList<Integer> answer = new ArrayList<>();
        s = s.substring(2,s.length()-2).replace("},{","-");
        String[] str = s.split("-");
        Arrays.sort(str, new Comparator<String>(){
            public int compare(String o1, String o2){
                return o1.length()- o2.length();
            }
        });
        for(String x : str){
            String[] temp = x.split(",");
            for(int i = 0 ; i< temp.length; i++){
                int n = Integer.parseInt(temp[i]);
                if(!answer.contains(n))
                    answer.add(n);
            }
        }
        return answer;
    }
}

 

String 

- substring(a,b)
- replace(a,b)

 

Arrays

Arrays.sort(str,new Comparator<String>(){
    public int compare(String o1, String o2){
        return o1-o2;
    }
});

 

Integer

- parseInt(str);