ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Python] 프로그래머스 / 2021 Dev-Matching: 웹 백엔드 개발자(상반기) / 다단계 칫솔 판매
    카테고리 없음 2024. 9. 19. 19:48

    문제 링크

    그.. 다단계가 트리구조의 좋은 예시이긴 하지만 그래도..

     

    정답코드

    그냥 시키는 대로 하면 바로 풀리는 문제

    from collections import defaultdict
    
    def solution(enroll, referral, seller, amount):
        
        N = len(enroll)
        M = len(seller)
        tree = dict()
        
        for i in range(N) :
            tree[enroll[i]] = referral[i] if referral[i] != "-" else None
            
        result_dict = defaultdict(int)
        
        for i in range(M) :
            name = seller[i]
            income = amount[i] * 100
            
            while income and name :
                result_dict[name] += (income - (income//10))
                income //= 10
                name = tree[name]
                
        result = []
        for name in enroll :
            result.append(result_dict[name])
        
        return result
Designed by Tistory.