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

পাইথনে প্রোগ্রামার কনভেনশন আয়োজন সঠিক কিনা যাচাই করার প্রোগ্রাম


মনে করুন n সংখ্যক প্রোগ্রামার একটি কনভেনশনে ঢুকতে চায়, এবং convention নামক একটি তালিকা আছে যেখানে ১ মানে প্রোগ্রামার, ০ মানে খালি জায়গা। শর্ত হল দুজন প্রোগ্রামার পাশাপাশি বসতে পারবে না। সব n প্রোগ্রামার ঢুকতে পারবে কিনা যাচাই করতে হবে।

উদাহরণস্বরূপ, n = 2, convention = [0, 0, 1, 0, 0, 0, 1] হলে আউটপুট True।

সমাধানের ধাপসমূহ

  • i = 0 থেকে conv-এর আকার পর্যন্ত,
    • a := 0 যদি i-1 < 0 অন্যথায় i-1
    • b := conv-এর আকার-1 যদি i+1 >= conv-এর আকার অন্যথায় i+1
    • যদি conv[i]==0 এবং conv[a]==0 এবং conv[b]==0, তবে
      • conv[i] := 1
      • n := n - 1
  • True ফেরত দিন যদি n <= 0, অন্যথায় False

উদাহরণ

class Solution:
    def solve(self, n, conv):
        for i in range(len(conv)):
            a=0 if i-1<0 else i-1
            b=len(conv)-1 if i+1>=len(conv) else i+1
            if conv[i]==0 and conv[a]==0 and conv[b]==0:
                conv[i]=1
                n-=1
        return n<=0

ob = Solution()
n = 2
convention = [0, 0, 1, 0, 0, 0, 1]
print(ob.solve(n, convention))

ইনপুট

2, [0, 0, 1, 0, 0, 0, 1]

আউটপুট

True
  1. পাইথনে হিপ লিস্ট ম্যাক্স হিপ কিনা চেক করা

  2. পাইথনে দুটি স্ট্রিং একে অপরের রোটেশন কিনা যাচাই করার প্রোগ্রাম

  3. পাইথন প্রোগ্রাম - পয়েন্টগুলোর কনকেভ পলিগন গঠন করে কিনা তা যাচাই করুন

  4. পাইথন প্রোগ্রাম - পয়েন্টগুলোর কনভেক্স হাল গঠন করে কিনা তা যাচাই করুন