
[문제 링크]
https://programmers.co.kr/learn/courses/30/lessons/77486
[입출력 예]
enroll |
referral |
seller |
amount |
result |
["john", "mary", "edward", "sam", "emily", "jaimie", "tod", "young"] |
["-", "-", "mary", "edward", "mary", "mary", "jaimie", "edward"] |
["young", "john", "tod", "emily", "mary"] |
[12, 4, 2, 5, 10] |
[360, 958, 108, 0, 450, 18, 180, 1080] |
["john", "mary", "edward", "sam", "emily", "jaimie", "tod", "young"] |
["-", "-", "mary", "edward", "mary", "mary", "jaimie", "edward"] |
["sam", "emily", "jaimie", "edward"] |
[2, 3, 5, 4] |
[0, 110, 378, 180, 270, 450, 0, 0] |
[소스코드]
| def solution(enroll, referral, seller, amount): |
| |
| answer = [0]*len(enroll) |
| idx_list={} |
| for idx,name in enumerate(enroll): |
| idx_list[name]=idx |
| |
| |
| |
| for idx,name in enumerate(seller): |
| price=100*amount[idx] |
| answer[idx_list[name]]+=price |
| while referral[idx_list[name]]!="-": |
| answer[idx_list[name]]-=price//10 |
| name=referral[idx_list[name]] |
| answer[idx_list[name]]+=price//10 |
| price=price//10 |
| if price==0: |
| break |
| answer[idx_list[name]]-=price//10 |
| return answer |
댓글을 사용할 수 없습니다.