Problem | 오픈채팅방
대부분의 회사가 IDE 복사를 허용하지 않아서 프로그래머스 IDE 창에서 코드를 치는 습관을 들이고 있다. 그래서 tab키 간격이 고르지 않을 수 있습니다 🥲
map 을 사용한다.
그리고, 최종적으로 for문을 반복하며 id에 따라 닉네임을 출력할 수 있게끔해준다. (중복 닉네임이 허용되므로)
function solution(records) {
var answer = [];
const userMap=new Map();
for(let record of records){
const [order,id,nickname] =record.split(' ');
if(order==='Leave') continue;
if(!userMap.get(id) || order==='Change' || userMap.get(id)!==nickname){
userMap.set(id,nickname);
}
}
for(let record of records){
const [order,id]=record.split(' ');
const nickname=userMap.get(id);
if(order==='Enter'){
answer.push(`${nickname}님이 들어왔습니다.`)
}else if(order==='Leave'){
answer.push(`${nickname}님이 나갔습니다.`)
}
}
return answer;
}