알고리즘 문제 풀이/프로그래머스
[프로그래머스] 오픈채팅방 python
부끄러엇피치
2022. 4. 9. 21:06
728x90
https://programmers.co.kr/learn/courses/30/lessons/42888
코딩테스트 연습 - 오픈채팅방
오픈채팅방 카카오톡 오픈채팅방에서는 친구가 아닌 사람들과 대화를 할 수 있는데, 본래 닉네임이 아닌 가상의 닉네임을 사용하여 채팅방에 들어갈 수 있다. 신입사원인 김크루는 카카오톡 오
programmers.co.kr
출처 : 프로그래머스
def solution(record):
answer = []
# userid : nickname 관리
users = {}
for records in record:
rec = records.split()
if len(rec) == 3:
users[rec[1]] = rec[2]
# 최종적으로 보게되는 메시지
for records in record:
rec = records.split()
if rec[0] == 'Enter':
answer.append(users[rec[1]] + "님이 들어왔습니다.")
elif rec[0] == 'Leave':
answer.append(users[rec[1]] + "님이 나갔습니다.")
return answer
풀이
명령어가 입력될 때마다 메시지가 출력되는 것이 아니고, 최종적으로 모두 변경된 후 메시지를 출력해야 한다.
user id가 중복되는 사람의 닉네임도 바뀐 최종 users 딕셔너리를 관리해야 한다.
user id가 중복되는 사람의 닉네임은 딕셔너리 키값으로 value를 덮어씌워준다.