import java.util.*;

class Solution {
    public int[] solution(String s) {
        List<String> list = new ArrayList<>();
        
        if(!s.contains("},{")) {
            return new int[]{Integer.parseInt(s.replace("{{","").replace("}}",""))};
        }
        
        String[] arr = s.split("\\}\\,\\{");
        for(int i=0; i<arr.length; i++) {
            arr[i] = arr[i].replace("{{","").replace("}}","");
        }
        
        Arrays.sort(arr, new Comparator<String>(){
            @Override
            public int compare(String s1, String s2) {
                return s1.length()-s2.length();
            }
        });
        
        int[] answer = new int[arr.length];
        list.add(arr[0]); answer[0] = Integer.parseInt(arr[0]);
        
        for(int i=1; i<answer.length; i++) {
            String[] ss = arr[i].split(",");
            for(String sss : ss) {
                if(list.contains(sss)) { continue; }
                
                list.add(sss); answer[i] = Integer.parseInt(sss);
                break;
            }
        }
        
        return answer;
    }
}

'Problem Solving > Programmers' 카테고리의 다른 글

[Level 2] 프린터  (0) 2022.03.31
[Level 2] 전화번호 목록  (0) 2022.03.31
[Level 2] [1차] 뉴스 클러스터링  (0) 2022.03.31
[Level 2] 짝지어 제거하기  (0) 2022.03.31
[Level 2] 행렬 테두리 회전하기  (0) 2022.03.31