반응형
https://programmers.co.kr/learn/courses/30/lessons/92334
글쓴이의 답
개인적인 풀이 임으로
이것보다 더 좋은 알고리즘은 많음...
이렇게도 푸는구나를 공유하기 위해 올림...
#include <string>
#include <vector>
#include <set>
#include <map>
#include <iostream>
using namespace std;
vector<string> split(string data){
vector<string> result;
size_t location = data.find(" ");
result.push_back(data.substr(0, location));
result.push_back(data.substr(location+1, data.size()));
return result;
}
vector<int> solution(vector<string> id_list, vector<string> report, int k) {
vector<int> answer;
set<string> duplicationDelete(report.begin(), report.end());
map<string, int> countResult;
map<string, vector<string>> member;
for (string data : duplicationDelete){
vector<string> temp = split(data);
countResult[temp[1]] += 1;
vector<string> memTemp = member[temp[0]];
memTemp.push_back(temp[1]);
member[temp[0]] = memTemp;
}
for (size_t i =0; i < id_list.size(); i++){
int result =0;
vector<string> memTemp = member[id_list[i]];
for(string t : memTemp){
if (k <= countResult[t]) {
result++;
}
}
answer.push_back(result);
}
return answer;
}
반응형
'코딩테스트' 카테고리의 다른 글
[프로그래머스][C++] 크레인 인형뽑기 게임 (0) | 2022.03.15 |
---|---|
[프로그래머스][C++] 키패드 누루기 (0) | 2022.03.15 |
[프로그래머스][C++] 숫자 문자열과 영단어 (0) | 2022.03.15 |
[프로그래머스][Python3] 신규 아이디 추천 (0) | 2022.03.15 |
[프로그래머스][C++] 로또의 최고 순위와 최저 순위 (0) | 2022.03.15 |