[Programmers][Java] 실패율

HyeBin, Park·2021년 5월 3일
0

Programmers

목록 보기
9/26
post-thumbnail

https://programmers.co.kr/learn/courses/30/lessons/42889

📒 문제


📒 제한사항


🌻 코드

class Solution {
    public int[] solution(int N, int[] stages) {
       int[] stage = new int[N];
        double clear = 0;
        double fail = 0;

        double[]result = new double[N];

        for (int k = 0; k < N; k++) {
            stage[k]=k+1;
            for (int i = 0; i < stages.length; i++) {
                if(stages[i]>=k+1) clear++; //스테이지에 도달한 사람
                if(stages[i]==k+1) fail++; // 스테이지를 실패한 사람(도달만하고 성공못한사람 포함)
            }
            double failrate = fail/clear; // (실패율)
            result[k] = failrate;
            if (clear == 0) result[k] = 0; // 도달한 사람이 아무도 없을때
            clear = 0;
            fail = 0;
        }
        while(N>0) {
            for (int i = 0; i < result.length - 1; i++) {

                double tmp = result[i];
                int tmp1 = stage[i];
                if (result[i] < result[i + 1]) {
                    result[i] = result[i + 1];
                    result[i + 1] = tmp;
                    stage[i] = stage[i + 1];
                    stage[i + 1] = tmp1;
                }
                
            }
            N--;
        }


        return stage;
    }
}

0개의 댓글