728x90
https://school.programmers.co.kr/learn/courses/30/lessons/77486
💡 문제 풀이
기본적인 구현 문제이다.
설명은 엄청나게 되어있지만 결국 트리구조를 고려해서 구현하면 된다.
seller의 길이가 10만이라서 일직선의 트리구조가 되는 최악의 경우를 따지면 시간이 부족할 수도 있다.
근데 문제에서 최대로 벌 수 있는 이윤은 10,000원이고
이윤의 10%를 상납해야 하는 구조라서 최대로 5번의 반복을 넘어가지 않는다.
따라서 그냥 구현해주면 된다.
✔️ 느낀 점
처음에 코드가 지저분했는데 조금 다듬으니까 쉽게 풀 수 있는 문제였다.
💻 코드
def solution(enroll, referral, seller, amount):
ans = [0] * len(enroll)
dict = {}
for i, e in enumerate(enroll):
dict[e] = i
for s, a in zip(seller, amount):
profit = a * 100
while s != '-' and profit > 0:
idx = dict[s]
ans[idx] += profit - profit//10
profit //= 10
s = referral[idx]
return ans
'문제 풀이 > 프로그래머스 (Programmers)' 카테고리의 다른 글
[Python] 프로그래머스 : [3차] 압축 (1) | 2022.10.06 |
---|---|
[Python] 프로그래머스 : [1차] 셔틀 버스 (0) | 2022.10.03 |
[Python] 프로그래머스 : 두 개 뽑아서 더하기 (2) | 2022.07.06 |
[Python] 프로그래머스 : 모의고사 (0) | 2022.07.05 |
[Python] 프로그래머스 : 예산 (0) | 2022.07.05 |
댓글