def solution(enroll, referral, seller, amount):
tree = {'-':'-'}
price = {'-':0}
for c, p in zip(enroll, referral):
tree[c] = p
price[c] = 0
for i, val in zip(seller, amount):
parent = tree[i]
child = i
val *= 100
price[i] += val - int(val*0.1)
price[parent] += int(val*0.1)
val = int(val*0.1)
while parent != '-':
child = parent
parent = tree[parent]
price[child] -= int(val*0.1)
price[parent] += int(val*0.1)
val = int(val*0.1)
answer = list(price.values())[1:]
return answer
위에서 아이디어를 참고한 후 내가 구현했는데
위 솔루션, 내가 한 솔루션 둘다 시간초과가 뜬다;;;
배운것
1. 트리는 별게 아니고 딕셔너리에 자식노드:부모노드 이런식으로 저장하면 그게 트리다.