반응형
2022.07.16 - [Coding Test/Python] - [프로그래머스] 신고 결과 받기 Python code
문제의 설명과 예시는 위 포스트와 같다.
새 창으로 여는 것을 추천한다.
문제의 설명만 참고로 보겠다.
코드는 위 포스트의 파이썬 코드와 최대한 비슷하게 짜봤다.
#include <string>
#include <vector>
#include <algorithm>
#include <map>
#include <set>
using namespace std;
vector<int> solution(vector<string> id_list, vector<string> report, int k) {
vector<int> answer(id_list.size());
map<string, int> reportCnt;
set<string> report_set(report.begin(), report.end());
for(string s: report_set)
reportCnt[s.substr(s.find(' '))]++;
for (string s: report_set) {
if (reportCnt[s.substr(s.find(' '))] >= k){
int index = find(id_list.begin(), id_list.end(), s.substr(0, s.find(' '))) - id_list.begin();
answer[index] +=1;
}
}
return answer;
}
확실히 코드라인으로 볼 때 생산성은 파이썬이 높다는 것을 볼 수 있지만
결과의 성능은 약 3배 차이로 C++ 이 좋다는 것을 확인할 수 있었다.
반응형
'Coding Test > C++' 카테고리의 다른 글
[프로그래머스] 없는 숫자 더하기 C++ Code (0) | 2022.08.08 |
---|---|
[프로그래머스] 소수 만들기 C++ Code (0) | 2022.08.04 |
[프로그래머스] 내적 C++ Code (0) | 2022.07.29 |
[프로그래머스] 폰켓몬 C++ Code (0) | 2022.07.29 |
[프로그래머스] 음양 더하기 C++ code (0) | 2022.07.29 |
댓글