내가 푼 코드

function solution(record) {
let answer = [];
let userData = {};
let chatLog = [];
for (const data of record) {
const enter = data.split(" ")[0]
const userId = data.split(" ")[1]
const userName = data.split(" ")[2]
if (enter === "Leave") {
chatLog.push([userId, "님이 나갔습니다."])
} else if (enter === "Enter") {
userData = { ...userData, [userId]: userName };
chatLog.push([userId, "님이 들어왔습니다."])
} else if (enter === "Change") {
userData = { ...userData, [userId]: userName };
}
}
for (const log of chatLog) {
answer.push(userData[log[0]] + log[1])
}
return answer;
}
console.log(solution(["Enter uid1234 Muzi", "Enter uid4567 Prodo","Leave uid1234","Enter uid1234 Prodo","Change uid4567 Ryan"]))

25번부터 시간 초과로 실패하게된다.

시간초과로 인해 테스트케이스를 통과하지 못하는데, 시간복잡도에 대한 개념이 부족해서 해결하지 못했다.

일단 기록해두고 나중에 다시 와서 풀자.