본문 바로가기
Coding Test/Programmers

[Programmers] (2019 KAKAO BLIND RECRUITMENT) Lv 2. 오픈채팅방

by song.ift 2023. 7. 9.

https://school.programmers.co.kr/learn/courses/30/lessons/42888

 

프로그래머스

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

programmers.co.kr

 

#include <string>
#include <vector>
#include <sstream>
#include <list>
#include <unordered_map>

using namespace std;

vector<string> solution(vector<string> record) {
    vector<string> answer;
    unordered_map<string, string> m;
    list<pair<string, string>> li;

    stringstream ss;
    for (const auto& data : record) {
        ss.str(data);
        string command, userID, nickName; ss >> command >> userID >> nickName;
        ss.clear();

        if (command != "Change") li.emplace_back(make_pair(command, userID));
        if (command != "Leave") m[userID] = nickName;
    }

    for (const auto& pair : li) {
        const auto& command = pair.first, userID = pair.second;

        if (command == "Enter") answer.emplace_back(m[userID] + "님이 들어왔습니다.");
        else answer.emplace_back(m[userID] + "님이 나갔습니다.");
    }

    return answer;
}

GitHub : https://github.com/developeSHG/Algorithm-Baekjoon_Programmers/blob/ca4c9c950f0b7c7c6b9fa6abffc8b0d6c794e4d4/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4/lv2/42888.%E2%80%85%EC%98%A4%ED%94%88%EC%B1%84%ED%8C%85%EB%B0%A9/%EC%98%A4%ED%94%88%EC%B1%84%ED%8C%85%EB%B0%A9.cpp

 

댓글