https://www.welcomekakao.com/learn/courses/30/lessons/42888
#include <string>
#include <vector>
#include <queue>
#include <map>
using namespace std;
vector<string> solution(vector<string> record) {
vector<string> answer;
queue<pair<string, string>> q;
map<string, string> m;
for (int i = 0; i < record.size(); i++)
{
string tmp;
vector<string> v;
for (int j = 0; j < record[i].size(); j++) {
if (record[i][j] == ' ') {
v.push_back(tmp);
tmp.clear();
}
else tmp.push_back(record[i][j]);
}
v.push_back(tmp);
if (v[0] == "Change") {
m[v[1]] = v[2];
}
else if (v[0] == "Leave")
q.push(make_pair(v[0], v[1]));
else {
q.push(make_pair(v[0], v[1]));
m[v[1]] = v[2];
}
}
while (!q.empty())
{
string x = q.front().first;
string y = q.front().second;
string result;
q.pop();
if (x == "Enter")
result = m[y] + "님이 들어왔습니다.";
else
result = m[y] + "님이 나갔습니다.";
answer.push_back(result);
}
return answer;
}
'개발자 > algorithm' 카테고리의 다른 글
백준 2667번 : 단지번호붙이기 - dfs 기본문제 (c++) (0) | 2020.04.01 |
---|---|
백준 2667번 : 단지번호붙이기 - bfs 기본문제 (c++) (0) | 2020.04.01 |
백준 1010번 : 다리 놓기 (c++) (0) | 2020.03.20 |
2018 카카오 코딩테스트 1번 : 비밀지도 (c++) (0) | 2020.03.18 |
백준 1339번 : 단어 수학 (c++) (0) | 2020.03.10 |