কম্পিউটার

পাইথনে সমাধানকৃত ইউনিক্স শৈলী পথ খুঁজে বের করার জন্য প্রোগ্রাম


ধরুন আমাদের একটি ইউনিক্স পাথ আছে, স্ট্রিংগুলির একটি তালিকায়, আমাদের তার সমাধানকৃত সংস্করণটি খুঁজে বের করতে হবে। যেমনটি আমরা ইউনিক্সে জানি, ".." পূর্ববর্তী ডিরেক্টরি এবং "।" বর্তমান ডিরেক্টরিতে থাকা বোঝায়। এখানে সমাধান করা দুটি চিহ্নের মূল্যায়ন নির্দেশ করে যাতে আমরা বর্তমানে যে চূড়ান্ত ডিরেক্টরিতে আছি তা পেতে পারি৷

সুতরাং, ইনপুট যদি path =["usr", "..", "usr", ".", "local", "etc", "foo"] এর মত হয়, তাহলে আউটপুট হবে ['usr', 'স্থানীয়', 'ইত্যাদি', 'foo'], যেহেতু অংশটি "/usr/../usr/./local/etc" উপস্থাপন করে যা "/usr/local/etc/foo"

এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -

  • s :=একটি নতুন তালিকা
  • পথে থাকা প্রতিটি উপাদানের জন্য, করুন
    • যদি আমি '..' এর মত হয়, তাহলে
      • যদি s খালি না হয়, তাহলে
        • s থেকে শেষ উপাদান মুছুন
    • অন্যথায় যখন আমি '.' এর মতো না, তারপর
      • s-এর শেষে i ঢোকান
  • রিটার্ন এস

আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -

উদাহরণ

class Solution:
   def solve(self, path):
      s = []
      for i in path:
         if i == '..':
            if len(s) >0:
               s.pop()
            elif i !='.':
               s.append(i)
      return s
ob = Solution()
print(ob.solve(["usr", "..", "usr", ".", "local", "etc", "foo"]))

ইনপুট

["usr", "..", "usr", ".", "local", "etc", "foo"]

আউটপুট

['usr', 'local', 'etc', 'foo']

  1. পাইথন প্রোগ্রামে অ্যারের সমষ্টি খুঁজুন

  2. পাইথন প্রোগ্রাম একটি তালিকার ক্ষুদ্রতম সংখ্যা খুঁজে বের করতে

  3. একটি ম্যাট্রিক্সের স্থানান্তর খুঁজে পেতে পাইথন প্রোগ্রাম

  4. অ্যারের যোগফল খুঁজে পেতে পাইথন প্রোগ্রাম