728x90

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

 

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

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

programmers.co.kr

출처 : 프로그래머스


def solution(record):
    answer = []
    # userid : nickname 관리
    users = {}
    for records in record:
        rec = records.split()
        if len(rec) == 3:
            users[rec[1]] = rec[2]
            
    # 최종적으로 보게되는 메시지
    for records in record:
        rec = records.split()
        if rec[0] == 'Enter':
            answer.append(users[rec[1]] + "님이 들어왔습니다.")
        elif rec[0] == 'Leave':
            answer.append(users[rec[1]] + "님이 나갔습니다.")
            
    return answer

풀이

명령어가 입력될 때마다 메시지가 출력되는 것이 아니고, 최종적으로 모두 변경된 후 메시지를 출력해야 한다.

user id가 중복되는 사람의 닉네임도 바뀐 최종 users 딕셔너리를 관리해야 한다.

user id가 중복되는 사람의 닉네임은 딕셔너리 키값으로 value를 덮어씌워준다.

+ Recent posts