const solution = (record) => {
const result = [];
const hash = {};
for (let i = 0; i < record.length; i++) {
const [action, id, nick] = record[i].split(" ");
if (action == "Enter") {
hash[id] = nick;
result.push([id, "님이 들어왔습니다."]);
continue;
}
if (action == "Leave") {
result.push([id, "님이 나갔습니다."]);
continue;
}
if (action == "Change") {
hash[id] = nick;
continue;
}
}
return result.map(([id, sentence]) => hash[id] + sentence);
};
확실히 함수형으로 짜는 편이 직관적이기도 하고 가독성도 좋은데, 아무래도 명령형으로 짜는 게 자유도는 더 높아서 상충되는 면이 있는 것 같다.
코딩테스트용이니 명령형으로 짜서 조금이라도 시간을 단축시키는 게 맞겠지만 그래도 실무 코드는 아마 함수형으로 짜겠지...?