Algorithm (PS)

[프로그래머스] 오픈채팅방 Python3 - Kakao 2019

minjiwoo 2023. 1. 12. 14:05
728x90

https://school.programmers.co.kr/learn/courses/30/lessons/42888

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

카카오 2019년도 블라인드 공채 문제이다 솔직히 이제는 이런 문제 안나올 것 같다 ㅋㅋ

카카오는 가끔 이렇게 실질적인 기능 개발을 연상케 하는 문제를 출제하는 것 같다. 

확실히 예전보다 지금이 더 코딩테스트 레벨이 상향 평준화 되고 있는 느낌을 받는다.

from collections import defaultdict
def solution(record):
    answer = []
    table = defaultdict() # uid : nickname
    
    log = [] # IN/OUT 
    for data in record:
        d = data.split()
        if d[0] == "Enter":
            log.append([d[1], d[0]])
            table[d[1]] = d[2]
        elif d[0] == "Leave":
            log.append([d[1],d[0]])
        else: # Change 
            table[d[1]] = d[2]
    for uid, info in log:
        temp = table[uid]+"님이 "
        if info == "Enter":
            temp += "들어왔습니다."
        else:
            temp += "나갔습니다."
        answer.append(temp)
    
    return answer
728x90