কম্পিউটার টিউটোরিয়াল

লুকানো ডিজিট রিপ্লেস করে সর্বশেষ বৈধ টাইম বের করা

একটি স্ট্রিং s দেওয়া আছে যা hh:mm ফরম্যাটে টাইম রিপ্রেজেন্ট করে। কিছু ডিজিট '?' দিয়ে লুকানো আছে। ২৪ ঘণ্টা কلاک অনুযায়ী বৈধ টাইম ০০:০০ থেকে ২৩:৫৯ পর্যন্ত। '?' গুলো রিপ্লেস করে সম্ভাব্য সর্বশেষ (লেটেস্ট) বৈধ টাইম বের করতে হবে।

ইনপুট: s = "1?:?5" → আউটপুট: 13:55। '1' দিয়ে শুরু হওয়া সর্বশেষ ঘন্টা ১৩, এবং '5' দিয়ে শেষ হওয়া সর্বশেষ মিনিট ৫৫।

সমাধানের ধাপসমূহ

  • ans := খালি লিস্ট

  • max_time := ['2','3',':','5','9'] (সর্বোচ্চ সম্ভাব্য টাইম)

  • যদি max_time[0] < '2': max_time[1] = '9'

  • যদি '9' >= max_time[1] > '3': max_time[0] = '1'

  • (max_time, s) জোড়ার প্রতিটি (mx, digit) এর জন্য:

    • যদি digit অঙ্ক হয়: ans-এ digit যোগ করুন
    • অন্যথায়: ans-এ mx যোগ করুন
  • ans জয়েন করে রিটার্ন করুন

উদাহরণ (Python)

def solve(s):
    ans = []
    max_time = ['2','3',':','5','9']
    if max_time[0] < '2':
        max_time[1] = '9'
    if '9' >= max_time[1] > '3':
        max_time[0] = '1'
    for mx, digit in zip(max_time, s):
        if digit.isdigit():
            ans.append(digit)
        else:
            ans.append(mx)
    return ''.join(ans)

s = "1?:?5"
print(solve(s))

ইনপুট

"1?:?5"

আউটপুট

13:55
  1. পাইথনে রৈখিক সময়ে k-তম স্মলেস্ট এলিমেন্ট খুঁজে বের করার প্রোগ্রাম

  2. পাইথন প্রোগ্রাম - সংখ্যার সুপার ডিজিট বের করুন

  3. পাইথনে পলিগনের ক্ষেত্রফল বের করার প্রোগ্রাম

  4. পাইথনে পলিগনের পরিসীমা বের করার প্রোগ্রাম