https://programmers.co.kr/learn/courses/30/lessons/77486
코딩테스트 연습 - 다단계 칫솔 판매
민호는 다단계 조직을 이용하여 칫솔을 판매하고 있습니다. 판매원이 칫솔을 판매하면 그 이익이 피라미드 조직을 타고 조금씩 분배되는 형태의 판매망입니다. 어느정도 판매가 이루어진 후,
programmers.co.kr
풀이
문제를 보았을때 알수있는 힌트
문제 설명이 참 길게 되어있다.
다단계로 전체 사람들의 판매해서 번 돈을 나오게 하는 문제이다.
판사람의 추천인이 있다면 10%의 돈을 줘야한다, 그사람의 위에 또 추천인이 있다면 10%를 줘야한다.
이때 0원이 된다면 그 위에 추천인들한테는 돈을 안줘도 된다.
이것을 생각을 하며 코드를 짜면 충분히 풀수있다.
def solution(enroll, referral, seller, amount):
answer = [0 for i in range(len(enroll))]
idex={name:idx for idx,name in enumerate(enroll)}
# print(idex['mary'])
for idx, name in enumerate(seller):
count=100*amount[idx] # 칫솔 개수 * 100
answer[idex[name]] += count
while referral[idex[name]]!="-":
answer[idex[name]]-=count//10
name=referral[idex[name]]
answer[idex[name]]+=count//10
count=count//10
if count==0:
break
if referral[idex[name]]=="-":
answer[idex[name]]-=count//10
return answer
https://github.com/dydwkd486/coding_test/blob/main/programmers/다단계%20칫솔%20판매.py
GitHub - dydwkd486/coding_test: 코딩테스트 공부한 내용 정리
코딩테스트 공부한 내용 정리. Contribute to dydwkd486/coding_test development by creating an account on GitHub.
github.com
'Coding Test > programmers' 카테고리의 다른 글
[프로그래머스] 등굣길 - python (레벨 3) (0) | 2022.05.29 |
---|---|
[프로그래머스] 정수 삼각형 - python (레벨 3) (0) | 2022.05.13 |
[프로그래머스] 가장 큰 정사각형 찾기 - python (레벨 2) (0) | 2022.05.13 |
[프로그래머스] 타겟 넘버 - python (레벨 2) (0) | 2022.04.10 |
[프로그래머스] 오픈채팅방 - python (레벨 2) (0) | 2022.04.04 |