🔗 튜플
import java.util.*;
class Solution {
public int[] solution(String s) {
// 1. 양 끝 {{와 }} 제거
s = s.substring(2, s.length() - 2);
// 2. "},{" 기준으로 split
String[] sets = s.split("\\},\\{");
// 3. 길이 기준 정렬
Arrays.sort(sets, Comparator.comparingInt(String::length));
// 4. 결과 튜플 저장용
Set<Integer> seen = new HashSet<>();
List<Integer> result = new ArrayList<>();
for (String set : sets) {
for (String numStr : set.split(",")) {
int num = Integer.parseInt(numStr);
if (seen.add(num)) { // 중복 아니면 추가
result.add(num);
}
}
}
// 5. 배열로 변환
return result.stream().mapToInt(i -> i).toArray();
}
}
'코딩테스트 > 문제풀이' 카테고리의 다른 글
[ 프로그래머스 ] #42862 : 체육복 - JAVA (0) | 2025.04.18 |
---|---|
[ 프로그래머스 ] #42860 : 조이스틱 - JAVA (1) | 2025.04.17 |
[ 프로그래머스 ] #42586 : 기능개발 - JAVA (0) | 2025.04.15 |
[ 프로그래머스 ] #42839 : 소수 찾기 - JAVA (0) | 2025.04.14 |
[ etc ] #15 : 요세푸스 문제 - JAVA (0) | 2025.04.12 |