human
Write me a Python program to find the latest 24-hour time that can be made using each digit exactly once given the following:
Solve in Python:
Given an array arr of 4 digits, find the latest 24-hour time that can be made using each digit exactly once.
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.
Return the latest 24-hour time in "HH:MM" format.  If no valid time can be made, return an empty string.
 
Example 1:
Input: A = [1,2,3,4]
Output: "23:41"
Explanation: The valid 24-hour times are "12:34", "12:43", "13:24", "13:42", "14:23", "14:32", "21:34", "21:43", "23:14", and "23:41". Of these times, "23:41" is the latest.

Example 2:
Input: A = [5,5,5,5]
Output: ""
Explanation: There are no valid 24-hour times as "55:55" is not valid.

Example 3:
Input: A = [0,0,0,0]
Output: "00:00"

Example 4:
Input: A = [0,0,1,0]
Output: "10:00"

 
Constraints:

arr.length == 4
0 <= arr[i] <= 9
assistant
#Here is Python program to find the latest 24-hour time that can be made using each digit exactly once.

from itertools import permutations
    
class Solution:
    def largestTimeFromDigits(self, arr: List[int]) -> str:
        
        arr = sorted(arr, reverse=True)
        
        perms = permutations(arr)
        
        for perm in perms:
            m = perm[0] * 10 + perm[1]
            s = perm[2] * 10 + perm[3]
            
            if m < 24 and s < 60:
                strm = str(m)
                strs = str(s)
                if len(strm) < 2:
                    strm = \"0\" + strm
                if len(strs) < 2:
                    strs = \"0\" + strs
                return \"{}:{}\".format(strm, strs)
        
        return \"\"