No Rules Rules

신고 결과 받기 (feat. 프로그래머스, 92334번) 본문

생활/코테

신고 결과 받기 (feat. 프로그래머스, 92334번)

개발하는 완두콩 2022. 7. 20. 14:16
728x90
반응형

신고 결과 받기
https://programmers.co.kr/learn/courses/30/lessons/92334

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

#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
반응형
Comments