본문 바로가기

알고리즘 문제

2018 카카오 블라인드 코딩 테스트 1차 오픈채팅방

record에 있는 문자열을 공백 단위로 끊어서 list화 했다.

Enter인 경우 name_dict에 uid를 key로 하고 name을 value로 넣었다. Change인 경우 name이 갱신된다.

Leave했다가 Enter한 경우도 갱신된다.

 

최종적으로 이름을 다 바꿨으면 record에 있는 순서대로 uid로 name_dict에 접근해서 value를 가져온다.

def solution(record):
    name_dict = {}
    msg_list = []
    for i, msg in enumerate(record):
        record[i] = msg.split(' ')
    for msg in record:
        if len(msg) > 2 and msg[0]:
            name_dict[msg[1]] = msg[2]
    for msg in record:
        if msg[0] == 'Enter':
            msg_list.append(name_dict[msg[1]]+'님이 들어왔습니다.')
        elif msg[0] == 'Leave':
            msg_list.append(name_dict[msg[1]] + '님이 나갔습니다.')
    return msg_list

 

출처 https://www.welcomekakao.com/learn/courses/30/lessons/42888?language=python3