समस्या विवरण
12-घंटा फॉर्मेट में समय स्ट्रिंग (am/pm सफिक्स के साथ) और मिनट n दिए गए हैं। n मिनट जोड़कर नया समय उसी फॉर्मेट में वापस करें।
उदाहरण
इनपुट: s = "8:20pm", n = 150
आउटपुट: "10:50pm"
एल्गोरिदम
- घंटा
hऔर मिनटmपार्स करें h %= 12(12 को 0 बनाएं)- यदि 'pm':
h += 12(24-घंटा में बदलें) - कुल मिनट:
t = h*60 + m + n h, m = divmod(t, 60)h %= 24- सफिक्स: 'am' यदि
h < 12अन्यथा 'pm' h %= 12; यदिh == 0:h = 12- फॉर्मेट:
"{:02d}:{:02d}{}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