Closed ericagong closed 1 year ago
문제 꼼꼼히 잘 읽기. 특정 조건인 경우, 입력값이 상이하다든가의 처리 필요 함수 기능별로 분리하는 편이 좋음
오픈채팅방
function get_message(action, nickname) { switch(action) { case 'Enter': return `${nickname}님이 들어왔습니다.` case 'Leave': return `${nickname}님이 나갔습니다.` } }
function solution(record) { const users = new Map() const actions = []
record.forEach((r) => { const [action, id, nickname] = r.split(' ') // Leave 일 때는 nickname 부재 if(action === 'Enter' || action === 'Change') users.set(id, nickname) if(action !== 'Change') actions.push([action, id]) }) const result = [] actions.forEach(([action, id]) => { const nickname = users.get(id) result.push(get_message(action, nickname)) }) return result
}
👍 리뷰완료
⭐ 성찰
❓ 문제 상황
오픈채팅방
👨💻 문제 해결
✅ 1차 풀이: Map을 이용한 최신 값 반영
function solution(record) { const users = new Map() const actions = []
}