# Lv.2
π μ€νμ±ν λ°©
π https://programmers.co.kr/learn/courses/30/lessons/42888
π§ μ μΆλ ₯ μ
π§ μ νμ¬ν
- recordλ λ€μκ³Ό κ°μ λ¬Έμμ΄μ΄ λ΄κΈ΄ λ°°μ΄μ΄λ©°, κΈΈμ΄λ 1 μ΄μ 100,000 μ΄νμ΄λ€.
- λ€μμ recordμ λ΄κΈ΄ λ¬Έμμ΄μ λν μ€λͺ
μ΄λ€.
- λͺ¨λ μ μ λ [μ μ μμ΄λ]λ‘ κ΅¬λΆνλ€.
- [μ μ μμ΄λ] μ¬μ©μκ° [λλ€μ]μΌλ‘ μ±ν λ°©μ μ μ₯ - "Enter [μ μ μμ΄λ] [λλ€μ]" (ex. "Enter uid1234 Muzi")
- [μ μ μμ΄λ] μ¬μ©μκ° μ±ν λ°©μμ ν΄μ₯ - "Leave [μ μ μμ΄λ]" (ex. "Leave uid1234")
- [μ μ μμ΄λ] μ¬μ©μκ° λλ€μμ [λλ€μ]μΌλ‘ λ³κ²½ - "Change [μ μ μμ΄λ] [λλ€μ]" (ex. "Change uid1234 Muzi")
- 첫 λ¨μ΄λ Enter, Leave, Change μ€ νλμ΄λ€.
- κ° λ¨μ΄λ 곡백μΌλ‘ ꡬλΆλμ΄ μμΌλ©°, μνλ²³ λλ¬Έμ, μλ¬Έμ, μ«μλ‘λ§ μ΄λ£¨μ΄μ Έμλ€.
- μ μ μμ΄λμ λλ€μμ μνλ²³ λλ¬Έμ, μλ¬Έμλ₯Ό ꡬλ³νλ€.
- μ μ μμ΄λμ λλ€μμ κΈΈμ΄λ 1 μ΄μ 10 μ΄νμ΄λ€.
- μ±ν λ°©μμ λκ° μ μ κ° λλ€μμ λ³κ²½νλ λ± μλͺ» λ μ λ ₯μ μ£Όμ΄μ§μ§ μλλ€.
π§ μμ΄λμ΄
π python3
1) λμ λ리 μλ£ν νμ©
μ¬μ©μμ μμ΄λμ λλ€μμ λ΄μ λμ λ리λ₯Ό λ§λ€μ.
리μ€νΈ νμμ μ€λ³΅μ νμ©νλ―λ‘, μ¬μ©μκ° λλ€μμ λ°κΏ¨μ λ κ·Έ μ μ λλ€μμ μ°Ύμ... forλ¬Έ...μλ‘μ΄ λλ€μμΌλ‘ λ³κ²½... ν΄μΌν΄μ λ²κ±°λ‘λ€λ νλ¨μ΄ λ€μ΄ λμ λ리λ₯Ό μ¬μ©νκ³ μ νλ€.
id_name = {}
κ²°κ³Όλ‘ λ°νν λμΉμ΄λ₯Ό λ΄μ λμ λ리λ₯Ό λ§λ€μ.
μ λ ₯μΌλ‘ Leaveμ λ°μΌλ©΄ '~λμ΄ λκ°μ΅λλ€.' / Enterμ λ°μΌλ©΄ '~λμ΄ λ€μ΄μμ΅λλ€.'λ₯Ό μΆλ ₯ν΄μΌ νλ€.
dictionary[Leave]μ κ°μ΄ λ°λ‘ λμΉμ΄λ‘ μ κ·Όν μ μκΈ° λλ¬Έμ 미리 λμ λλ¦¬λ‘ λ§λ€μ΄λμ
activity = {'Leave' : 'λμ΄ λκ°μ΅λλ€.',
'Enter' : 'λμ΄ λ€μ΄μμ΅λλ€.',
'Change': ''}
π§ μ½λ μμ±
def solution(record):
answer = [] # μ λ΅μΌλ‘ λ°νν λ°°μ΄
# λμΉμ΄ λμ
λ리
activity = {'Leave' : 'λμ΄ λκ°μ΅λλ€.',
'Enter' : 'λμ΄ λ€μ΄μμ΅λλ€.',
'Change': ''}
id_name = {}
# μ
λ ₯μΌλ‘ λ€μ΄μ¨ κΈ°λ‘μ μλ§νΌ forλ¬Έμ λλ €
# ν€(μ¬μ©μ μμ΄λ) : κ°(μ΅μ’
μ μΌλ‘ λ³κ²½λ λλ€μ) ννμ λμ
λ리 μμ±
for i in range(len(record)):
splited = record[i].split()
if (splited[0] == 'Enter'):
id_name[splited[1]] = splited[2]
elif (splited[0] == 'Change'):
id_name[splited[1]] = splited[2]
# Leaveμμλ μλ‘μ΄ μ μ μ λ±μ₯μ΄λ λλ€μ λ³κ²½μ΄ μκΈ°μ κ³ λ €νμ§ μλλ€.
for i in range(len(record)):
splited = record[i].split()
if (splited[0] != 'Change') : # Changeλ κ²°κ³Ό λ°°μ΄μ λ£μ§ μμΌλ―λ‘
answer.append(id_name[splited[1]] + activity[splited[0]])
return answer
