[2019 카카오] 오픈채팅방

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

 

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

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

programmers.co.kr

카카오의 2019 블라인드의 오픈채팅방 문제이다. 

 

입력 : 상호작용(Enter Leave Change) 각 유저의 아이디 닉네임

출력 : "닉네임" 님이 "상호작용" 하였습니다. 

 

[문제풀이] 

1. 단순히 문제만 잘 이해한다면 조건문으로 해결 가능한 문제

 

# record input : 명령어, 유저아이디, 닉네임 한 행 

def solution(record):
    answer = []
    trace = []
    map = {}
    for i in range(len(record)):
        temp = record[i].split(' ')
        if temp[0] == 'Enter':
            map[temp[1]] = temp[2]
            trace.append([temp[0], temp[1]])
        elif temp[0] == 'Leave':
            trace.append([temp[0], temp[1]])
        else:
            map[temp[1]] = temp[2]

    for i in range(len(trace)):
        if trace[i][0] == 'Enter':
            result = map[trace[i][1]] + "님이 들어왔습니다."
            answer.append(result)
        else:
            result = map[trace[i][1]] + "님이 나갔습니다."
            answer.append(result)

    return answer
728x90
반응형