https://programmers.co.kr/learn/courses/30/lessons/42888
#include <string>
#include <vector>
#include <sstream>
#include <unordered_map>
using namespace std;
vector<string> solution(vector<string> record) {
vector<string> answer; //정답
vector<pair<bool, string>> result; //결과로 찍을 순서
unordered_map<string, string> users; //id와 닉네임을 넣는 map
for (string r : record) { //마지막 닉네임을 알아내기 위해
string command, uid, unick;
istringstream ss(r);
ss >> command >> uid >> unick;
if (!command.compare("Enter")) { //입장
users[uid] = unick;
result.push_back({ true,uid });
}
else if (!command.compare("Leave")) { //퇴장
result.push_back({ false,uid });
}
else { //변경
users[uid] = unick;
}
}
for (auto tmp : result) { //결과를 저장하는 단계
string nickname = users[tmp.second];
if (tmp.first) { //입장
answer.push_back(nickname + "님이 들어왔습니다.");
}
else { //퇴장
answer.push_back(nickname + "님이 나갔습니다.");
}
}
return answer;
}
'전공공부 > 코딩테스트' 카테고리의 다른 글
(c++) 백준 "1141)접두사" (0) | 2022.06.27 |
---|---|
(c++) 백준 "1032) 명령 프롬프트" (0) | 2022.06.27 |
(c++) 백준 "16928) 뱀과 사다리 게임" (0) | 2022.06.10 |
(C++) 프로그래머스 "보행자 천국" (0) | 2022.06.10 |
(c++) 백준 "1992) 쿼드 트리" (0) | 2022.06.09 |