728x90
SMALL
문제 이해
- 특정 튜플을 표현하는 집합이 담긴 문자열이 "{","}"로 표현되어있다.
- 튜플 안에 집한의 원소의 순서는 바뀌어도 상관없다.
- 집합의 원소 개수가 answer 배열의 index와 동일하다.(1개 = answer[0], 2개 = answer[1]) 집합 개수에 맞게 오름차순을 해야한다.
- 집합개수 2개의 경우 (a1, a2) == (a2, a1) 가능하다. 순서 상관없이 튜플이 가능
- index = 1 일때 집합의 개수 2개로 위와 같이 존재한다. list.get(0) = a1 이면 list.get(1) = a2, 반대로 list.get(0) = a2 이면 list.get(1) = a1 이 되게끔 만들어야한다.
import java.util.*;
class Solution {
public int[] solution(String s) {
s = s.replaceAll("\\},", "w");
s = s.replaceAll("\\{", "");
s = s.replaceAll("\\}", "");
String[] list = s.split("w");
String[] temp = new String[list.length];
int max = 0;
for(int i = 0; i<list.length; i++){
max = Math.max(list[i].split(",").length, max);
temp[list[i].split(",").length - 1] = list[i];
}
List<String> result = new ArrayList();
result.add(temp[0]);
for(int i = 1; i<temp.length; i++){
String[] num = temp[i].split(",");
for(int j = 0; j<num.length; j++){
if(result.indexOf(num[j]) == -1){
result.add(num[j]);
}
}
}
int[] answer = new int[result.size()];
for(int i = 0; i<result.size(); i++){
answer[i] = Integer.parseInt(result.get(i));
}
return answer;
}
}
728x90
LIST
'자바 > 코딩테스트' 카테고리의 다른 글
[프로그래머스] [1차]뉴스 클러스터링 - Java(자바) (0) | 2024.03.28 |
---|---|
[프로그래머스] 피로도 - Java(자바) (0) | 2024.03.28 |
[프로그래머스] [1차] 캐시 - Java(자바) (0) | 2024.03.27 |
[프로그래머스] 기능개발 - Java(자바) (1) | 2024.03.26 |
[프로그래머스] 할인 행사 - Java(자바) (0) | 2024.03.26 |