Drill

ProblemsGo › events

Which slot does this time fall into

easyeventsMathGo

A booking window is split into equal-length slots. Given a time in minutes, return the slot number or -1 if it does not belong.

slotIndex(timeMinutes: int, windowStart: int, slotMinutes: int) → 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 slotIndex(timeMinutes int, windowStart int, slotMinutes int) int {
	
}

Worked examples

CallResult
slotIndex(600, 540, 30)2
slotIndex(700, 540, 30)5
slotIndex(1331, 540, 30)-1
slotIndex(500, 540, 30)-1

Hint

Check the bounds first, then divide.

Reference solution in Go
func slotIndex(timeMinutes int, windowStart int, slotMinutes int) int {
	if timeMinutes < windowStart || timeMinutes >= windowStart+slotMinutes*8 {
		return -1
	}
	return (timeMinutes - windowStart) / slotMinutes
}

The same problem in another language

More events problems in Go