λ°μν
π€λ¬Έμ ν΄κ²°
- ν맀μμ ν€, μΆμ²μΈκ³Ό μμ΅μ λ°Έλ₯λ‘ νλ λμ
λ리λ₯Ό λ§λ λ€. (enroll, referral)
- μΉ«μμ ν맀ν μ¬λμ μ ννκ³ , μΆμ²μΈκ³Ό μμ΅μ κ³μ λλλ€.
π¨ λ³΄ν΅ μ΄λ κ² νλ©΄ λ§μ§λ§ 3κ°μ μΌμ΄μ€μμ μκ°μ΄κ³Όκ° λ°μνλ€.
κ·Έ μ΄μ λ μμ΅μ λ μ΄μ λλ μ μλ μνμ¬λ μΆμ²μΈμ λ°λΌμ 0μμ μμ΅μ λλ κ°λ μ²μ νκΈ° λλ¬Έ
λ°λΌμ λ μ΄μ μμ΅μ λλ μ μλ μν©μ΄ λλ©΄ λ°λ³΅λ¬Έμ λ©μΆ°μ€λ€.
π»μμ€ μ½λ
def solution(enroll, referral, seller, amount):
answer = []
multistages = {'-': ['', 0]}
for e, r in zip(enroll, referral):
multistages[e] = [r, 0]
for s, a in zip(seller, amount):
a *= 100
while s != '-': # '-': λ―ΌνΈ, λ―ΌνΈ λ§λλ©΄ κ·Έλ§
if a == 0: # μμ΅μ΄ 0μμ΄μ΄λ κ³μ μΆμ²μΈκ³Ό λΆλ°°λ₯Ό νκΈ° λλ¬Έμ μκ°μ ν¨μ¨μ μν΄ κ·Έλ§
break
multistages[s][1] += a - a // 10
a //= 10
s = multistages[s][0]
for e in enroll:
answer.append(multistages[e][1])
return answer
solution(
["john", "mary", "edward", "sam", "emily", "jaimie", "tod", "young"],
["-", "-", "mary", "edward", "mary", "mary", "jaimie", "edward"],
["young", "john", "tod", "emily", "mary"],
[12, 4, 2, 5, 10]
)
πλ¬Έμ νμΈ
μΆμ²: νλ‘κ·Έλλ¨Έμ€
λ°μν
'Algorithm Problem > Python' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[python] λ°±μ€ - 1052. λ¬Όλ³ (0) | 2021.09.02 |
---|---|
[python] νλ‘κ·Έλλ¨Έμ€ - μ΄μ§ λ³ν λ°λ³΅νκΈ°(μκ° μ½λ μ±λ¦°μ§ μμ¦1) (0) | 2021.09.01 |
[python] νλ‘κ·Έλλ¨Έμ€ - μ½μμ κ°μμ λ§μ (0) | 2021.06.21 |
[python] νλ‘κ·Έλλ¨Έμ€ - μμ λνκΈ° (0) | 2021.06.20 |
[python] νλ‘κ·Έλλ¨Έμ€ - λ‘λμ μ΅κ³ μμμ μ΅μ μμ (0) | 2021.05.20 |