class : Design Code
[프로그래머스][C++] 2019 KAKAO BLIND RECRUITMENT : 실패율 본문
https://school.programmers.co.kr/learn/courses/30/lessons/42889
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
1. first try : vector_pair_sort를 사용하여 문제를 풀었다.
#include <string>
#include <vector>
#include <iostream>
#include <algorithm>
using namespace std;
// second_내림차순 정렬
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;
vector<pair<int,double>> saveResult;
for(int i=1;i<N+1;i++){
double curStage=0;
double curPerNum=0;
for(int j=0;j<stages.size();j++){
if(stages[j]==i){
curStage++;
}
if(stages[j]>=i){
curPerNum++;
}
}
if(curPerNum==0)
saveResult.push_back(make_pair(i,0));
else
saveResult.push_back(make_pair(i,curStage/curPerNum));
}
sort(saveResult.begin(), saveResult.end(), compare);
for (int i = 0; i < N; i++) {
answer.push_back(saveResult[i].first) ;
}
return answer;
}
테스트 1 〉 | 통과 (0.01ms, 4.21MB) |
테스트 2 〉 | 통과 (0.06ms, 3.66MB) |
테스트 3 〉 | 통과 (16.85ms, 4.08MB) |
테스트 4 〉 | 통과 (73.65ms, 6.55MB) |
테스트 5 〉 | 통과 (314.33ms, 9.91MB) |
테스트 6 〉 | 통과 (0.25ms, 4.16MB) |
테스트 7 〉 | 통과 (2.58ms, 3.98MB) |
테스트 8 〉 | 통과 (71.97ms, 6.55MB) |
테스트 9 〉 | 통과 (322.27ms, 9.93MB) |
테스트 10 〉 | 통과 (33.02ms, 6.23MB) |
테스트 11 〉 | 통과 (86.94ms, 6.53MB) |
테스트 12 〉 | 통과 (37.09ms, 7.74MB) |
테스트 13 〉 | 통과 (71.76ms, 8.36MB) |
테스트 14 〉 | 통과 (0.02ms, 4.19MB) |
테스트 15 〉 | 통과 (2.06ms, 5.16MB) |
테스트 16 〉 | 통과 (1.00ms, 4.47MB) |
테스트 17 〉 | 통과 (2.21ms, 5.3MB) |
테스트 18 〉 | 통과 (1.20ms, 4.29MB) |
테스트 19 〉 | 통과 (0.27ms, 4.2MB) |
테스트 20 〉 | 통과 (1.77ms, 4.65MB) |
테스트 21 〉 | 통과 (2.83ms, 6.32MB) |
테스트 22 〉 | 통과 (117.03ms, 9.95MB) |
테스트 23 〉 | 통과 (3.90ms, 9.63MB) |
테스트 24 〉 | 통과 (14.15ms, 9.77MB) |
테스트 25 〉 | 통과 (0.02ms, 4.22MB) |
테스트 26 〉 | 통과 (0.01ms, 4.14MB) |
테스트 27 〉 | 통과 (0.01ms, 4.14MB) |
2.compare 함수에서 레퍼런스 팜조를 했다. 평균적으로 성능이 조오금... 향상된 듯 보인다.
// second_내림차순 정렬
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;
}
테스트 1 〉 | 통과 (0.01ms, 4.18MB) |
테스트 2 〉 | 통과 (0.07ms, 4.19MB) |
테스트 3 〉 | 통과 (15.25ms, 4.23MB) |
테스트 4 〉 | 통과 (76.36ms, 6.55MB) |
테스트 5 〉 | 통과 (290.56ms, 9.98MB) |
테스트 6 〉 | 통과 (0.24ms, 4.12MB) |
테스트 7 〉 | 통과 (2.54ms, 4.21MB) |
테스트 8 〉 | 통과 (81.13ms, 6.5MB) |
테스트 9 〉 | 통과 (301.12ms, 9.86MB) |
테스트 10 〉 | 통과 (30.41ms, 6.21MB) |
테스트 11 〉 | 통과 (74.77ms, 6.56MB) |
테스트 12 〉 | 통과 (33.11ms, 7.74MB) |
테스트 13 〉 | 통과 (72.53ms, 8.4MB) |
테스트 14 〉 | 통과 (0.02ms, 4.19MB) |
테스트 15 〉 | 통과 (1.72ms, 5.25MB) |
테스트 16 〉 | 통과 (1.01ms, 4.52MB) |
테스트 17 〉 | 통과 (2.17ms, 5.1MB) |
테스트 18 〉 | 통과 (1.01ms, 4.44MB) |
테스트 19 〉 | 통과 (0.25ms, 4.19MB) |
테스트 20 〉 | 통과 (1.70ms, 4.88MB) |
테스트 21 〉 | 통과 (2.87ms, 6.27MB) |
테스트 22 〉 | 통과 (118.84ms, 9.93MB) |
테스트 23 〉 | 통과 (3.47ms, 9.63MB) |
테스트 24 〉 | 통과 (14.15ms, 9.71MB) |
테스트 25 〉 | 통과 (0.01ms, 4.19MB) |
테스트 26 〉 | 통과 (0.01ms, 4.2MB) |
테스트 27 〉 | 통과 (0.01ms, 4.12MB) |
'C++ > CodingTest' 카테고리의 다른 글
[프로그래머스][C++] 해시 : 완주하지 못한 선수 (0) | 2023.03.12 |
---|---|
[프로그래머스][C++] 2021 카카오 채용연계형 인턴십 : 숫자 문자열과 영단어 (0) | 2023.03.07 |
[프로그래머스][C++] 2022 kakao intership : 성격 유형 검사하기 (0) | 2023.03.05 |