ধরুন আমাদের একটি স্ট্রিং আছে যা am বা pm প্রত্যয় সহ একটি 12-ঘন্টা ঘড়ির সময় উপস্থাপন করছে এবং একটি পূর্ণসংখ্যা nও দেওয়া আছে, আমরা সময়ের সাথে n মিনিট যোগ করব এবং একই বিন্যাসে নতুন সময় ফিরিয়ে দেব।
সুতরাং, যদি ইনপুট s ="8:20pm" এবং n =150 এর মত হয়, তাহলে আউটপুট হবে 10:50pm
এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -
-
h, m :=s
থেকে ঘন্টা এবং মিনিটের অংশ নিন -
h :=h মোড 12
-
যদি সময় s হয় 'pm', তাহলে
-
h :=h + 12
-
-
t :=h * 60 + m + n
-
h :=t/60 এর ভাগফল, m :=t/60 এর অবশিষ্টাংশ
-
h :=h mod 24
-
প্রত্যয় :='am' যদি h <12 অন্যথায় 'pm'
-
h :=h মোড 12
-
যদি h 0 এর সমান হয়, তাহলে
-
h :=12
-
-
h:m প্রত্যয়
সময় ফেরত দিন
আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -
উদাহরণ
class Solution: def solve(self, s, n): h, m = map(int, s[:-2].split(':')) h %= 12 if s[-2:] == 'pm': h += 12 t = h * 60 + m + n h, m = divmod(t, 60) h %= 24 suffix = 'a' if h < 12 else 'p' h %= 12 if h == 0: h = 12 return "{:02d}:{:02d}{}m".format(h, m, suffix) ob = Solution() print(ob.solve("8:20pm", 150))
ইনপুট
"8:20pm", 150
আউটপুট
10:50pm