반응형
풀이
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문 하나에서 모든 걸 처리하려 생각하지 말고 두 단계로 나누니 간단해졌습니다.
반응형
'개발 > PS' 카테고리의 다른 글
[Python] 프로그래머스 Lv2 타켓넘버 (DFS, BFS) (0) | 2022.01.01 |
---|---|
[Python] 프로그래머스 LV1 실패율 (0) | 2022.01.01 |
프로그래머스 Lv1 키패드 누르기 (0) | 2021.12.30 |
프로그래머스 Lv1 크레인 인형뽑기 게임 (파이썬) (0) | 2021.12.30 |
프로그래머스 Lv1 숫자 문자열과 영단어(파이썬) (0) | 2021.12.30 |