import java.util.*;
class Solution {
public int[] solution(int N, int[] stages) {
int[] answer = new int[N];
int stageNum = N;
int[] player = new int[stageNum];
int[] fail = new int[stageNum];
Map<Integer, Double> map = new HashMap<>();
List<Integer> answerList = new ArrayList<>();
for(int x=0; x<stageNum; x++) { //0 스테이지 4
for(int y=0; y<stages.length; y++) {
if(stages[y] >= x+1) { // 참여함
player[x] += 1;
if(stages[y] == x+1) { // 참여는 했는데 아직 클리어X
fail[x] += 1;
}
}
}
}
for(int i=0; i<stageNum; i++){
Double div = (double) fail[i] / player[i];
if(div.isNaN()) div=0d;
map.put(i+1, div);
}
List<Integer> keyList = new ArrayList<>(map.keySet()); // key list
Collections.sort(keyList, ((o1, o2) -> (map.get(o2).compareTo(map.get(o1)))));
return keyList.stream().mapToInt(integer->integer).toArray();
}
}
댓글