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