[프로그래머스 lv.3] 다단계 칫솔 판매 (파이썬)

LEE·2022년 3월 1일
0

프로그래머스

목록 보기
1/25
post-thumbnail

문제

programmers.co.kr/learn/courses/30/lessons/77486

풀이

  1. 판매원의 수익금을 계산
  2. 10원보다 적은 금액은 추천인에게 줄 수 있는게 없음
  3. 10원보다 많은 금액은 추천인 탐색 → 추천인이 없으면 stop
  4. 추천인이 있으면 10%를 계산해서 준다

반복문을 탈출하는 조건을 찾는게 중요하다고 판단했다

코드

def solution(enroll, referral, seller, amount):
    dic = dict(zip(enroll, referral))
    ans = dict(zip(enroll, [0]*len(enroll)))
    for i in range(len(seller)):
        person = seller[i]
        price = amount[i] * 100
        while True:
            ans[person] += price
            if price < 10: break
            ten = int(price*0.1)
            ans[person] -= ten
            person = dic[person]
            if person == '-': break
            price = ten
    return list(ans.values())
profile
쑥쑥 개발자

0개의 댓글