PS/프로그래머스
[구현][Javascript] 오픈채팅방
returnzero
2022. 7. 28. 16:03
function solution(record) {
record =record.map(e=>e.split(' '));
let idToNick={};
for(let i=0; i<record.length;i++){
if(record[i][0]=='Enter'){
idToNick[record[i][1]]=record[i][2]
}
else if (record[i][0]=='Change'){
idToNick[record[i][1]]=record[i][2]
}
}
// console.log(idToNick)
// console.log(record);
function messageMaker(arr){
if(arr[0]=='Enter'){
let Nick=idToNick[arr[1]];
return `${Nick}님이 들어왔습니다.`
}
else if(arr[0]=='Leave'){
let Nick=idToNick[arr[1]];
return `${Nick}님이 나갔습니다.`
}
}
var answer = [];
record.forEach(e=> {
if(e[0]!=='Change'){
answer.push(messageMaker(e))
}
})
// console.log(answer);
return answer;
}
// update는 모든 곳에 적용해야 한다.
// nickname에 중복이 있으니 고유하게 식별할 필요가 있음.
Js object활용해서 저장해두면 간편하게 구현할 수 있다.