π₯― λ§ν¬
https://programmers.co.kr/learn/courses/30/lessons/42888
μ½λ©ν μ€νΈ μ°μ΅ - μ€νμ±ν λ°©
μ€νμ±ν λ°© μΉ΄μΉ΄μ€ν‘ μ€νμ±ν λ°©μμλ μΉκ΅¬κ° μλ μ¬λλ€κ³Ό λνλ₯Ό ν μ μλλ°, λ³Έλ λλ€μμ΄ μλ κ°μμ λλ€μμ μ¬μ©νμ¬ μ±ν λ°©μ λ€μ΄κ° μ μλ€. μ μ μ¬μμΈ κΉν¬λ£¨λ μΉ΄μΉ΄μ€ν‘ μ€
programmers.co.kr
π₯― μ κ·Ό
κ³ μ ν [user_id]μ λ§μ§λ§ [user_nick]μ λμ ν΄μΌ νλ€.
[user_id]μ [user_nick]μ λ§€μΉν΄μ€ μ μλ λμ λ리(Dictionary)λ₯Ό μ΄μ©νμ.
π₯― μ½λ
def solution(record):
answer = []
# user_id : λ€λ½λ λ½νλ userμ idλ₯Ό μμλλ‘ λ΄μ λ°°μ΄
user_id = []
# users : user_id μ user_nick μ λ§€μΉμμΌμ€ λμ
λ리
users = {}
for r in record:
command = r.split() # κ²°κ³Όνμ μμ : ["Enter", "user_id", "user_nick"]
# elc : Enter Leave Change μ
μ€ νλ
elc = command[0]
# uid : νμ¬ user_id
uid = command[1]
if elc == "Enter":
# users λμ
λ리μ uid : "user_nick" λ§€μΉμμΌμ£ΌκΈ°
users[uid] = command[2]
# λ€λ½λ λ½νλ userμ idλ₯Ό μμλλ‘ λ΄κΈ°
user_id.append(uid)
# μ λ΅ λ°°μ΄μ Enterλ₯Ό λ»νλ "E" λ΄μλκΈ°
answer.append("E")
elif elc == "Leave":
# λ€λ½λ λ½νλ userμ idλ₯Ό μμλλ‘ λ΄κΈ°
user_id.append(uid)
# μ λ΅ λ°°μ΄μ Leaveλ₯Ό λ»νλ "L" λ΄μλκΈ°
answer.append("L")
else: # elc == "Change":
# users λμ
λ리μ uid : λ°λ "user_nick" λ§€μΉμμΌμ£ΌκΈ°
users[uid] = command[2]
# λ€λ½λ λ½ν νμλμ
for i in range(len(answer)):
# user_id μμλλ‘ users λμ
λ리μ λ§€μΉλλ user_nick λ°μμ€κΈ°
user_nick = users[user_id[i]]
if answer[i] == "E":
answer[i] = user_nick + "λμ΄ λ€μ΄μμ΅λλ€."
else:
answer[i] = user_nick + "λμ΄ λκ°μ΅λλ€."
return answer
π₯― νκΈ°
λμ λ리 νμ©μ νμμ μ΄λ€..
λμ λ리λ λ€μκ³Ό κ°μ΄ νμμ μ νμ κ°μ§ μμΌλ©°
>>> a[3] = [1,2,3]
>>> a
{1: 'a', 2: 'b', 'name': 'pey', 3: [1, 2, 3]}
μμ νλ λ²λ κ°λ¨νλ€.
>>> del a[1]
>>> a
{2: 'b', 'name': 'pey', 3: [1, 2, 3]}
μ£Όμν μ μ,
λμ λ리μμ Keyλ κ³ μ ν κ°μ΄λ―λ‘ μ€λ³΅λλ Key κ°μ μ€μ ν΄ λμΌλ©΄ νλλ₯Ό μ μΈν λλ¨Έμ§ κ²λ€μ΄ λͺ¨λ 무μλλ€λ μ μ μ£Όμν΄μΌ νλ€. λ€μ μμμ λ³Ό μ μλ―μ΄ λμΌν Keyκ° 2κ° μ‘΄μ¬ν κ²½μ° 1:'a' μμ΄ λ¬΄μλλ€.
>>> a = {1:'a', 1:'b'}
>>> a
{1: 'b'}
μ€λμ κ°λ¨ν μ μμ λν΄μλ§ μκ³ , λ΄μΌ λμ λ리μ κ΄ν ν¨μλ€λ 곡λΆνμ.
'Coding Test Practice' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
μ§μ§μ΄ μ κ±°νκΈ° (0) | 2024.04.04 |
---|---|
ꡬλͺ λ³΄νΈ (1) | 2024.04.04 |
Nκ°μ μ΅μ곡배μ (0) | 2024.04.04 |
[Coding Test Practice] μ κ· μμ΄λ μΆμ² (0) | 2021.10.30 |
[Coding Test Practice] κ°μ₯ν°μ νμ΄μ¬ (0) | 2021.10.21 |