একটি ক্যারেক্টার ম্যাট্রিক্স (বোর্ড) এবং একটি টার্গেট শব্দ দেওয়া আছে। শব্দটি বোর্ডে বাম-से-ডান (রো) বা উপরে-থেকে-নিচে (কলাম) উনিডাইরেকশনালি পাওয়া যায় কিনা চেক করুন।
ইনপুট উদাহরণ
board = [
["a","n","t","s"],
["s","p","i","n"],
["l","a","p","s"]
]
word = "tip"
আউটপুট: True (৩ নম্বর কলামে top-to-bottom: t, i, p)
অ্যালগরিদম
- প্রতিটি রোকে স্ট্রিং বানাই
inঅপারেটর দিয়ে চেক করুন। - প্রতিটি কলামকে স্ট্রিং বানাই (লিস্ট কাম্প্রিহেনশন) এবং চেক করুন।
- পাওয়া গেলে
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
ব্যাখ্যা
শুধু হরিজন্টাল (লেফট-টু-রাইট) এবং ভার্টিক্যাল (টপ-টু-বটম) ডাইরেকশন চেক করা হয়েছে। ডায়াগোনাল বা রিভার্স ডাইরেকশন চেক করা হয়নি।