📖 문제
https://programmers.co.kr/learn/courses/30/lessons/77486
💻 코드
from collections import defaultdict
def divide_revenue(revenue, seller, recommend, amount):
yours = amount // 10
mine = amount - yours
revenue[seller] += mine
if yours > 0 and recommend[seller] != '-':
divide_revenue(revenue, recommend[seller], recommend, yours)
def solution(enroll, referral, seller, amount):
recommend = dict()
for i in range(len(enroll)):
recommend[enroll[i]] = referral[i]
revenue = defaultdict(int)
for i, sr in enumerate(seller):
divide_revenue(revenue, sr, recommend, amount[i] * 100)
return [revenue[e] for e in enroll]
🙌 한마디
문제 설명보고 트리(Tree)라 어려울 줄 알았는데 딕셔너리에 저장되어있어 수월했다.
재귀 방식으로 풀었다.
'Problem Solving > 📕Programmers' 카테고리의 다른 글
역대 카카오 인턴십 코딩테스트 문제 정리 (0) | 2022.05.03 |
---|---|
[Programmers] 헤비 유저가 소유한 장소 (SQL) (0) | 2021.11.17 |
[Programmers] 행렬 테두리 회전하기 (Python) (0) | 2021.11.17 |
[Programmers] 로또의 최고 순위와 최저 순위 (Python) (0) | 2021.11.17 |
[Programmers] 멀리 뛰기 (Python) (0) | 2021.10.20 |