기록

프로그래머스_python_오픈채팅방 본문

코딩테스트/python

프로그래머스_python_오픈채팅방

youngyin 2022. 2. 23. 17:20

문제

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

 

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

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

programmers.co.kr

풀이

userDict에 유저의 아이디와 닉네임을 저장해둔다.

log에 유저의 행동을 uid로 저장해두었다가,

모든 기록을 읽고 난뒤 uid를 닉네임을 바꾸어 출력한다.

코드

def solution(record):
    
    # record 읽고 기록하기
    userDict = dict()
    log = list()
    for item in record : 
        cmm, *uid = item.split()
        if cmm == "Enter" : 
            log.append([uid[0], "님이 들어왔습니다."])
            userDict[uid[0]] = uid[1]
        elif cmm == "Leave" : 
            log.append([uid[0], "님이 나갔습니다."])
        else : 
            userDict[uid[0]] = uid[1]
    
    # nickname 처리하기
    for i in range(len(log)) : 
        uid, cmm = log[i]
        log[i] = userDict[uid]+cmm
    
    return log
Comments