ধরুন আমাদের কাছে একটি স্ট্রিং 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