(위코드 알고리즘 1회독 완료)
앞으로 어려운 문제 많이 보게 됥텐데 너무 어려우면 고민 많이 안하고 답도 좀 참고하고 배워야겠다. 일단 여러 문제를 알아가고 경험을 쌓는 것이 중요하기에.. 코테 이거 한 번에 된다 생각하면 안 되겠다. 카카오에서 크게 한 방 먹은 느낌.
idDict = dict()
# id값, 닉네임값으로 운영되는데 id값을 딕셔너리 형태로 부여한다. 여기서부터 사실 어려웠다.
def solution(record):
# 들어오는 닉네임 형태로 리코드가 배열로 들어온다.
answer = []
# 최종 리스트
log_list = []
# 로그 기록
for i in record:
# 먼저 배열을 for loop으로 돌린다.
data_list = i.split(" ")
# ~님이 입장했습니다. 이런 식으로 오니까 닉네임을 따로 뗀다."
if data_list[0] == "Leave":
log_list.append([data_list[1], "님이 나갔습니다."])
elif data_list[0] == "Enter":
idDict[data_list[1]] = data_list[2]
# 여기서 닉네임과 아이디를 같이 생각하는 듯
log_list.append([data_list[1], "님이 들어왔습니다."])
elif data_list[0] == "Change":
idDict[data_list[1]] = data_list[2]
# 변동의 경우도 같이 생각하는 듯.
for log in log_list:
answer.append(idDict[log[0]] + log[1])
# 로그 기록을 마지막에 answer에 넣는다.
return answer