개발/PS

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

유훈 | Yuhun 2021. 12. 31. 01:18
반응형

풀이

def solution(record):
    answer = []
    user_data = {}
    for i in record:
        temp = i.split()
        command = temp[0]
        if command == 'Enter' or command == 'Change':
            user_data[temp[1]] = temp[2]

    for i in record:
        temp = i.split()
        command = temp[0]
        if command == 'Enter':
            answer.append(f'{user_data[temp[1]]}님이 들어왔습니다.')
        elif command == 'Leave':
            answer.append(f'{user_data[temp[1]]}님이 나갔습니다.')

    return answer

# 1. 아이디와 닉네임을 매칭 시키는 Dictionary를 만든다.

# 2. Enter나 Change가 발생할 때 Dictionary의 이름값이 추가되거나 바뀐다.

# 3. 이후 Enter나 Leave만 추려 ID에 맞는 닉네임을 매칭 해준 문자열을 answer에 추가한다.

 

이 문제는 데이터를 split하고 어떻게 처리하느냐 생각해 볼 수 있는 문제였습니다.

꼭 for문 하나에서 모든 걸 처리하려 생각하지 말고 두 단계로 나누니 간단해졌습니다.

반응형