2019년 1차 코딩테스트
input
["Enter uid1234 Muzi", "Enter uid4567 Prodo", "Leave uid1234", "Enter uid1234 Prodo", "Change uid4567 Ryan"]
output:
["Prodo님이 들어왔습니다.", "Ryan님이 들어왔습니다.", "Prodo님이 나갔습니다.", "Prodo님이 들어왔습니다."]
닉네임이 변경되었을 경우는 이미 기존에 존재하는 이전의 닉네임 모두 변경해서 표시하게 코드를 구현해라
record = ["Enter uid1234 Muzi",\
"Enter uid4567 Prodo",\
"Leave uid1234",\
"Enter uid1234 Prodo",\
"Change uid4567 Ryan"]
def solution(record):
result = []
user_id = {} # userid와 nickname을 딕셔너리 형태로 저장
# 먼저 for문을 돌면서 Enter와 Change에 해당하는 userid와 nickname을 저장
for i in range(len(record)):
temp_list = record[i].split()
if temp_list[0] == "Enter" or temp_list[0] == "Change":
user_id[temp_list[1]] = temp_list[2]
# 두번째 for문을 돌면서 조건에 따라서 출력문을 결과 리스트에 저장
for i in range(len(record)):
temp_list = record[i].split()
if temp_list[0] == "Enter":
test = f"{user_id[temp_list[1]]}님이 들어왔습니다."
result.append(test)
elif temp_list[0] =="Leave":
test = f"{user_id[temp_list[1]]}님이 나갔습니다."
result.append(test)
return result
a = solution(record)
print(a)