https://programmers.co.kr/learn/courses/30/lessons/42888
function solution(record) {
var answer = [];
//1. 배열 생성
var newArr = record.map(str=>str.split(" "));
//2. uid와 nickName match
// ***Leave인 경우 undefined 고려하기 (예외처리!)
var nickNameSet = {};
for(var i=0; i<newArr.length; i++){
if(newArr[i].length === 3 ){
nickNameSet[newArr[i][1]] = newArr[i][2];
}
}
//3. 출력하기
for(var i=0; i<newArr.length; i++){
if(newArr[i][0]==='Enter'){
answer.push(nickNameSet[newArr[i][1]]+'님이 들어왔습니다.');
} else if(newArr[i][0]==='Leave'){
answer.push(nickNameSet[newArr[i][1]]+'님이 나갔습니다.');
}
}
return answer;
}
다른 사람의 풀이를 보면 가장 끝에 결정되는 nickname만 고려하면 되기 때문에 record를 reverse해야 한다고 하는데, {uid:nickname} 형태의 objext를 이용하는 경우에는 자동적으로 가장 마지막 nickname으로 설정되기 때문에 그런 작업이 필요 없었음.