(Python) 프로그래머스 - 다단계 칫솔 판매

[문제 링크]

풀이

def solution(enroll, referral, seller, amount):
    answer = [0] * len(enroll)

    store = dict()
    for idx, name in enumerate(enroll):
        store[name] = idx

    for name, sell_count in zip(seller, amount):
        idx = store[name]
        money = sell_count * 100
        boss_amount = int(money * 0.1)
        my_amount = money - boss_amount
        if boss_amount == 0:
            answer[idx] += money
            continue
        else:
            answer[idx] += my_amount

        while referral[idx] != "-":
            idx = store[referral[idx]]
            money = boss_amount
            boss_amount = int(money * 0.1)
            my_amount = money - boss_amount
            if boss_amount == 0:
                answer[idx] += money
                break
            else:
                answer[idx] += my_amount

    return answer

© 2021. By Backtony