#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(vector<string>::iterator iter = record.begin(); iter != record.end(); iter++)
{
stringstream ss(*iter);
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(vector<string>::iterator iter = record.begin(); iter != record.end(); iter++)
{
stringstream ss(*iter);
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;
}