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
반응형