2019 카카오 기출 : 오픈채팅방
코딩테스트 연습 - 오픈채팅방 | 프로그래머스 (programmers.co.kr)
코딩테스트 연습 - 오픈채팅방
오픈채팅방 카카오톡 오픈채팅방에서는 친구가 아닌 사람들과 대화를 할 수 있는데, 본래 닉네임이 아닌 가상의 닉네임을 사용하여 채팅방에 들어갈 수 있다. 신입사원인 김크루는 카카오톡 오
programmers.co.kr
푸는데 20분 걸렸다!! 드디어 처음으로 혼자 풀 수 있는 문제를 만났다 ㅋㅋㅋ
이..이건 좀 쉬운데!? 하ㅏㅎ
내가 푼 방법은 이렇다. two-scan을 하는데, 첫 번째 스캔 때 uid별 최종적인 닉네임을 계산한다. 두 번째 스캔 때 uid->닉네임 매칭 데이터를 가지고 ~님이 들어왔습니다, ~님이 나갔습니다 문장을 만든다.
def solution(record):
answer = []
uid_nick = {}
cmd_uid = []
for line in record:
line = line.split()
cmd = line[0]
uid = line[1]
if cmd == 'Enter' or cmd == 'Change':
nick = line[2]
uid_nick[uid] = nick
cmd_uid.append((cmd,uid))
for cmd,uid in cmd_uid:
if cmd == 'Enter':
answer.append(f'{uid_nick[uid]}님이 들어왔습니다.')
if cmd == 'Leave':
answer.append(f'{uid_nick[uid]}님이 나갔습니다.')
return answer
운동 갔다 와서 다른 문제도 하나 풀어봐야지. 뭔가.. 끙끙 싸매다가 포기하고 정답 본 다음에 자괴감이 드는 과정을 거치지 않으면 공부했다는 느낌이 안드는.. 그런느낌? 공부하면서 느끼는 자괴감이 실력 향상에 비례하는 거 같기도 하고 ㅋㅋ