이 포스팅에서는 2020 카카오 블라인드 채용 1차 문제인 ‘오픈채팅방’ 문제를 해설합니다. 본 풀이에 대한 테스트는 https://programmers.co.kr/learn/courses/30/lessons/42888에서 수행하였으며 공식 풀이와 일치하지 않을 수 있습니다.
공식 풀이는 링크를 참조하시기 바랍니다.
출처 : 2019 KAKAO 블라인드 채용 온라인 1차
링크 : https://programmers.co.kr/learn/courses/30/lessons/42888
카테고리 : Greedy
난이도 : 쉬움
유저가 채팅 방에 들어오거나, 나가거나 닉네임을 변경한 기록들을 참조해서 최종적으로 대화방에 표시되는 메시지를 출력하면 된다.
레코드를 분석하여 길이가 3인 것은 채팅방 입장이거나 닉네임 변경이므로, 이 경우를 탐지하여 dictionary에 userID에 해당하는 닉네임을 계속 업데이트 해나간다.
이후 다시 레코드를 순차적으로 분석해서 userID에 해당하는 닉네임을 dictionary에서 참조하여 출력하면 된다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | def solution(records): answer = [] dic = {} for record in records: info = record.split() if len(info) == 3: identifier, nick = info[1], info[2] dic[identifier] = nick for record in records: info = record.split() action, nick = info[0], dic[info[1]] if action == “Enter”: answer.append(nick + “님이 들어왔습니다.”) elif action == “Leave”: answer.append(nick + “님이 나갔습니다.”) return answer | cs |
Competition 카카오 블라인드 채용 오픈채팅방
23일에 미리 쓰는 일기다. 클라이밍 클라이밍을 제대로 배워보고 싶어 더클라임의 6주 과정을 신청해서, 매주 화목요일에…
AI AI Agent들이 어느 정도 유용한 건 맞지만, 생각보다 성능이 그렇게 시원찮은지는 모르겠다. 특히나 코드…
금주 금주를 시작해보기로 했다. 이미 술을 먹기로 하고 잡은 2개의 회식들은 예외로 하고, 나머지 자리에서는…
티앤미미 예약이 그렇게 힘들다는 티앤미미를 처남네가 운좋게 예약해서 어제 저녁 다녀왔다. 딤섬이 그렇게 맛있다고 하는데,…
This website uses cookies.