프로그래머스/미해결

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

yanJuicy 2024. 3. 4. 11:58
반응형

문제

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

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

 

풀이

딕셔너리로 판매자의 추천자를 저장한다. 이를 통해 추천자를 타고 올라가서 root까지 찾을 수 있다.

계산 결과를 저장할 때도 딕셔너리를 사용하면 편하게 저장할 수 있다.

딕셔너리에 저장한 계산 결과들은 valuse() 함수를 이용해 구하면 된다.

 

 

코드

python

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
def solution(enroll, referral, seller, amount):
    answer = {name: 0 for name in enroll}
    
    parent_dic = dict(zip(enroll, referral))
    
    for i in range(len(seller)):
        income = amount[i] * 100
        receiver = seller[i]
        
        while income > 0 and receiver != '-':
            answer[receiver] += income - income // 10
            income //= 10
            receiver = parent_dic[receiver]
        
    return list(answer.values())
cs

 

반응형

'프로그래머스 > 미해결' 카테고리의 다른 글

프로그래머스 - 양과 늑대  (0) 2024.03.15
프로그래머스 - 미로 탈출  (0) 2024.03.10
프로그래머스 - [3차] 압축  (0) 2024.02.24
프로그래머스 - 의상  (0) 2024.02.22
프로그래머스 - 메뉴 리뉴얼  (1) 2024.02.12