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

পাইথনে ক্যারেক্টার ক্লকওয়াইজ শিফট করে একটি স্ট্রিংকে অন্য স্ট্রিংএ কনভার্ট করা সম্ভব কিনা যাচাই করার প্রোগ্রাম


मान लीजिए हमारे पास दो स्ट्रिंग्स p और q हैं, और एक संख्या r भी है, हमें जांचना है कि क्या p को q में बदला जा सकता है कुछ वर्णों को अधिकतम r बार क्लॉकवाइज शिफ्ट करके। तो, एक उदाहरण के रूप में, "c" को "e" में 2 क्लॉकवाइज शिफ्ट का उपयोग करके बदला जा सकता है।

उदाहरण के लिए, यदि इनपुट है p = "abc", q = "ccc", r = 3, तो आउटपुट होगा True, क्योंकि हम "a" को "c" में 2 क्लॉकवाइज शिफ्ट का उपयोग करके बना सकते हैं और फिर "b" को "c" में 1 क्लॉकवाइज शिफ्ट का उपयोग करके बदल सकते हैं, कुल 3 शिफ्ट के लिए।

इसे हल करने के लिए, हम निम्नलिखित चरणों का पालन करेंगे:

  • यदि a का आकार, b के आकार के समान नहीं है, तो
    • False वापस करें
  • यदि k, 0 के समान है और a, b के समान नहीं है, तो
    • False वापस करें
  • su := 0
  • i के लिए 0 से a के आकार तक की रेंज में, करें
    • v := b[i] का ASCII - a[i] का ASCII
    • यदि v>=0, तो
      • su := su + v
    • अन्यथा,
      • su := su + v + 26
    • यदि su > k, तो
      • False वापस करें
  • True वापस करें

बेहतर समझ के लिए निम्नলিখিত कार्यান্বয়ন দেখুন:

উদাহরণ

class Solution:    def solve(self, a, b, k):       if len(a) != len(b):          return False       if k == 0 and a != b:          return False          su=0          for i in range(len(a)):             v = ord(b[i])- ord(a[i])             if v>=0:                su+=v             else:                su+=v+26             if su>k:                return False          return True ob = Solution() print(ob.solve("abc", "ccc", 3))

इनपुट

"abc", "ccc", 3

आउटपुट

True

  1. পাইথনে স্ট্রিংতে কনsekutিভ ডিসেন্ডিং ইন্টিজার আছে কিনা যাচাই করার প্রোগ্রাম

  2. পাইথনে একটি স্ট্রিংকে অন্য স্ট্রিংএ 1-to-1 ম্যাপ করা সম্ভব কিনা যাচাই করার প্রোগ্রাম

  3. পাইথনে স্ট্রিং-এ সব ক্যারেক्टर ইউনিক কিনা চেক করা

  4. পাইথনে স্ট্রিং ফ্লোট-এ কনভার্ট করা যায় কিনা যাচাই করা