문제링크 :https://programmers.co.kr/learn/courses/30/lessons/42888
문제설명
채팅방에 들어오고 나가거나, 닉네임을 변경한 기록이 담긴 문자열 배열 record가 매개변수로 주어질 때, 모든 기록이 처리된 후, 최종적으로 방을 개설한 사람이 보게 되는 메시지를 문자열 배열 형태로 return 하는 solution 함수
알고리즘
1. record 에서 유저 ID를 기준으로 채팅을 입력
2. 유저 ID 와 닉네임을 딕셔너리로만들어 바뀔때마다 최신화 해준다.
3. 모든 채팅을 입력한후 유저 ID 에맞게 이름을 바꿔서 answer에 append 해준다.
코드
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | def solution(record): answer = [] input_data=[] dic={} actionList ={'Leave':'님이 나갔습니다.','Enter' : '님이 들어왔습니다.'} action=[] for i in range(len(record)): input_data.append(record[i].split(" ")) for i in range(len(record)): if input_data[i][0]!='Leave': dic[input_data[i][1]] = input_data[i][2] if input_data[i][0]!='Change': action.append((input_data[i][0],input_data[i][1])) for act,ID in action: answer.append(dic[ID]+actionList[act]) return answer | cs |
'파이썬 > 프로그래머스' 카테고리의 다른 글
[python] 프로그래머스 - 프린터 (0) | 2020.08.05 |
---|---|
[python] 프로그래머스 - 다리를 지나는 트럭 (0) | 2020.08.05 |
[python] 프로그래머스 -후보키 (0) | 2020.08.04 |
[python] 프로그래머스 - 수식 최대화 (0) | 2020.08.04 |
[python] 프로그래머스 - 튜플 (0) | 2020.08.04 |