프로그래머스 오픈채팅방 코드 및 해설 (파이썬)
2021. 6. 1. 15:40ㆍalgorithm
반응형
https://programmers.co.kr/learn/courses/30/lessons/42888
id2nickname이라는 딕셔너리를 만들어 key에는 user id가, value에는 가장 최신의 닉네임이 저장되도록 했습니다. 이후 eng2ko 함수를 통해 영어를 한국어로 바꾸고, id와 당시의 닉네임 대신 최신 닉네임이 나타나도록 했습니다.
def eng2ko(one_record, id2nickname):
user_id = one_record.split()[1]
nickname = id2nickname[user_id]
# 채팅방 들어오기
if one_record.startswith('Enter'):
return nickname + '님이 들어왔습니다.'
# 채팅방 나가기
elif one_record.startswith('Leave'):
return nickname + '님이 나갔습니다.'
def solution(record):
answer = []
# key: user id, value: 최신 닉네임
id2nickname = {}
for rec in record:
user_id = rec.split()[1]
if len(rec.split()) > 2:
nickname = rec.split()[2]
# 가장 최근의 닉네임으로 계속 갱신
id2nickname[user_id] = nickname
for rec in record:
result = eng2ko(rec, id2nickname)
if result:
answer.append(result)
return answer
반응형
'algorithm' 카테고리의 다른 글
프로그래머스 보석쇼핑 코드 및 해설 (파이썬) (0) | 2021.06.01 |
---|---|
프로그래머스 JadenCase 문자열 만들기 코드 및 해설 (파이썬) (0) | 2021.06.01 |
프로그래머스 체육복 코드 및 해설 (파이썬) (0) | 2021.06.01 |
프로그래머스 이중우선순위큐 코드 및 해설 (파이썬) (0) | 2021.06.01 |
프로그래머스 후보키 코드 및 해설 (파이썬) (0) | 2021.06.01 |