프로그래머스/LEVEL 2

튜플

GenieLove! 2021. 6. 3. 21:47
728x90
반응형

Java

import java.util.*;
class Solution {
    public int[] solution(String s) {
        int[] answer;
        List<Integer> list = new ArrayList<>();
        
        String[] arr = s.split("\\{|\\}");
        Arrays.sort(arr, Comparator.comparing(String::length));//문자열 길이순 정렬
        
        for(int i = 0; i < arr.length; i++){
            if(arr[i].length() > 0){
                String[] arr2 = arr[i].split(",");
                if(arr2.length > 0){
                    for(int index = 0; index < arr2.length; index++){
                        if(list.indexOf(Integer.parseInt(arr2[index])) < 0)
                            list.add(Integer.parseInt(arr2[index]));
                    }
                }
            }
        }
        
        answer = new int[list.size()];
        
        for(int i = 0; i < answer.length; i++)
            answer[i] = list.get(i);
        
        return answer;
    }
}

Python

import re
def solution(s):
    answer = []
    arr = [i for i in re.split("{|}", s) if len(i) > 0 and i != ',']
    arr.sort(key = lambda x:len(x))
    
    for string in arr:
        arr2 = string.split(',')
        for value in arr2:
            if int(value) not in answer:
                answer.append(int(value))
    
    return answer
728x90
반응형

'프로그래머스 > LEVEL 2' 카테고리의 다른 글

타겟 넘버  (0) 2021.12.19
수식 최대화  (0) 2021.06.06
행렬 테두리 회전하기  (0) 2021.05.30
게임 맵 최단거리  (0) 2021.05.27
예상 대진표  (0) 2021.05.22