각 판매원의 이름을 담은 배열 enroll, 각 판매원을 다단계 조직에 참여시킨 다른 판매원의 이름을 담은 배열 referral, 판매량 집계 데이터의 판매원 이름을 나열한 배열 seller, 판매량 집계 데이터의 판매 수량을 나열한 배열 amount가 매개변수로 주어질 때, 각 판매원이 득한 이익금을 나열한 배열을 return하도록 solution 함수를 완성해주세요. 판매원에게 배분된 이익금의 총합을 계산하여 (정수형으로), 입력으로 주어진 enroll에 이름이 포함된 순서에 따라 나열하면 됩니다.
def solution(enroll, referral, seller, amount):
answer = []
member = {}
for index, ref in enumerate(referral):
member[enroll[index]] = { 'parent': ref, 'money': 0 }
for index,sell in enumerate(seller):
count(sell,amount[index]*100,member)
for en in enroll:
answer.append(member[en]['money'])
return answer
def count(seller, amount, member):
fee = amount // 10
member[seller]['money'] += amount - fee
if fee < 1:
return
elif member[seller]['parent'] == '-':
return
else:
count(member[seller]['parent'], fee, member)