여름의 서재
[프로그래머스] 다단계 칫솔 판매 (파이썬) 본문
728x90
📕 문제
https://programmers.co.kr/learn/courses/30/lessons/77486
💡 풀이법
1. 돈을 담을 리스트 money를 만든다.
2. 이름을 key, 인덱스를 value로 하는 딕셔너리 dict를 만든다.
3. seller와 amount를 돌면서 이름의 인덱스를 구하고 money에서 그 인덱스에 해당하는 위치(추천인)에 돈을 더한다.
계속해서 돈을 1/10씩 줄이면서 만약 돈이 0과 같아지거나 그 다음 추천인이 '-' 이면 while문을 멈춘다.
def solution(enroll, referral, seller, amount):
money = [0 for _ in range(len(enroll))]
dict = {}
for i, e in enumerate(enroll):
dict[e] = i
for s, a in zip(seller, amount):
m = a * 100
while s != "-" and m > 0:
idx = dict[s]
money[idx] += m - m//10
m //= 10
s = referral[idx]
return money
'알고리즘 > 프로그래머스' 카테고리의 다른 글
[프로그래머스] N으로 표현 (파이썬) (0) | 2021.12.24 |
---|---|
[프로그래머스] 단어 변환 (파이썬) (0) | 2021.12.17 |
[프로그래머스] 배달 (파이썬) (0) | 2021.12.17 |
[프로그래머스] 행렬 테두리 회전하기 (파이썬 & 자바) (0) | 2021.12.13 |
[프로그래머스] 튜플 (파이썬 & 자바) (0) | 2021.12.10 |
Comments