# Solving Leetcode Interviews in Seconds with AI: Latest Time You Can Obtain After Replacing Characters


	# Introduction
	In this blog post, we will explore how to solve the LeetCode problem "3114" using AI. LeetCode is a popular platform for preparing for coding interviews, and with the help of AI tools like [Chatmagic](https://www.chatmagic.app), we can generate solutions quickly and efficiently - helping you pass the interviews and get the job offer without having to study for months.

	# Problem Statement
	> You are given a string s representing a 12-hour format time where some of the digits (possibly none) are replaced with a "?". 12-hour times are formatted as "HH:MM", where HH is between 00 and 11, and MM is between 00 and 59. The earliest 12-hour time is 00:00, and the latest is 11:59. You have to replace all the "?" characters in s with digits such that the time we obtain by the resulting string is a valid 12-hour format time and is the latest possible. Return the resulting string.   Example 1:  Input: s = "1?:?4" Output: "11:54" Explanation: The latest 12-hour format time we can achieve by replacing "?" characters is "11:54".  Example 2:  Input: s = "0?:5?" Output: "09:59" Explanation: The latest 12-hour format time we can achieve by replacing "?" characters is "09:59".    Constraints:  s.length == 5 s[2] is equal to the character ":". All characters except s[2] are digits or "?" characters. The input is generated such that there is at least one time between "00:00" and "11:59" that you can obtain after replacing the "?" characters.  

	# Explanation
	Here's a breakdown of the solution:

*   **Prioritize Later Digits:** Fill in the 'MM' portion first to maximize the minutes, then handle 'HH'.
*   **Conditional Logic:** Use `if/else` statements to determine the largest valid digit that can replace each '?'. Consider the constraints for HH (00-11) and MM (00-59).
*   **Direct String Construction:** Directly build the result string by replacing the '?' characters in place.

*   **Runtime Complexity:** O(1) since the string length is fixed at 5. **Storage Complexity:** O(1) as we're working in place with a fixed-size string.

	
	# Code
	```python
	def solve():
    s = input()
    s = list(s)

    if s[4] == '?':
        s[4] = '9'
    if s[3] == '?':
        s[3] = '5'

    if s[0] == '?' and s[1] == '?':
        s[0] = '1'
        s[1] = '1'
    elif s[0] == '?':
        if s[1] <= '1':
            s[0] = '1'
        else:
            s[0] = '0'
    elif s[1] == '?':
        if s[0] == '0':
            s[1] = '9'
        else:
            s[1] = '1'
    
    return "".join(s)

print(solve())
	```
			
