KAKAO BLIND RECRUITMENT 오픈채팅방
jiiii-hong
알고리즘
2022년 11월 01일
해당 게시글은 "프로그래머스 LV2"의 "KAKAO BLIND RECRUITMENT 오픈채팅방" 알고리즘 문제 풀이입니다.
풀이
// STEP1 - 유저 정보는 "입장"과 "변경"이란 두개의 이벤트에서 바뀔 수 있기 때문에 user정보를 먼저 저장
// STEP2 - 필요한 로그는 "입장"과 "퇴장"의 기록이기 때문에 "Change" 이벤트는 걸러준다.
// STEP3 - 접속 로그에 노출되는 회원 정보를 "최신 정보"로 갱신하고 이벤트를 한글로 바꿔준다.
function solution(record) {
var users = {};
for (let v of record) {
const data = v.split(" ");
if (data[0] !== "Leave") {
users[data[1]] = data[2];
}
}
return record.reduce((stack, v) => {
const [action, uid] = v.split(' ');
if (action !== 'Change') {
stack.push(
`${users[uid]}님이 ${
action === 'Enter' ? '들어왔습니다.' : '나갔습니다.'
}`,
);
}
return stack;
}, []);
}
'알고리즘' 카테고리의 다른 글
신규 아이디 추천 알고리즘 (0) | 2022.08.16 |
---|