تصفية وتحويل قائمة باستخدام تعبيرات لامدا

Kotlin Medium lambdas

مهمة «تصفية وتحويل قائمة باستخدام تعبيرات لامدا»

اكتب برنامجًا بلغة Kotlin يقرأ عددًا صحيحًا N، ثم N من الأسطر. يحتوي كل سطر على عدد صحيح وكلمة مفصولين بمسافة. باستخدام تعبيرات لامدا والدوال عالية المستوى (filter, map, forEach)، يجب تصفية الأسطر التي يكون فيها الرقم موجبًا فقط، ثم تحويل كل كلمة إلى أحرف كبيرة (upper case) وطباعتها بنفس الترتيب الذي كانت عليه في القائمة الأصلية. إذا لم يتبق أي عناصر بعد التصفية، اطبع "NO DATA".

تنسيق الإدخال

السطر الأول: عدد صحيح N (1 ≤ N ≤ 100). ثم N سطور، كل سطر يحتوي على عدد صحيح وكلمة (أحرف لاتينية فقط، الطول من 1 إلى 20).

تنسيق الإخراج

<html>
<body>
<pre>
سلاسل تحتوي على كلمات محولة، كل منها في سطر جديد. إذا لم توجد عناصر مناسبة، اطبع "NO DATA".
</pre>
</body>
</html>

أمثلة

مثال 1

الإدخال
3 -5 cat -2 dog -1 fish
الإخراج
NO DATA

مثال 2

الإدخال
1 7 hello
الإخراج
HELLO

مثال 3

الإدخال
3 1 500 2 1500 3 200
الإخراج
500 1500 200
main.kt