কম্পিউটার টিউটোরিয়াল

পাইথনে দেয়া সময়ের অঙ্ক দিয়ে সৃষ্টি করা निकটতম সময় বের করার প্রোগ্রাম


২৪ ঘন্টার ফরম্যাটে সময় "hh:mm" দেওয়া আছে। একই অঙ্কগুলো পুনরাবৃত্তি করে (অনেকবার ব্যবহার করা যায়) বানানো যাবে এমন সবচেয়ে নিকটবর্তী ভবিষ্যৎ সময় বের করুন।

উদাহরণ: s="03:15" → আউটপুট "03:30"।

সমাধানের ধাপগুলো:

  • অঙ্কগুলো সংগ্রহ করুন।
  • ব্যাকট্র্যাকিং দিয়ে সব সম্ভাব্য বৈধ সময় জেনারেট করুন।
  • সর্ট করে দেওয়া সময়ের পরেরটি বের করুন।

উদাহরণ

class Solution:
    def solve(self, s):
        use = [s[0], s[1], s[3], s[4]]
        possible = set()
        def backtrack(path):
            nonlocal possible, use
            if len(path) == 4:
                possible.add(path[:2] + ":" + path[2:])
                return
            for p in use:
                if not (len(path) == 0 and p > "2") and not (path == "2" and p > "3") and not (len(path) == 2 and p > "5"):
                    backtrack(path + p)
        backtrack("")
        possible = list(possible)
        possible.sort()
        for i in range(len(possible) - 1):
            if possible[i] == s:
                return possible[i + 1]
        return possible[0]

ob = Solution()
s = "03:15"
print(ob.solve(s))

ইনপুট

"03:15"

আউটপুট

03:30
  1. পাইথনে একই x বা y কোঅর্ডিনেট वाले নিকটতম পয়েন্ট খুঁজে বের করা

  2. পাইথনে K টাস্ক ফিনিশ করার সর্বোচ্চ সময় খুঁজে বের করার প্রোগ্রাম

  3. পাইথনে ম্যাট্রিক্সের ট্রান্সপোজ বের করার প্রোগ্রাম

  4. পাইথনে দিয়ে गये সংখ্যার সব ডিজিটের যোগফল বের করার প্রোগ্রাম