콘솔창 & 윈도우창/코딩 테스트

프로그래머스 LV.2 오픈채팅방

뽀또치즈맛 2025. 4. 8. 23:14

Github : https://github.com/kwon1232/CodingTest/tree/main/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4/2/42888.%E2%80%85%EC%98%A4%ED%94%88%EC%B1%84%ED%8C%85%EB%B0%A9

 

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

using namespace std;

vector<string> solution(vector<string> record) {
    vector<string> answer;
    unordered_map<string, string> idMap;

    for (int i = 0; i < record.size(); i++) {
        stringstream ss(record[i]);
        string cmd, id, name;
        ss >> cmd;
        if (cmd.compare("Enter") == 0) {
            ss >> id >> name;
            idMap[id] = name;
        }
        else if (cmd.compare("Change") == 0) {
            ss >> id >> name;
            idMap[id] = name;
        }
    }
    
    for (string &it : record) {
        stringstream ss(it);
        string cmd, id;
        ss >> cmd;
        if (cmd.compare("Enter") == 0) {
            ss >> id;
            answer.push_back(idMap[id] + "님이 들어왔습니다.");
        }else if (cmd.compare("Leave") == 0){
            ss >> id;
            answer.push_back(idMap[id] + "님이 나갔습니다.");
        }
    }

    return answer;
}

 

 

문제 출저

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