for (int i = 0; i < k - 1; i++) {
set.remove(set.stream().max(Comparator.naturalOrder()).get());
}
return set.stream().max(Comparator.naturalOrder()).get();
💪 새롭게 배운 내용
순서를 가진 Set인 TreeSet() 이란게 있구나!
🆘 이해가 어려운 내용
❌ 해결하지 못한 이유
✅ 본인 풀이
public class P0405 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String[] split = br.readLine().split("\\s");
int n = Integer.parseInt(split[0]);
int k = Integer.parseInt(split[1]);
String[] split1 = br.readLine().split("\\s");
int[] arr = new int[split1.length];
for (int i = 0; i < arr.length; i++) {
arr[i] = Integer.parseInt(split1[i]);
}
System.out.println(solution(k, arr));
}
private static int solution(int k, int[] arr) {
TreeSet<Integer> set = new TreeSet<>(Comparator.reverseOrder());
for (int i = 0; i < arr.length - 2; i++) {
for (int j = i + 1; j < arr.length - 1; j++) {
for (int l = j + 1; l < arr.length; l++) {
set.add(arr[i] + arr[j] + arr[l]);
}
}
}
if (set.size() < k) {
return -1;
}
for (int i = 0; i < k - 1; i++) {
set.pollFirst();
}
set.
return set.first();
}
}
/*
10 3
13 15 34 23 45 65 33 11 26 42
*/
📌 문제
⭐️ 아이디어
🤔 고민한 내용
💪 새롭게 배운 내용
🆘 이해가 어려운 내용
❌ 해결하지 못한 이유
✅ 본인 풀이
참고한 자료