[프로그래머스] 오픈채팅방 (Python 파이썬)

dh·2022년 11월 16일
0
post-thumbnail

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

문제접근

결과에 최종적으로 바뀐 닉네임만 출력하면 되기 때문에
딕셔너리를 사용해서 고유아이디를 key로 닉네임을 value로 저장합니다.
그리고 첫번째 단어가 'Change'일때 딕셔너리에 저장된 value를 변경해줍니다.
출력할때는 딕셔너리에 저장된 바뀐 닉네임을 출력합니다.

코드

def solution(record):
    answer = []

    dict = collections.defaultdict()
    message=''

    for r in record:
        arr = r.split()
        if arr[0]=='Enter' or arr[0]=='Change':
            id, nick = arr[1],arr[2]
            dict[id]=nick

    for r in record:
        arr = r.split()
        if arr[0] == 'Enter' or arr[0] == 'Leave':
            if arr[0] == 'Enter':
                message=" 들어왔습니다."
            else:
                message=" 나갔습니다."

            answer.append(dict[arr[1]]+'님이'+message)

    return answer

0개의 댓글