You are given a string that represents time in the format hh:mm. Some of the digits are blank (represented by ‘?’). Fill in ‘?’ such that the time represented by this string is the maximum possible. Maximum time: 23:59, minimum time: 00:00. You can assume that the input string is always valid.
For Example :If the given input string is 1?:?8.
We can replace the first ‘?’ with 9 and second with 5 to get the maximum time of 19:58.
The first line contains a single integer ‘T’ denoting the number of test cases Then each test case follows.
The first line of each test case contains a string in the format of ‘hh:mm’.
Output Format :
For each test case print a string denoting the maximum possible time after replacing the ‘?’ marks with numbers..
Output for each test case will be printed in a separate line.
Note :
You are not required to print anything; it has already been taken care of. Just implement the function.
1 <= T <= 1000
|S| = 5
Time limit: 1 sec
2
?4:5?
23:5?
14:59
23:59
For test case 1 :
We can only put 0 and 1 at the first position. so we choose 1 for maximum time. We put 9 at the end to maximize the minutes.
For test case 2 :
23:59 is the maximum time possible for any string.
1
12:22
12:22
Try to form cases for each position separately.
Let’s try to build the string character by character from left to right.
O( 1 )
Since we are only checking for a constant number of positions. Hence the time complexity is O(1).
O(1)
Since constant space is used. Hence the space complexity is O(1).