티스토리 뷰
title: "오픈채팅방"
category: 프로그래머스[Level-2]
tags: [C++, JavaScript, 프로그래머스]
date: "2021-02-02"
문제 링크
C++
#include <string>
#include <vector>
#include <map>
#include <sstream>
using namespace std;
vector<string> solution(vector<string> record) {
vector<string> answer;
map<string, string> uid_nick;
vector<string> order;
for(string str: record){
// split
stringstream ss(str);
string doing, uid, nick;
ss>>doing;
ss>>uid;
switch(doing[0]){
case 'E':{
ss>>nick;
uid_nick[uid]=nick;
order.push_back(uid);
order.push_back("님이 들어왔습니다.");
}
break;
case 'L':{
order.push_back(uid);
order.push_back("님이 나갔습니다.");
}
break;
case 'C':{
ss>>nick;
uid_nick[uid]=nick;
}
break;
}
}
// 메시지 배열
for(int i=0; i<order.size(); i+=2){
string nick=uid_nick[order[i]];
string doing=order[i+1];
answer.push_back(nick+doing);
}
return answer;
}
JavaScript
function solution(record) {
var answer = [];
const uid_nick = new Map();
record.forEach((val) => {
val = val.split(" ");
switch (val[0][0]) {
case "E":
{
uid_nick.set(val[1], val[2]);
answer.push(val[1] + "님이 들어왔습니다.");
}
break;
case "L":
{
answer.push(val[1] + "님이 나갔습니다.");
}
break;
case "C":
{
uid_nick.set(val[1], val[2]);
}
break;
}
});
answer = answer.map((val) => {
return val.replace(/\w+/, (v) => uid_nick.get(v));
});
return answer;
}
728x90
반응형
'Programmers Solutions > Level-2' 카테고리의 다른 글
[프로그래머스] 방금그곡 (0) | 2021.02.04 |
---|---|
[프로그래머스] 후보키 (0) | 2021.02.04 |
[프로그래머스] 캐시 (0) | 2021.02.04 |
[프로그래머스] 프렌즈4블록 (0) | 2021.02.04 |
[프로그래머스] 뉴스 클러스터링 (0) | 2021.02.04 |
댓글