프로그래머스 2단계 "오픈채팅방"

sanha_OvO·2021년 6월 17일
0

Algorithm

목록 보기
57/84

문제

프로그래머스 2단계 오픈채팅방


풀이

카카오 2019 공채 출제 문제.
문제 자체는 어렵진 않은거 같은데 구현이 약간 노가다라서 실전에 나오면 어지러울거 같은 문제이다...

출력 로그를 담당하는 log리스트와 사용자의 닉네임을 관리하는 uid 딕셔너리를 만들어서 record값을 순서대로 받아 처리하였다.


Python 코드

import sys
input = sys.stdin.readline

def solution(record):
  log = []
  uid = {}
  for com in record:
    x = com.split(" ")
    if x[0] == "Enter":
      uid[x[1]] = x[2]
      log.append([x[0], x[1]])
    elif x[0] == "Leave":
      log.append([x[0], x[1]])
    else: # "Change"일 경우
      uid[x[1]] = x[2]

  answer = []
  for tmp in log:
    if tmp[0] == "Enter":
      a = f"{uid[tmp[1]]}님이 들어왔습니다."
    else:
      a = f"{uid[tmp[1]]}님이 나갔습니다."
    answer.append(a)
  return answer
profile
Web Developer / Composer

0개의 댓글