কম্পিউটার

শব্দ চেক করার প্রোগ্রামটি ম্যাট্রিক্স ক্যারেক্টার বোর্ডে পাওয়া যাবে বা পাইথনে নয়


ধরুন আমাদের একটি ম্যাট্রিক্স অক্ষর বোর্ড আছে। যেখানে প্রতিটি কোষ একটি অক্ষর ধারণ করছে। আমাদের কাছে টার্গেট নামে একটি স্ট্রিংও রয়েছে, আমাদের বাঁ-থেকে-ডানে, বা উপরে-থেকে-ডাউন ইউনিডাইরেকশনাল উপায়ে ম্যাট্রিক্সে লক্ষ্য খুঁজে পাওয়া যায় কিনা তা পরীক্ষা করতে হবে।

সুতরাং, যদি ইনপুট মত হয়

a n t s
s p i n
l a p s

শব্দ ="টিপ"

তারপর আউটপুট হবে True, আপনি দেখতে পাবেন তৃতীয় কলাম (উপর থেকে নীচে) "টিপ" গঠন করছে।

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

  • বোর্ডের প্রতিটি i জন্য, করুন
    • i :=i তে উপস্থিত অক্ষর থেকে শব্দ তৈরি করুন
    • যদি i-তে শব্দ থাকে, তাহলে
      • সত্য ফেরান
  • i :=0
  • যখন আমি <বোর্ডের সারি গণনা করি, তখন কর
    • j :=বোর্ডে ith কলামের অক্ষর থেকে স্ট্রিং তৈরি করুন
    • i :=i + 1
    • যদি শব্দটি j-এ থাকে, তাহলে
      • সত্য ফেরান
  • মিথ্যে ফেরত দিন

উদাহরণ

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

def solve(board, word):
   for i in board:
      i = "".join(i)
      if word in i:
         return True
   i = 0
   while i < len(board):
      j = "".join([col[i] for col in board])
      i += 1
      if word in j:
         return True

   return False

board = [["a","n","t","s"],["s","p","i","n"],["l","a","p","s"]]
word = "tip"
print(solve(board, word))

ইনপুট

[["a","n","t","s"],
["s","p","i","n"],
["l","a","p","s"]],
"tip"

আউটপুট

True

  1. একটি স্ট্রিং চেক করার প্রোগ্রামটি শব্দের প্রদত্ত তালিকায় ভাঙা যেতে পারে বা পাইথনে নয়

  2. আমরা পাইথনে বাম বা ডানদিকের অবস্থানে পৌঁছাতে পারি কিনা তা পরীক্ষা করার জন্য প্রোগ্রাম

  3. আমরা পাইথনে শব্দের তালিকা দিয়ে লক্ষ্য বানান করতে পারি বা না তা পরীক্ষা করার জন্য প্রোগ্রাম

  4. প্রদত্ত ম্যাট্রিক্স Toeplitz ম্যাট্রিক্স কি পাইথনে নয় তা পরীক্ষা করার জন্য প্রোগ্রাম