Problems › TypeScript › inventory
When to reorder a part
Purchasing wants the stock level at which a part should be reordered, so it arrives before the shelf runs dry.
- Cover the daily usage for the whole lead time, then add the safety stock on top.
- Any negative input is bad data — treat it as zero.
reorderPoint(dailyUse: int, leadDays: int, safety: int) → int
Where you start
function reorderPoint(dailyUse: number, leadDays: number, safety: number): number {
}
Worked examples
| Call | Result |
|---|---|
reorderPoint(10, 3, 5) | 35 |
reorderPoint(0, 7, 20) | 20 |
reorderPoint(12, 0, 0) | 0 |
reorderPoint(-5, 3, 10) | 10 |
Hint
dailyUse × leadDays + safety, with each input floored at zero first.
Reference solution in TypeScript
function reorderPoint(dailyUse: number, leadDays: number, safety: number): number {
const d = Math.max(0, dailyUse);
const l = Math.max(0, leadDays);
const s = Math.max(0, safety);
return d * l + s;
}