Problem Statement
Johnny likes to watch the clock. He likes some moments more than others. The time "HH:MM" is good if you can split the four digits into two adjacent groups such that the products of the digits within each group are equal. Each group must contain at least one digit, so there are totally 3 possible ways to do the split: "H" and "H:MM", "HH" and "MM", or "HH:M" and "M". For example, "22:28" is good because you can split it into "22:2" and "8", and 2 * 2 * 2 = 8. "23:32" and "10:00" are also good, while "23:45" and "12:42" are not.
You are given two
Definition
- Class:
- GoodHours
- Method:
- howMany
- Parameters:
- String, String
- Returns:
- int
- Method signature:
- int howMany(String beforeTime, String afterTime)
- (be sure your method is public)
Constraints
- beforeTime and afterTime will both be formatted as "HH:MM" (quotes for clarity), where HH is a two digit integer between 00 and 23, inclusive, and MM is a two digit integer between 00 and 59, inclusive.
Examples
"00:00"
"23:59"
Returns: 279
"11:11"
"11:11"
Returns: 1
Of course, 11:11 is good.
"12:22"
"12:21"
Returns: 279
"12:32"
"11:31"
Returns: 272
"00:56"
"12:32"
Returns: 164
"00:00"
"00:59"
Returns: 60
"10:10"
"10:20"
Returns: 2
Only 10:10 and 10:20 are good here.
"20:01"
"20:10"
Returns: 10
"13:31"
"14:21"
Returns: 4
"22:22"
"22:22"
Returns: 1
"12:34"
"12:34"
Returns: 0
"17:35"
"17:00"
Returns: 278
"20:11"
"03:13"
Returns: 121
"13:50"
"23:50"
Returns: 52
"19:32"
"20:48"
Returns: 15
"02:05"
"14:14"
Returns: 149
"21:40"
"00:56"
Returns: 68
"23:26"
"17:40"
Returns: 242
"22:42"
"16:16"
Returns: 241
"05:42"
"13:25"
Returns: 90
"13:16"
"05:05"
Returns: 181
"15:32"
"17:03"
Returns: 6
"00:17"
"04:23"
Returns: 100
"09:40"
"15:53"
Returns: 42
"10:59"
"19:36"
Returns: 38
"11:52"
"11:32"
Returns: 277
"07:34"
"11:33"
Returns: 51
"05:05"
"08:28"
Returns: 52
"12:27"
"22:51"
Returns: 55
"10:26"
"16:32"
Returns: 32
"17:38"
"15:15"
Returns: 272
"23:19"
"18:20"
Returns: 245
"16:48"
"07:45"
Returns: 204
"02:51"
"19:10"
Returns: 156
"21:33"
"03:40"
Returns: 116
"21:02"
"08:28"
Returns: 192
"13:58"
"17:35"
Returns: 14
"02:35"
"23:27"
Returns: 190
"01:07"
"10:05"
Returns: 134
"06:34"
"11:19"
Returns: 64
"02:14"
"06:26"
Returns: 61
"16:31"
"23:04"
Returns: 38
"20:58"
"21:11"
Returns: 1
"16:49"
"07:22"
Returns: 202
"13:28"
"10:21"
Returns: 261
"10:20"
"20:05"
Returns: 48
"04:12"
"16:43"
Returns: 123
"02:43"
"06:33"
Returns: 59
"04:41"
"22:59"
Returns: 156
"08:25"
"09:35"
Returns: 16
"16:24"
"21:56"
Returns: 31
"11:33"
"11:33"
Returns: 1
"12:30"
"12:45"
Returns: 1
"23:10"
"01:23"
Returns: 75
Good times here are 23:16, 23:23, 23:32, 00:00 ... 01:10, 01:20.
"22:44"
"22:44"
Returns: 0
"12:42"
"12:42"
Returns: 0
"02:56"
"00:00"
Returns: 190
"23:59"
"23:50"
Returns: 279
"23:10"
"00:00"
Returns: 4
"23:58"
"23:57"
Returns: 279
"00:01"
"00:00"
Returns: 279
"11:12"
"11:10"
Returns: 278
"00:10"
"00:59"
Returns: 50
"00:56"
"00:55"
Returns: 279
"00:01"
"22:11"
Returns: 270
"12:31"
"12:30"
Returns: 279
"11:30"
"11:15"
Returns: 278
"23:00"
"03:00"
Returns: 95