본문 바로가기
Problem Solving

[프로그래머스] L2 튜플 / 2019 카카오 겨울 인턴십 (Java)

by JYHAN 2020. 12. 19.

카카오

[프로그래머스] L2 캐시 / 2019 카카오 겨울 인턴십

[풀이]

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
import java.util.*;
class Solution {
    public int[] solution(String s) {
        s = s.substring(2, s.length()-2).replace("},{","-");
        String[] arr = s.split("-");
        
        if(arr.length==1)
            return new int[] {Integer.parseInt(arr[0])};
        
        Arrays.sort(arr, new Comparator<String>() {
           @Override
            public int compare(String o1, String o2){
                return o1.length() - o2.length();
            }
        });
        int[] answer = new int[arr.length];
        boolean[] chk = new boolean[100001];
        for(int i=0; i<arr.length; i++){
            String[] value = arr[i].split(",");
            for(int j=0; j<value.length; j++){
                int v = Integer.parseInt(value[j]);
                if(!chk[v]) {
                    answer[i] = v;
                    chk[v] = true;
                }
            }
        }
        
        return answer;
    }
}
cs

댓글