Talk is cheap.
func numberOfDice(n int) []int {
dp := make([]int, 6*n)
for i:= 0; i < 6; i++ {
dp[i] = 1
}
for time := 2; time <= n; time++ {
for i := 6*time-1; i >= 0; i-- {
dp[i] = 0
for j := 6; j > 0; j-- {
if i < j { continue }
dp[i] += dp[i-j]
}
}
}
return dp[n-1:]
}