본문 바로가기

알고리즘/카카오 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' 카테고리의 다른 글

키패드 누르기 (Level 1)  (0) 2022.05.26
숫자 문자열과 영단어 (Level 1)  (0) 2022.05.25
문자열 압축 (Level 2)  (0) 2022.05.23
신규 아이디 추천 (Level 1)  (0) 2022.05.23
신고 결과 받기 (Level 1)  (0) 2022.05.20