[프로그래머스]Level.1 2019 KAKAO-실패율

2021. 1. 8. 17:22Algorithm/프로그래머스

 

코딩테스트 연습 - 실패율

실패율 슈퍼 게임 개발자 오렐리는 큰 고민에 빠졌다. 그녀가 만든 프랜즈 오천성이 대성공을 거뒀지만, 요즘 신규 사용자의 수가 급감한 것이다. 원인은 신규 사용자와 기존 사용자 사이에 스

programmers.co.kr

 

문제설명

 

입출력예
입출력예

 


처음 풀때 테스트케이스 5개가 0점이 나와 당황했다..

아무리 봐도 맞는것 같은데 이상하다 싶었다ㅠㅠㅠㅠ

알고보니 실패율이 0일때 0/0처리를 안해줘서 문제였다 !!!!!

#include <string>
#include <vector>
#include<algorithm>
#include<iostream>
using namespace std;

bool compare(pair<int,double>&a,pair<int,double>&b){
   if(a.second==b.second)
       return a.first<b.first;
    else return a.second>b.second;
}

vector<int> solution(int N, vector<int> stages) {
    vector<int> answer;
    pair<int,double>p;
    vector<pair<int,double>> rate;
    
    for(int i=1;i<N+1;i++){
        double challenge=0,fail=0;
        for(int j=0;j<stages.size();j++){
            if(i<stages[j]||i==stages[j])
                challenge++;
            if(i==stages[j])
                fail++;
            }
        if(fail==0&&challenge==0) challenge=1;
        rate.push_back(make_pair(i,fail/challenge));
    }
    sort(rate.begin(),rate.end(),compare);
    
    for(int i=0;i<rate.size();i++){
        answer.push_back(rate[i].first);
    }
    return answer;
}