chyam

[프로그래머스 Lv3, python] - 다단계 칫솔 판매 본문

프로그래머스/LV3

[프로그래머스 Lv3, python] - 다단계 칫솔 판매

chyam_eun 2026. 7. 1. 17:03

https://school.programmers.co.kr/learn/courses/30/lessons/77486

 

프로그래머스

SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

def solution(enroll, referral, seller, amount):
    money = {i:0 for i in enroll} # 번 돈
    ref = {enroll[i]:referral[i] for i in range(len(enroll))} # 추천인 누구?
    
    for idx in range(len(seller)):
        ex = int(amount[idx]*0.1*100) # 줘야하는 돈
        me = seller[idx] # 판 사람 이름
        money[me] += amount[idx]*100-ex # 남는 돈 더하기
        
        while True:
            if ref[me] == "-":
                break
            me = ref[me] # 갱신하기
            origin = ex # 원래 값 저장
            ex = int(origin*0.1) # 다시 0.1떼기
            money[me] += origin - ex # 값 더해줌
            if ex <= 0: # 돈 0이면 중지
                break
            
    return [money[m] for m in money]