def solution(record):
id_dic = {}
answer = []
for change in record:
id_dic[change.split()[1]] = change.split()[-1]
for message in record:
if "Enter" in message:
answer.append(id_dic[message.split()[1]] + "님이 들어왔습니다.")
elif "Leave" in message:
answer.append(id_dic[message.split()[1]] + "님이 나갔습니다.")
else:
continue
return answer
내풀이 (2차 성공)
def solution(record):
id_dic = {}
answer = []
for change in record:
if len(change.split()) == 3:
id_dic[change.split()[1]] = change.split()[-1]
for message in record:
if "Enter" == message.split()[0]:
answer.append(id_dic[message.split()[1]] + "님이 들어왔습니다.")
elif "Leave" == message.split()[0]:
answer.append(id_dic[message.split()[1]] + "님이 나갔습니다.")
return answer
다른방법 1
def solution(record):
result = []
info = {}
for r in record:
r = r.split()
#들어온 경우
if r[0] == "Enter":
result.append([r[1], "님이 들어왔습니다."])
info[r[1]] = r[2]
#나간경우
elif r[0] == "Leave":
result.append([r[1], "님이 나갔습니다."])
#변경된 경우
else:
info[r[1]] = r[2]
result = list(map(lambda x : info[x[0]]+x[1], result))
return result