알고리즘/알고리즘
[C++] 프로그래머스 : 오픈채팅방
두둠칫
2022. 6. 1. 19:50
https://programmers.co.kr/learn/courses/30/lessons/42888
코딩테스트 연습 - 오픈채팅방
오픈채팅방 카카오톡 오픈채팅방에서는 친구가 아닌 사람들과 대화를 할 수 있는데, 본래 닉네임이 아닌 가상의 닉네임을 사용하여 채팅방에 들어갈 수 있다. 신입사원인 김크루는 카카오톡 오
programmers.co.kr
split 함수를 구현 + map활용하는 간단한 문제
#include <string>
#include <vector>
#include <sstream>
#include <iostream>
#include <map>
using namespace std;
vector<string> split(string str, char Delimiter) {
istringstream iss(str);
string buffer;
vector<string> result;
while (getline(iss, buffer, Delimiter)) {
result.push_back(buffer);
}
return result;
}
vector<string> solution(vector<string> record) {
vector<string> answer;
vector<vector<string>> vv(record.size());
map<string, string> m;
for(int i=0; i<record.size(); i++){
vv[i] = split(record[i], ' ');
if(vv[i][0]=="Enter" || vv[i][0]=="Change"){
m[vv[i][1]] = vv[i][2];
}
}
for(int i=0; i<vv.size(); i++){
string act = vv[i][0];
string msg = m[vv[i][1]];
if(act == "Enter"){
msg += "님이 들어왔습니다.";
}
else if(act == "Leave"){
msg += "님이 나갔습니다.";
}
else{
continue;
}
answer.push_back(msg);
}
return answer;
}