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

hhkim·2023년 9월 19일
0

Algorithm - JavaScript

목록 보기
138/188
post-thumbnail

풀이 과정

  1. 기록 반복하면서 아이디를 키, 닉네임을 값으로 갖는 객체 생성
  2. 다시 반복하면서 Enter, Leave일 때 배열에 문자열 담기

코드

function solution(record) {
  const obj = {};
  for (const line of record) {
    const [flag, id, name] = line.split(' ');
    if (flag === 'Leave') continue;
    obj[id] = name;
  }
  const result = [];
  for (const line of record) {
    const [flag, id, _] = line.split(' ');
    if (flag === 'Change') continue;
    result.push(
      `${obj[id]}님이 ${flag === 'Enter' ? '들어왔습니다.' : '나갔습니다.'}`
    );
  }
  return result;
}

🤔

처음에 오 너무 쉬운데 하고 풀고선 제출했더니 테케 2개 통과 😱
처음 객체에 아이디와 닉네임을 담을 때 Leave에 대한 예외처리를 하지 않아서 문제가 생긴 거였다.
Leave할 때는 닉네임을 받지 않으니 닉네임이 사라지고 있었던 것..
문제를 꼼꼼히 잘 읽자...

0개의 댓글