[프로그래머스] 오픈채팅방 - JS

잡초·2024년 5월 13일
0
post-thumbnail

문제

풀이

function solution(record) {
  let answer = []; 
  const map = new Map(); // 유저 아이디와 이름을 매핑하기 위한 Map 객체

  for (let i = 0; i < record.length; ++i) {
    // 현재 record를 공백을 기준으로 분리하여 상태(state), 유저 아이디(uid), 이름(name)을 추출
    const [state, uid, name] = record[i].split(" ");

    // 상태가 "Leave"인 경우, 답안 배열에 유저 아이디와 "님이 나갔습니다."를 추가
    if (state == "Leave") {
      answer.push([uid, "님이 나갔습니다."]);
      continue;
    }

    // 상태가 "Enter"인 경우, 답안 배열에 유저 아이디와 "님이 들어왔습니다."를 추가
    if (state == "Enter") {
      answer.push([uid, "님이 들어왔습니다."]);
    }

    // 유저 아이디와 이름을 Map에 저장
    map.set(uid, name);
  }

  // 최종적으로 답안 배열에 들어있는 각각의 요소에 대해 매핑된 이름을 가져와서 "님이 나갔습니다." 또는 "님이 들어왔습니다."와 함께 출력
  return answer.map((ele) => map.get(ele[0]) + ele[1]);
}
profile
개발자가 되고싶은 잡초

0개의 댓글