
n명의 학생 중 3명을 선발
참여 가능한 학생 && 등수가 높은 (AND 조건) = 3명 선발
int rank[] -> 학생들의 등수를 담은 배열
boolean attendance[] -> 참여 가능 여부를 담은 배열
선발 된 학생 ⭐번호⭐들을 등수가 높은 순서대로 a, b, c
return = (10000 * a) + (100 * b) + c

어떻게 풀지?
boolean배열에서 true인 index로 등수(rank[index])와 index를 저장
두 값을 저장해야 하니 Map으로 key값에 등수, value값에 index 저장
index를 꺼내서 사용해야하니 value로 넣어줌
key값 정렬 -> key값으로 value 가져오기

import java.util.*;
class Solution {
public int solution(int[] rank, boolean[] attendance) {
Map<Integer, Integer> map = new HashMap<>();
for (int i = 0; i < attendance.length; i++) {
if (attendance[i] == true) {
map.put(rank[i], i);
}
}
Object[] mapKey = map.keySet().toArray();
Arrays.sort(mapKey);
int[] resultArr = new int[3];
for (int i = 0; i < 3; i++) {
resultArr[i] = map.get(mapKey[i]);
}
int a = resultArr[0];
int b = resultArr[1];
int c = resultArr[2];
int result = (10000 * a) + (100 * b) + c;
return result;
}
}