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

পাইথনে বিভিন্ন মেইলবক্স থেকে গুরুত্বপূর্ণ মেইল সাজানোর প্রোগ্রাম


मान लीजिए हमारे पास मेलबॉक्स की एक सूची है। यहां प्रत्येक मेलबॉक्स में स्ट्रिंग्स की एक सूची दी गई है, यहां प्रत्येक स्ट्रिंग या तो "J" जंक के लिए, "P" पर्सनल के लिए, "W" वर्क के लिए है। हम पहले मेलबॉक्स से शुरू करके राउंड रॉबिन क्रम में प्रत्येक मेलबॉक्स से गुजरेंगे, J को फ़िल्टर करके, एक सिंगल सूची बनाएंगे और सूची वापस करेंगे।

उदाहरण के लिए, यदि इनपुट है mailboxes = [["W", "P"],["J", "P", "J"],["W"]], तो आउटपुट होगा ["W", "W", "P", "P"], क्योंकि क्रम में और फ़िल्टरिंग के बिना, हमारे पास W -> J -> W -> P -> P -> J है, अब चूंकि हम जंक को फ़िल्टर करते हैं हमें W -> W -> P -> P मिलता है।

इसे हल करने के लिए, हम नিম्नলিখিত चरणों का पालन करेंगे:

  • n_mailboxes := mailboxes का आकार
  • result := एक नई सूची
  • counts := आकार n_mailboxes की एक सूची, फिर 0 से भरें
  • more := True
  • जब तक more शून्येतर है, करें
    • more := False
    • i के लिए 0 से n_mailboxes तक की रेंज में, करें
      • index := counts[i], mailbox := mailboxes[i]
      • यदि index < mailbox का आकार, तो
        • more := True
        • counts[i] := counts[i] + 1
        • mail := mailbox[index]
        • यदि mail, "J" के समान नहीं है, तो
          • mail को result के अंत में डालें
  • result वापस करें

বेहतर বোঝার জন্য নিম্নলিখিত বাস্তবায়ন দেখুন:

উদাহরণ

class Solution:    def solve(self, mailboxes):       n_mailboxes = len(mailboxes)       result = []       counts = [0]*n_mailboxes       more = True       while more:          more = False          for i in range(n_mailboxes):             index, mailbox = counts[i], mailboxes[i]             if index < len(mailbox):                more = True                counts[i] += 1                mail = mailbox[index]                if mail != "J":                   result.append(mail)          return result ob = Solution() mailboxes = [["W", "P"],["J", "P", "J"],["W"]] print(ob.solve(mailboxes))

इनपুট

[["W", "P"],["J", "P", "J"],["W"]]

आউটপুট

['W', 'W', 'P', 'P']

  1. পাইথনে স্ট্রিং থেকে nth ক্যারেক্টার রিমুভ করা

  2. পাইথন প্রোগ্রাম: সেট থেকে আইটেম সরিয়ে ফেলা

  3. পাইথন প্রোগ্রাম: লিস্ট থেকে অনন্য (Unique) মান প্রিন্ট করা

  4. পাইথন প্রোগ্রাম: IP ঠিকানা থেকে লিডিং শূন্য (Leading Zeros) সরিয়ে ফেলা