1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
| class Solution:
def maxIceCream(self, costs: List[int], coins: int) -> int:
# Step 1: Counting
count = [0] * (max(costs) + 1)
for cost in costs:
count[cost] += 1
# Step 2: Buying Ice Cream Bars
ice_creams = 0
for i, c in enumerate(count):
if coins >= i * c:
coins -= i * c
ice_creams += c
else:
ice_creams += coins // i
break
return ice_creams
|