다단계 구조로 물건을 판매하면 추천인이 판매금액 10%를 가져가는 구조
1. 판매자가 판매금액 1000원을 받으면
2. 판매자의 추천인1은 1000원의 10%인 100원을 가져가고
3. 추천인1의 추천인2는 100원의 10%인 10원을 가져간다.
결과로 판매자는 900원, 추천인1은 90원, 추천인2는 10원을 가진다.
def solution(enroll, referral, seller, amount):
answer,member, money = [], {}, {} # ①
for i in range(len(enroll)): # member, money dict 만들기
member[enroll[i]] = referral[i]
money[enroll[i]] = 0
for i in range(len(seller)): # 판매 하나씩 작업
bill = amount[i]*100 # 가격 맞추기(12 => 1200)
money[seller[i]] += bill*9//10 # 판매자는 10%를 추천인이게 주므로 90%는 가진다
now = member[seller[i]] # 판매자의 추천인 저장
while now!="-": # 판매자의 추천인이 "-" 일때까지
bill = bill//10 # 10% 저장
money[now] += bill-bill//10 # 현재 돈에서 10%뺀 가격을 현재 사람에게 줌
now = member[now] # 현재 사람 변경
if bill<10: break # 남은 금액이 10원 미만이면 종료
for i in enroll: answer.append(money[i]) # 저장된 money를 enroll순서대로 리스트에 저장
return answer
판매가 진행되고 추천인에게 10%씩 현재 금액을 확인하며 진행하였다.