সমস্যা বিবরণ
ছাত্রদের উঁচুই অনুযায়ী নন-ডিক্রিজিং অর্ডারে সাজাতে হবে ফটোগ্রাফের জন্য। বর্তমান অ্যারে দিয়ে কতজন ছাত্র সঠিক পজিশনে নেই তা বের করতে হবে।
উদাহরণ: [1,1,4,2,1,3] → আউটপুট ৩ (উঁচুই ৪, ৩ এবং শেষ ১ সঠিক পজিশনে নেই)।
সমাধানের পদ্ধতি
- অ্যারেকপি করে সর্ট করা কপি বানান (expected)।
- মূল অ্যারে এবং সর্ট করা অ্যারে তুলনা করুন।
- যে ইনডেক্সগুলোর মান মিলেনি, সেগুলো কাউন্ট করুন।
পাইথন উদাহরণ
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)))