튜플

Updated:

이 문제는 Parsing을 어떻게 할것인가가 가장 큰 문제였던거 같다.
그래서 다음과 같이 3가지 방법을 가지고 해결을 했다

  1. parsing을 어떻게 할지가 가장 큰 문제
  2. 파싱을 하고 나면 길이순으로 오름차순 정렬
  3. 그다음 list의 contains메소드를 써서 중복적으로 포함이 되었는지 안되었는지를 체크를 해준다

By Java

import java.util.*;

class Solution {
    public int[] solution(String s) {
        s = s.substring(2,s.length()-2).replace("},{","-"); 
// 2부터 시작을 한거는 맨앞에 가 있어서 그 length()-2까지를 잘라야했다
        // System.out.println(s);
        String[] arr = s.split("-");
        Arrays.sort(arr,(o1,o2)-> o1.length()-o2.length());
        List<Integer> list = new ArrayList<>();
        for(String temp : arr) {
            String[] strArr = temp.split(",");
            for(String t:strArr) {
                int value = Integer.parseInt(t);
                if(!list.contains(value)) { //있는지 없는지 체크
                    list.add(value);
                }
            }
        }
        int[] answer = {};
        answer = new int[list.size()];
        for(int i=0;i<list.size();i++) {
            answer[i] = list.get(i);
        }
        return answer;
    }
}

Leave a comment