풀기 전에 정렬을 해야한다
{{2}, {2, 1}, {2, 1, 3}, {2, 1, 3, 4}}
{{2, 1, 3, 4}, {2}, {2, 1, 3}, {2, 1}}
{{1, 2, 3}, {2, 1}, {1, 2, 4, 3}, {2}}
이 경우가 전부 같은 (2, 1, 3, 4)
에 해당되는 튜플이다
그러므로 정답 배열에 넣을 때 정렬 한후에 넣어야 같은 배열로 출력 될 것이다
/**
* s가 표현하는 튜플
*
* @param s 특정 튜플을 표현하는 집합이 담긴 문자열
* @return
*/
public static ArrayList<Integer> solution(String s) {
ArrayList<Integer> answer = new ArrayList<>();
s = s.replace("{{", "").replace("}}", "");
String[] str = s.split("\\},\\{");
Arrays.sort(str, (o1, o2) -> {
return o1.length() - o2.length();
});
for (int i = 0; i < str.length; i++) {
String[] data = str[i].split(",");
for (int j = 0; j < data.length; j++) {
int num = Integer.parseInt(data[j]);
if (!answer.contains(num)) {
answer.add(num);
}
}
}
return answer;
}