사용 언어: python 3.9.5
https://programmers.co.kr/learn/courses/30/lessons/42888
level 2
Change에서만 id에 따른 이름 변경이 이루어진다고 잘못 접근함
Enter로도 이름이 바뀔 수 있음
코드짜다가 뭔가 잘 안되길래 문제를 다시 읽고 잘못된 것을 알아차림
id에 따른 이름표를 딕셔너리에 저장하고
record를 돌면서 딕셔너리에 해당하는 이름을 가져옴
import collections
def solution(record):
answer = []
rec = []
for r in record:
rec.append(r.split(' '))
dic = collections.defaultdict(str)
for r in rec:
if r[0] != 'Leave':
dic[r[1]] = r[2]
str1 = ''
for r in rec:
if r[0] == 'Enter':
str1 = dic[r[1]] + "님이 들어왔습니다."
elif r[0] == 'Leave':
str1 = dic[r[1]] + "님이 나갔습니다."
else: # 'Change'
continue
answer.append(str1)
return answer
record를 3번 돈다
O(3n) = O(n)
성공
48분
(읽기 3분, 풀기 45분)
문제 접근을 잘못함