मान लीजिए हमारे पास एक स्ट्रिंग है जो am या pm सफिक्स के साथ 12-घंटे की घड़ी के समय को दर्शाती है, और एक पूर्णांक n भी दिया गया है। हम समय में n मिनट जोड़ेंगे और उसी फॉर्मेट में नया समय लौटाएंगे।
यदि इनपुट s = "8:20pm" और n = 150 जैसा है, तो आउटपुट 10:50pm होगा।
इसे हल करने के लिए हम निम्नलिखित चरणों का पालन करेंगे:
- h, m := s से घंटा और मिनट भाग लें
- h := h mod 12
- यदि समय s 'pm' में है, तो h := h + 12
- t := h * 60 + m + n
- h := t/60 का भागफल, m := t/60 का शेषफल
- h := h mod 24
- suffix := 'am' यदि h < 12 अन्यथा 'pm'
- h := h mod 12
- यदि h, 0 के समान है, तो h := 12
- समय h:m suffix लौटाएं
बेहतर समझ के लिए निम्नलिखित कार्यान्वयन देखें:
उदाहरण
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