Notice
Recent Posts
Recent Comments
Link
«   2025/12   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

그냥하는코딩

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

부스트캠프 준비기/코딩테스트 알고리즘

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

UKkim 2021. 6. 23. 20:37

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

 

코딩테스트 연습 - 다단계 칫솔 판매

민호는 다단계 조직을 이용하여 칫솔을 판매하고 있습니다. 판매원이 칫솔을 판매하면 그 이익이 피라미드 조직을 타고 조금씩 분배되는 형태의 판매망입니다. 어느정도 판매가 이루어진 후,

programmers.co.kr

1. 문제이해

 - 부모 - 자식 노드 연결 문제

 

2. 코드 작성

def solution(enroll, referral, seller, amount):
    answer = [0 for _ in range(len(enroll))]
    enroll_dict = dict()
    
    i = 0
    for en, re in zip(enroll, referral):
        enroll_dict[en] = (re, i)
        i += 1

    for sell, cnt in zip(seller, amount):
        money = cnt * 100

        while enroll_dict[sell][0] != '-' and money > 0:
            answer[enroll_dict[sell][1]] += money - (money // 10)
            money = money // 10
            sell = enroll_dict[sell][0]

        answer[enroll_dict[sell][1]] += money - (money // 10)

    return answer

 

3. 풀이간 체크사항

 1) List로 index 를 찾아 넣는 것 보다 dictionary 구조를 활용하는 것 => 시간초과 해결

Comments