Drill

ProblemsGo › billing

Look up the tax rate for a region

easybillingHash mapsGo

A billing system stores tax rates by region code. Look up the rate; an unknown region is not taxed.

regionTax(regionRates: map<string, int>, region: string) → int

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 regionTax(regionRates map[string]int, region string) int {
	
}

Worked examples

CallResult
regionTax(map[string]int{"US": 700, "EU": 1900, "TR": 1800}, "EU")1900
regionTax(map[string]int{"US": 700}, "UK")0
regionTax(map[string]int{}, "US")0
regionTax(map[string]int{"DE": 1900, "FR": 2000}, "DE")1900

Hint

Map lookup with a default.

Reference solution in Go
func regionTax(regionRates map[string]int, region string) int {
	if r, ok := regionRates[region]; ok {
		return r
	}
	return 0
}

The same problem in another language

More billing problems in Go