حل تمرین رده بندی اساتید کوئرا با پایتون
در این نوشته به روش حل یکی از سوالات برنامه نویسی وبسایت کوئرا میپردازیم.
حل تمرین رده بندی اساتید کوئرا با پایتون
شاخصهای مختلف و متنوعی برای ردهبندی اساتید از نظر پژوهشی وجود دارد. یکی از شاخصهای معروف h-index نام دارد. در هر مقاله تعدادی ارجاع به مقالات دیگر بهعنوان منبع وجود دارد. یک مقاله ارزشمندتر است اگر تعداد مقالاتی که به آن ارجاع میدهند بیشتر شود. چون منبع بهتری بوده و باعث پیشرفت کار تعداد بیشتری از اساتید شده است. این عدد تعداد ارجاع (citation) نام دارد و برای هر مقاله بهصورت مستقل قابل محاسبه است. حال فرض کنید یک استاد، n مقاله منتشر کرده است و مقالهی iام ai بار بهعنوان منبع مقالات دیگر استفاده شده است. عدد h-index این استاد برابر k است اگر حداقل k مقاله داشته، که حداقل k بار بهعنوان منبع به آن ارجاع دهند. اگر چند k این ویژگی را دارد، بزرگترین آن را در نظر میگیرند.
ورودی
در سطر اول ورودی n یا تعداد مقالات میآید و در سطر بعد n عدد میآید که iمین آنها a یا تعداد ارجاعات به مقاله م است.
خروجی
در تنها خط خروجی h-index استاد مطلوب است.
زیرمسئله | امتیاز |
---|---|
n≤1000 | 50 |
بدون محدودیت اضافه | 50 |
مثال
ورودی نمونه 1
5 1 5 3 4 2
خروجی نمونه 1
3
در این نمونه، 3 عدد داریم که بزرگتر یا مساوی 3 هستند. (اعداد 5، 3 و 4)
ورودی نمونه 2
8 1 13 1 3 5 2 21 8
خروجی نمونه 2
4
در این نمونه، 4 عدد داریم که بزرگتر یا مساوی 4 هستند. (اعداد 13، 5، 21 و 8)
کد پایتون سوال تمرین رده بندی اساتید
n = int(input()) citations = list(map(int, input().split())) citations.sort(reverse=True) h_index = 0 for i in range(n): if citations[i] >= i + 1: h_index = i + 1 else: break print(h_index)
منبع سوال: کوئرا
اگر نیاز به حل تمرینهای دیگری از کوئرا دارید در بخش نظرات همین نوشته برای ما بنویسید.
ارسال پاسخ