#include <string> #include <vector> #include <iostream> #include <algorithm> using namespace std; bool cmp(pair<double, int> a, pair<double, int> b) { if(a.first == b.first) { if(a.second < b.second) { return true; } else { return false; } } else if(a.first > b.first) { return true; } else { return false; } } vector<int> solution(int N, vector<int> stages) { vector<int> answer; vector<pair<double, int>> reserve; sort(stages.begin(), stages.end()); for(int k = 1; k <= N; k++) { int playerCnt = 0; int failCnt = 0; for(int i = 0; i < stages.size(); i++) { if(stages[i] >= k) { playerCnt++; } if(stages[i] == k) { failCnt++; } } if(failCnt == 0) { reserve.push_back({0, k}); } else { reserve.push_back({(double)failCnt/playerCnt, k}); } } sort(reserve.begin(), reserve.end(), cmp); for(int i = 0; i < reserve.size(); i++) { answer.push_back(reserve[i].second); cout << reserve[i].first << endl; } return answer; } | cs |
'Programmers > Level 1' 카테고리의 다른 글
[프로그래머스 1] 직사각형 별찍기 (C/C++) (0) | 2019.10.19 |
---|---|
[프로그래머스 1] x만큼 간격이 있는 n개의 숫자 (C/C++) (0) | 2019.10.19 |
[프로그래머스 1] 예산 (C/C++) (0) | 2019.10.19 |
[프로그래머스 1] 행렬의 덧셈 (C/C++) (0) | 2019.10.19 |
[프로그래머스 1] 핸드폰 번호 가리기 (C/C++) (0) | 2019.10.19 |