그냥하는코딩
프로그래머스 3단계 - [다단계 칫솔 판매] 본문
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 구조를 활용하는 것 => 시간초과 해결
'부스트캠프 준비기 > 코딩테스트 알고리즘' 카테고리의 다른 글
| 프로그래머스 3단계 - [행렬 테두리 회전하기] (0) | 2021.06.23 |
|---|---|
| 프로그래머스 3단계 - [풍선 터트리기] (0) | 2021.06.21 |
| 프로그래머스 2단계 - [2개 이하로 다른 비트] (0) | 2021.06.21 |
| 프로그래머스 2단계 - [괄호 회전하기] (0) | 2021.06.21 |
| [구글 Colaboratory] 을 활용한 알고리즘 정리 (0) | 2021.06.21 |
Comments