# Programmers
# (LV.2) 2019 KAKAO BLIND RECRUITMENT - 오픈채팅방 (opens new window)
function solution(record) {
let answer = [];
const map = new Map();
answer = record
.reduce((acc, cur) => {
const [cmd, uid, name] = cur.split(" ");
if (cmd === "Enter") {
map.set(uid, name);
acc.push(`${uid} 님이 들어왔습니다.`);
} else if (cmd === "Leave") {
acc.push(`${uid} 님이 나갔습니다.`);
} else if (cmd === "Change") {
map.set(uid, name);
}
return acc;
}, [])
.map((r) => {
const [id] = r.split(" ");
return r.replace(id + " ", map.get(id));
});
return answer;
}