문제링크 :https://programmers.co.kr/learn/courses/30/lessons/42888
코딩테스트 연습 - 오픈채팅방
오픈채팅방 카카오톡 오픈채팅방에서는 친구가 아닌 사람들과 대화를 할 수 있는데, 본래 닉네임이 아닌 가상의 닉네임을 사용하여 채팅방에 들어갈 수 있다. 신입사원인 김크루는 카카오톡 오
programmers.co.kr
문제설명
채팅방에 들어오고 나가거나, 닉네임을 변경한 기록이 담긴 문자열 배열 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 |