Python/Algorithm

[프로그래머스] 오픈채팅방 - Python

언킴 2023. 9. 3. 16:22
반응형

해당 문제는 2019 KAKAO BLIND RECRUITMENT에 출제된 문제다. 프로그래머스 기준 Level 2에 해당하며, 다음과 같이 풀 수 있다. 

def solution(record):
    answer = []
    user_list = {}
    
    for rec in record:
        v = rec.split()
        
        if v[0] in ['Enter', 'Change']:
            user_list[v[1]] = v[2]
    
    for rec in record:
        v = rec.split()
        if v[0] == 'Enter':
            answer.append(f'{user_list[v[1]]}님이 들어왔습니다.')
        elif v[0] == 'Leave':
            answer.append(f'{user_list[v[1]]}님이 나갔습니다.')
    
    return answer

'Enter' 혹은 'Change'가 나왔을 때 user_list에 고유 사용자 아이디에 해당하는 닉네임을 변경해주는 구문을 작성한다. 그런다음, 'Enter' 혹은 'Leave'가 나왔을 때 출력되어야 하는 문구를 작성하면 쉽게 해결할 수 있다.