판매할 자동차의 가격 목록이 있고 예산도 k라고 가정하고 살 수 있는 자동차의 최대 수를 찾아야 합니다.
따라서 입력이 [80, 20, 10, 30, 80], k =85와 같으면 가격이 20, 10, 40인 자동차 3대를 살 수 있으므로 출력은 3이 됩니다.
이 문제를 해결하기 위해 다음 단계를 따릅니다. −
-
개수 :=0
-
정가 정렬
-
범위 0에서 가격 크기까지의 i에 대해
-
가격[i] <=k이면
-
k :=k-가격[i]
-
개수 :=개수 + 1
-
-
그렇지 않으면
-
루프에서 나오다
-
-
-
반환 횟수
더 나은 이해를 위해 다음 구현을 살펴보겠습니다. −
예
class Solution: def solve(self, prices, k): count =0 prices.sort() for i in range(len(prices)): if(prices[i]<=k): k = k-prices[i] count += 1 else: break return count ob = Solution() p = [80, 20, 10, 30, 80] print(ob.solve(p, 85))
입력
[80, 20, 10, 30, 80], 85
출력
3