시간초과로 해결할 수 없어서 다른분의 풀이를 참고했다..
function setName(record) {
var nameDict = {};
for (var i = 0; i < record.length; i++) {
if (record[i][0] !== 'L') {
var temp = record[i].split(' ');
nameDict[temp[1]] = temp[2];
}
}
return nameDict;
}
function makeLog(record, nameDict) {
var log = [];
for (var i = 0; i < record.length; i++){
if (record[i][0] === 'E') {
log.push(nameDict[record[i].split(' ')[1]] + "님이 들어왔습니다.") // temp[1] : ID
} else if (record[i][0] === 'L') {
log.push(nameDict[record[i].split(' ')[1]] + "님이 나갔습니다.")
}
}
return log;
}
function solution(record) {
return makeLog(record, setName(record));
}
setName 함수 : 객체 프로퍼티의 성질을 이용하여 최종에 있는 아이디의 캐릭터값을 그 아이디에 할당한다. 그렇게 만들어진 객체를 반환한다.
makeLog 함수 : setName 에서 만들어진 객체를 매개변수로 로그를 작성한다.