본문 바로가기

study/coding test

[카카오/자바] 오픈채팅방

[카카오:자바]오픈채팅방

[카카오/자바] 오픈채팅방

https://programmers.co.kr/learn/courses/30/lessons/42888

 

접근 방식

  • 채팅방에 있는 유저들의 아이디(Key)와 닉네임(Value)을 hashMap에 저장
  • 닉네임 변경을 제외한 유저들의 행동 로그를 Queue에 저장

 

  1. 들어오거나 닉네임을 바꿀 때, hashMap에 저장

  2. hashMap에 Change를 제외한, 행동로그에 따른 메세지를 저장

    1. key "Enter" - value "들어왔습니다."
    2. key "Leave" - value "나갔습니다."
  3. "Change"를 제외한, 행동 로그를 UserLog 객체 타입으로 Queue로 저장

    1. UserLog(id, action)
  4. 1~3까지의 기록 처리가 끝나면, Queue에 저장된 로그를 문자열 배열 형태로 return

 

소스 구현

 

효율성 테스트