কম্পিউটার

পাইথনে লুকানো সংখ্যা প্রতিস্থাপন করে সর্বশেষ বৈধ সময় খুঁজে বের করার প্রোগ্রাম


ধরুন আমাদের কাছে একটি স্ট্রিং s আছে যা hh:mm আকারে সময়কে উপস্থাপন করে। s-এর কিছু সংখ্যা লুকানো আছে (এর দ্বারা প্রতিনিধিত্ব করে?)। 24 ঘন্টা ঘড়ি বিবেচনা করে, বৈধ সময় 00:00 থেকে 23:59 এর মধ্যে। লুকানো সংখ্যাগুলি প্রতিস্থাপন করে আমাদের সর্বশেষ বৈধ সময় খুঁজে বের করতে হবে যা আমরা সময় থেকে পেতে পারি৷

সুতরাং, যদি ইনপুটটি s="1?:?5" এর মত হয়, তাহলে আউটপুট হবে 13:55 কারণ '2' সংখ্যা দিয়ে শুরু হওয়া সর্বশেষ ঘন্টা 23 এবং '0' সংখ্যা দিয়ে শেষ হওয়া সর্বশেষ মিনিট 50.

এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -

  • উত্তর :=একটি নতুন তালিকা

  • max_time :=['2','3',':','5','9']

  • যদি max_time[0] <'2' হয়, তাহলে

    • max_time[1] :='9'

  • যদি '9'>=সর্বোচ্চ_সময়[1]> '3' হয়, তাহলে

    • max_time[0] :='1'

  • প্রতিটি জোড়ার জন্য (mx, অঙ্ক) থেকে (max_time, s), করুন

    • যদি অঙ্ক একটি একক সংখ্যা হয়, তাহলে

      • উত্তরের শেষে অঙ্ক সন্নিবেশ করুন

    • অন্যথায়,

      • Ans

        এর শেষে mx ঢোকান
  • উত্তরে উপস্থিত অক্ষর যোগ করুন এবং ফিরে আসুন

উদাহরণ (পাইথন)

আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -

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. পাইথনে রৈখিক সময়ের মধ্যে kth ক্ষুদ্রতম উপাদান খুঁজে বের করার প্রোগ্রাম

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

  3. পাইথনে বহুভুজের এলাকা খুঁজে বের করার জন্য প্রোগ্রাম

  4. পাইথনে বহুভুজের পরিধি খুঁজে বের করার প্রোগ্রাম