#include <string>
#include <vector>
#include <map>
using namespace std;
vector<int> solution(vector<string> genres, vector<int> plays) {
vector<int> answer;
map<string,int> m1;
map<string,map<int,int>> ml;
for(int i=0;i<genres.size();i++){
m1[genres[i]]+=plays[i];
ml[genres[i]][i]=plays[i];
}
while(m1.size()>0){
string genre{};
int max{0};
for(auto mu:m1){
if(max<mu.second){
max=mu.second;
genre=mu.first;
}
}
for(int i=0;i<2;i++){
int val=0,ind=-1;
for(auto mk:ml[genre]){
if (val<mk.second){
val=mk.second;
ind=mk.first;
}
}
if(ind==-1) break;
answer.push_back(ind);
ml[genre].erase(ind);
}
m1.erase(genre);
}
return answer;
}
채점을 시작합니다.
정확성 테스트
테스트 1 〉 통과 (0.02ms, 3.94MB)
테스트 2 〉 통과 (0.02ms, 3.96MB)
테스트 3 〉 통과 (0.01ms, 3.96MB)
테스트 4 〉 통과 (0.01ms, 3.96MB)
테스트 5 〉 통과 (0.04ms, 3.95MB)
테스트 6 〉 통과 (0.04ms, 3.95MB)
테스트 7 〉 통과 (0.03ms, 3.96MB)
테스트 8 〉 통과 (0.03ms, 3.98MB)
테스트 9 〉 통과 (0.02ms, 3.96MB)
테스트 10 〉 통과 (0.04ms, 3.96MB)
테스트 11 〉 통과 (0.02ms, 3.95MB)
테스트 12 〉 통과 (0.03ms, 3.96MB)
테스트 13 〉 통과 (0.05ms, 3.97MB)
테스트 14 〉 통과 (0.05ms, 3.93MB)
테스트 15 〉 통과 (0.03ms, 3.95MB)
채점 결과
정확성: 100.0
합계: 100.0 / 100.0