تصفية وتحويل قائمة باستخدام تعبيرات لامدا
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