본문 바로가기

알고리즘/카카오 EASY

오픈채팅방 (Level 2)

문제

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

 

코딩테스트 연습 - 오픈채팅방

오픈채팅방 카카오톡 오픈채팅방에서는 친구가 아닌 사람들과 대화를 할 수 있는데, 본래 닉네임이 아닌 가상의 닉네임을 사용하여 채팅방에 들어갈 수 있다. 신입사원인 김크루는 카카오톡 오

programmers.co.kr

 

내 풀이

 

  1. 모든 유저는 유저 아이디로 구분하므로, 유저 아이디를 기준으로 딕셔너리를 만든다.
  2. record를 돌면서 딕셔너리를 갱신한다.
  3. 최종적으로 만들어진 딕셔너리에 기반하여 방을 개설한 사람이 보게 되는 문자열을 만든다.

 

def solution(record):
    answer = []
    dic = dict()
    for r in record:
        sen = r.split()
        if sen[0] == 'Enter' or sen[0] == 'Change':
            dic[sen[1]] = sen[2]
        
    for r in record:
        sen = r.split()
        if sen[0] == 'Enter':
            answer.append(f"{dic[sen[1]]}님이 들어왔습니다.")
        elif sen[0] == 'Leave':
            answer.append(f"{dic[sen[1]]}님이 나갔습니다.")
    
    return answer

 

총평

Level 1 같은 Level 2 문제

'알고리즘 > 카카오 EASY' 카테고리의 다른 글