Python 문제 풀기

[Python 문제 풀기]

100.nam 2024. 12. 24. 22:21

1. 오픈채팅방

 

더보기
def solution(record):
    answer = []
    logs = [item.split() for item in record] #문자열을 
    
    # uid와 이름을 저장할 딕셔너리
    user_dict = {}
    
    for log in logs:
        action = log[0]
        user_id = log[1]
        
        # Enter 또는 Change일 경우에 이름을 갱신
        if action == 'Enter' or action == 'Change':
            name = log[2]
            user_dict[user_id] = name  # 유저의 이름을 갱신
        
    # 로그 순회하여 입장/퇴장 메시지 생성
    for log in logs:
        action = log[0]
        user_id = log[1]
        
        if action == 'Enter':
            # Enter일 경우 해당 UID의 이름을 가져와 입장 메시지를 추가
            answer.append(f"{user_dict[user_id]}님이 들어왔습니다.")
        elif action == 'Leave':
            # Leave일 경우 해당 UID의 이름을 가져와 퇴장 메시지를 추가
            answer.append(f"{user_dict[user_id]}님이 나갔습니다.")
    
    return answer