Split a load into the fewest parcels
A warehouse has to ship a totalWeight in parcel boxes that hold at most maxPerBox each. Find how many parcels are needed.
- Every parcel except possibly the last carries the full maxPerBox.
- A maxPerBox of zero or less is nonsense: return 0.
- A totalWeight of zero ships zero parcels.
parcelCount(totalWeight: int, maxPerBox: int) → int
Java needs a compiler and Drill does not host one yet, so this page is the reference rather than an exercise: the problem, worked examples, and the solution in full. To type it out, the same problem runs in Python.
Where you start
int parcelCount(int totalWeight, int maxPerBox) {
}
Worked examples
| Call | Result |
|---|---|
parcelCount(100, 20) | 5 |
parcelCount(101, 20) | 6 |
parcelCount(0, 20) | 0 |
parcelCount(50, 0) | 0 |
Hint
Divide and round up; watch the division-by-zero case first.
Reference solution in Java
int parcelCount(int totalWeight, int maxPerBox) {
if (totalWeight <= 0 || maxPerBox <= 0) return 0;
return (totalWeight + maxPerBox - 1) / maxPerBox;
}