Drill

ProblemsGo › orders

Does this basket ship free

easyordersMathGo

The storefront shows a "free shipping" badge, but the rule has an exception for heavy baskets that finance insisted on.

shipsFree(basketTotal: int, grams: int, threshold: int) → bool

Go 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.

Solve it in Python →

Where you start

func shipsFree(basketTotal int, grams int, threshold int) bool {
	
}

Worked examples

CallResult
shipsFree(50000, 3000, 30000)true
shipsFree(50000, 25000, 30000)false
shipsFree(30000, 1000, 30000)true
shipsFree(29999, 1000, 30000)false

Hint

The weight rule overrides the value rule, so check it second — or check it first and return early.

Reference solution in Go
func shipsFree(basketTotal int, grams int, threshold int) bool {
	if basketTotal <= 0 || grams > 20000 {
		return false
	}
	return basketTotal >= threshold
}

The same problem in another language

More orders problems in Go