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

পাইথনে হাইট চেকার (Height Checker in Python)


সমস্যা বিবরণ

ছাত্রদের উঁচুই অনুযায়ী নন-ডিক্রিজিং অর্ডারে সাজাতে হবে ফটোগ্রাফের জন্য। বর্তমান অ্যারে দিয়ে কতজন ছাত্র সঠিক পজিশনে নেই তা বের করতে হবে।

উদাহরণ: [1,1,4,2,1,3] → আউটপুট ৩ (উঁচুই ৪, ৩ এবং শেষ ১ সঠিক পজিশনে নেই)।

সমাধানের পদ্ধতি

  1. অ্যারেকপি করে সর্ট করা কপি বানান (expected)।
  2. মূল অ্যারে এবং সর্ট করা অ্যারে তুলনা করুন।
  3. যে ইনডেক্সগুলোর মান মিলেনি, সেগুলো কাউন্ট করুন।

পাইথন উদাহরণ

class Solution(object):
    def heightChecker(self, heights):
        expected = sorted(heights)
        count = 0
        for i in range(len(heights)):
            if heights[i] != expected[i]:
                count += 1
        return count

ob1 = Solution()
print(ob1.heightChecker([1,1,4,2,1,3]))

ইনপুট

[1,1,4,2,1,3]

আউটপুট

3

সংক্ষিপ্ত পাইথনিক ভার্সন

def heightChecker(heights):
    return sum(h != e for h, e in zip(heights, sorted(heights)))
  1. পাইথনে অ্যারে প্যারিটি অনুযায়ী সাজানো

  2. পাইথনে অ্যারে পার্টিশন I

  3. পাইথনে অ্যারে রোটেট (Rotate Array)

  4. পাইথনে সোর্টেড অ্যারে মার্জ (Merge Sorted Array)