function solution(record) {
let answer = [];
const map = new Map(); // 유저 아이디와 이름을 매핑하기 위한 Map 객체
for (let i = 0; i < record.length; ++i) {
// 현재 record를 공백을 기준으로 분리하여 상태(state), 유저 아이디(uid), 이름(name)을 추출
const [state, uid, name] = record[i].split(" ");
// 상태가 "Leave"인 경우, 답안 배열에 유저 아이디와 "님이 나갔습니다."를 추가
if (state == "Leave") {
answer.push([uid, "님이 나갔습니다."]);
continue;
}
// 상태가 "Enter"인 경우, 답안 배열에 유저 아이디와 "님이 들어왔습니다."를 추가
if (state == "Enter") {
answer.push([uid, "님이 들어왔습니다."]);
}
// 유저 아이디와 이름을 Map에 저장
map.set(uid, name);
}
// 최종적으로 답안 배열에 들어있는 각각의 요소에 대해 매핑된 이름을 가져와서 "님이 나갔습니다." 또는 "님이 들어왔습니다."와 함께 출력
return answer.map((ele) => map.get(ele[0]) + ele[1]);
}