You are given two strings current
and correct
representing two 24-hour times.
24-hour times are formatted as "HH:MM"
, where HH
is between 00
and 23
, and MM
is between 00
and 59
. The earliest 24-hour time is 00:00
, and the latest is 23:59
.
In one operation you can increase the time current
by 1
, 5
, 15
, or 60
minutes. You can perform this operation any number of times.
Return the minimum number of operations needed to convert current
to correct
.
Example 1:
Input: current = "02:30", correct = "04:35"
Output: 3
Explanation:
We can convert current to correct in 3 operations as follows:
- Add 60 minutes to current. current becomes "03:30".
- Add 60 minutes to current. current becomes "04:30".
- Add 5 minutes to current. current becomes "04:35". It can be proven that it is not possible to convert current to correct in fewer than 3 operations.
Example 2:
Input: current = "11:00", correct = "11:01"
Output: 1
Explanation: We only have to add one minute to current, so the minimum number of operations needed is 1.
Constraints:
-
current
andcorrect
are in the format"HH:MM"
-
current <= correct
SOLUTION:
class Solution:
def convertTime(self, current: str, correct: str) -> int:
bhh, bmm = [int(x) for x in current.split(":")]
ehh, emm = [int(x) for x in correct.split(":")]
diff = (ehh - bhh) * 60 + (emm - bmm)
ctr = 0
while diff > 0:
if diff >= 60:
ctr += diff // 60
diff = diff % 60
elif diff >= 15:
ctr += diff // 15
diff = diff % 15
elif diff >= 5:
ctr += diff // 5
diff = diff % 5
else:
ctr += diff
break
return ctr
Top comments (0)