1. 문제
2. 설명
3. 풀이
- Enter, Change로 변경된 닉네임을 딕셔너리에 저장합니다.
- 원본record의 user_id 중에서 변경된 닉네임의 딕셔너리에 있으면 이를 변경하여 보여지는 메시지를 생성합니다.
4. 코드
def make_showing_msg(records, updated_nicknames):
showing_msg = []
for record in records:
record_list = record.split(" ")
command = record_list[0]
user_id = record_list[1]
if command == "Enter":
korean_command = "들어왔습니다."
new_nickname = record_list[2]
elif command == "Leave":
korean_command = "나갔습니다."
else:
continue
if user_id in updated_nicknames:
new_nicknames = updated_nicknames[user_id]
showing_msg.append(new_nicknames + "님이 " + korean_command)
return showing_msg
def update_nickames(records, updated_nicknames):
for record in records[::-1]:
record_list = record.split(" ")
command = record_list[0]
user_id = record_list[1]
if command != "Leave" and not user_id in updated_nicknames:
new_nickname = record_list[2]
updated_nicknames[user_id] = new_nickname
def solution(records):
updated_nicknames = {}
update_nickames(records, updated_nicknames)
showing_msg = make_showing_msg(records, updated_nicknames)
return showing_msg
'알고리즘 > 프로그래머스' 카테고리의 다른 글
[프로그래머스] 소수 찾기 (python) (0) | 2021.06.29 |
---|---|
[프로그래머스] 단어변환 (python) (0) | 2021.06.27 |
[프로그래머스] 큰 수 만들기 (0) | 2021.06.23 |
[프로그래머스] H-Index (python) (0) | 2021.06.23 |
[프로그래머스] 위장(python) (0) | 2021.06.22 |
댓글