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

পাইথনে ম্যাট্রিক্স ক্যারেক্টার বোর্ডে শব্দ খুঁজে বের করা

একটি ক্যারেক্টার ম্যাট্রিক্স (বোর্ড) এবং একটি টার্গেট শব্দ দেওয়া আছে। শব্দটি বোর্ডে বাম-से-ডান (রো) বা উপরে-থেকে-নিচে (কলাম) উনিডাইরেকশনালি পাওয়া যায় কিনা চেক করুন।

ইনপুট উদাহরণ

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

আউটপুট: True (৩ নম্বর কলামে top-to-bottom: t, i, p)

অ্যালগরিদম

  1. প্রতিটি রোকে স্ট্রিং বানাই in অপারেটর দিয়ে চেক করুন।
  2. প্রতিটি কলামকে স্ট্রিং বানাই (লিস্ট কাম্প্রিহেনশন) এবং চেক করুন।
  3. পাওয়া গেলে True, না পেলে False।

পাইথন কোড

def solve(board, word):
    for row in board:
        row_str = "".join(row)
        if word in row_str:
            return True
    for i in range(len(board[0])):
        col_str = "".join(board[r][i] for r in range(len(board)))
        if word in col_str:
            return True
    return False

# টেস্ট
board = [["a","n","t","s"],["s","p","i","n"],["l","a","p","s"]]
print(solve(board, "tip"))  # True

ব্যাখ্যা

শুধু হরিজন্টাল (লেফট-টু-রাইট) এবং ভার্টিক্যাল (টপ-টু-বটম) ডাইরেকশন চেক করা হয়েছে। ডায়াগোনাল বা রিভার্স ডাইরেকশন চেক করা হয়নি।

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

  2. পাইথনে স্ট্রিংয়ে বাম বা ডান প্রান্তে পৌঁছানো সম্ভব কিনা যাচাই করার প্রোগ্রাম

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

  4. পাইথনে টপ্লিট্জ ম্যাট্রিক্স (Toeplitz Matrix) যাচাই করার প্রোগ্রাম