오픈채팅방
- Difficulty: Level 2
- Type: String/Hash
- link
Solution
- id를 키로, 닉네임을 값으로 저장후 결과를 순서대로 출력하면 쉽게 답을 얻을 수 있다.
- 시간 복잡도: O(n)
import collections
def solution(record):
output = []
result = []
ids = collections.defaultdict(str)
for r in record:
command = r.split()
if command[0] == "Enter":
ids[command[1]] = command[2]
output.append((command[1],"Enter"))
elif command[0] == "Leave":
output.append((command[1],"Leave"))
elif command[0] == "Change":
ids[command[1]] = command[2]
for id,action in output:
if action == "Enter":
result.append(f"{ids[id]}님이 들어왔습니다.")
elif action == "Leave":
result.append(f"{ids[id]}님이 나갔습니다.")
return result