728x90
https://programmers.co.kr/learn/courses/30/lessons/42888
출처 : 프로그래머스
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를 덮어씌워준다.
'알고리즘 문제 풀이 > 프로그래머스' 카테고리의 다른 글
[프로그래머스] 거리두기 확인하기 python (*) (0) | 2022.04.10 |
---|---|
[프로그래머스] 기능개발 python (0) | 2022.04.09 |
[프로그래머스] 최솟값 만들기 python (0) | 2022.04.06 |
[프로그래머스] [1차] 다트 게임 python (0) | 2022.04.05 |
[프로그래머스] 소수 찾기 python (0) | 2022.04.05 |