def solution(enroll, referral, seller, amount):
answer = [0] * len(enroll)
dic1 = {}
dic2 = {}
for i in range(len(enroll)):
dic2[enroll[i]] = i
for i in range(len(enroll)):
t = referral[i]
tmp = []
while True:
if t == '-':
break
tmp.append(t)
t = referral[dic2[t]]
if len(tmp) != 0:
dic1[enroll[i]] = tmp
for i in range(len(seller)):
sell = amount[i]*100
div = int(sell*0.1)
answer[dic2[seller[i]]] += (sell - div)
t = seller[i]
if t not in dic1:
continue
for j in range(len(dic1[t])):
a = dic2[dic1[t][j]]
ndiv = int(div*0.1)
answer[a] += (div - ndiv)
div = ndiv
if div == 0:
break
return answer
시간 초과가 계속 나왔는데
마지막에 남은 돈의 양이 0일때 반복문을 빠져나오게 해줘서 통과됨