Algorithm/문제
35. K번째 큰 수 (TreeSet)
챛채
2023. 9. 6. 15:12
import java.util.*;
public class Main {
public int solution(int n, int k, int[] arr) {
int answer =-1;
TreeSet<Integer> Tset = new TreeSet<>(Collections.reverseOrder());//TreeSet의 원소는 Integer
/*
* Collection.reverseOrder()없으면 기본으로 오름차순으로 정렬됨
* 쓰면 내림차순
* */
//무조건 3장이므로 for문 사용
for (int i = 0; i < n; i++) {
for (int j = i + 1; j < n; j++) {//i+1 : 중복하면 안되기 때문에 i뒤부터 돌아야함
for (int l = j + 1; l < n; l++) {
Tset.add(arr[i] + arr[j] + arr[l]); //값추가
}
}
}
int cnt=0;
for (int x : Tset) {
cnt++;
if(cnt ==k) return x;
}
return answer; //-1 리턴
}
public static void main(String[] args){
Main T = new Main();
Scanner kb = new Scanner(System.in);
int n = kb.nextInt();
int k = kb.nextInt();
int [] arr = new int[n];
for (int i = 0; i < n; i++) {
arr[i] = kb.nextInt();
}
System.out.println(T.solution(n, k, arr));
}
}