카톡 오픈채팅방 입출기록

2025. 1. 11. 17:24정보처리,전산/코딩 : 문제해결

반응형
record = ["Enter uid1234 Muzi", "Enter uid4567 Prodo", "Leave uid1234", "Enter uid1234 Muzi", "Change uid4567 Ryan"]
print(solution(record))



def solution(record):
    answer = []
    trace = []
    Map = {}

    # 입력된 record에서 사용자 이벤트 처리
    for r in record:
        temp = r.split(' ')
        
        if temp[0] == 'Enter':
            Map[temp[1]] = temp[2]  # 사용자 ID와 이름을 저장
            trace.append([temp[0], temp[1]])  # Enter 이벤트를 trace에 기록
        elif temp[0] == 'Leave':
            trace.append([temp[0], temp[1]])  # Leave 이벤트를 trace에 기록
        else:
            Map[temp[1]] = temp[2]  # 이름 변경 (Change 이벤트)

    # trace를 처리
    for t in trace:
        action, user_id = t
        if action == 'Enter':
            answer.append(f"{Map[user_id]}님이 들어왔습니다.")
        elif action == 'Leave':
            answer.append(f"{Map[user_id]}님이 나갔습니다.")

    return answer
 

반응형

'정보처리,전산 > 코딩 : 문제해결' 카테고리의 다른 글

배열  (0) 2024.11.12
소인수 개수  (0) 2024.07.21
배열 자리 거꾸로 swap  (0) 2024.06.22
배열에서 각 요소보다 작은 요소들의 수  (0) 2024.04.19
원형 큐 circular queue  (0) 2024.04.10