Recent Posts
Notice
No Rules Rules
신고 결과 받기 (feat. 프로그래머스, 92334번) 본문
728x90
반응형
신고 결과 받기
https://programmers.co.kr/learn/courses/30/lessons/92334
#include <string>
#include <vector>
#include <sstream>
#include <map>
#include <algorithm>
using namespace std;
vector<string> token_string(const string& text)
{
vector<string> result;
string token;
stringstream ss(text);
while(getline(ss, token, ' '))
{
result.emplace_back(token);
}
return result;
}
vector<int> solution(vector<string> id_list, vector<string> report, int k) {
// 신고당한사람 신고한사람
map<string, vector<string>> tmpl1;
// 신호한사람 신호당한사람
map<string, vector<string>> tmpl2;
for(const auto& report_item : report)
{
auto tmpl = token_string(report_item);
auto& first_person = tmpl[0]; // 신고한사람
auto& second_person = tmpl[1]; // 신고당한사람
if(tmpl1[second_person].empty() || (find(tmpl1[second_person].begin(), tmpl1[second_person].end(), first_person) == tmpl1[second_person].end()))
{
tmpl1[second_person].emplace_back(first_person);
}
if(tmpl2[first_person].empty() || (find(tmpl2[first_person].begin(), tmpl2[first_person].end(), second_person) == tmpl2[first_person].end()))
{
tmpl2[first_person].emplace_back(second_person);
}
}
vector<int> answer;
for(const auto& id_item : id_list)
{
auto count = 0;
auto& who_list = tmpl2[id_item];
for(const auto& who : who_list)
{
if(tmpl1[who].size() >= k)
{
++count;
}
}
answer.emplace_back(count);
}
return answer;
}
반응형
저번주 기회가 생겨 코테를 봤습니다.
오랜만에 해본 코테라 그런지 멘탈이 좀 나갔습니다. (이번주에 발표가 나는데 탈락일듯 합니다.)
앞으로 머리나 식힐겸 가끔 코테를 풀어 올릴 예정입니다.
풀이도 없고 규칙도 없고 정답도 없고.. 그냥 제가 푼 코드를 올립니다.
궁금하신점은 물어봐주세요.
ps. 인생 최대의 난제. 왜 내 코테는 어렵고 남 코테는 쉬울까.
728x90
반응형
'생활 > 코테' 카테고리의 다른 글
이친수 (feat. 백준, 2193번) (0) | 2022.07.20 |
---|---|
오픈채팅방 (feat. 프로그래머스, 42888번) (0) | 2022.07.20 |
문자열 압축 (feat. 프로그래머스, 60057번) (0) | 2022.07.20 |
신규 아이디 추천 (feat. 프로그래머스, 72410번) (0) | 2022.07.20 |
로또의 최고 순위와 최저 순위 (feat. 프로그래머스, 77484번) (0) | 2022.07.20 |
Comments