문제
코드
#define _CRT_SECURE_NO_WARNINGS
#include <string>
#include <vector>
#include <cstring>
#include <unordered_map>
using namespace std;
vector<string> split(string s, string divid);
vector<string> solution(vector<string> record) {
vector<string> answer;
unordered_map<string, string> userData;
for (string action : record)
{
vector<string> str = split(action, " ");
string id;
string name;
if (str[0] != "Leave")
{
id = str[1];
name = str[2];
userData[id] = name;
}
}
for (string action : record)
{
vector<string> str = split(action, " ");
string inputStr;
if (str[0] != "Change")
{
inputStr = userData[str[1]] + "님이 ";
inputStr += str[0] == "Enter" ? "들어왔습니다." : "나갔습니다.";
answer.emplace_back(inputStr);
}
}
return answer;
}
vector<string> split(string s, string divid)
{
vector<string> v;
char* c = strtok((char*)s.c_str(), divid.c_str());
while (c)
{
v.push_back(c);
c = strtok(NULL, divid.c_str());
}
return v;
}
'코딩테스트' 카테고리의 다른 글
[코딩테스트] 더 맵게 (0) | 2021.09.11 |
---|---|
[코딩테스트] 숫자 문자열과 영단어 (0) | 2021.09.08 |
[코딩테스트] 카펫 (0) | 2021.08.22 |
[코딩테스트] 타겟 넘버 (0) | 2021.08.20 |
[코딩테스트] 체육복 (0) | 2021.08.13 |