مجموعات الجناس الناقص
جزء من قسم المنطق والتدفق في رحلة Swift على Coddy — الدرس 54 من 56.
التحدي
متوسطتعتبر الكلمتان جناساً ناقصاً (anagrams) إذا تطابقت حروفهما بعد ترتيبها: كلمتا listen و silent كلاهما يتم ترتيب حروفهما إلى eilnst.
اقرأ سطراً واحداً من المدخلات: قائمة كلمات مفصولة بفاصلة (أحرف صغيرة، بدون مسافات داخل الكلمات).
قم بتجميع الكلمات حسب signature (توقيع) حروفها المرتبة. اطبع، بهذا الترتيب:
- سطر واحد لكل مجموعة تحتوي على كلمتين أو أكثر، بالتنسيق
<signature>: <word1>,<word2>,.... داخل المجموعة الواحدة، حافظ على ترتيب الكلمات كما وردت في المدخلات. رتب المجموعات أبجدياً حسب التوقيع (signature). Total groups: <n>(عدد المجموعات التي تحتوي على كلمتين أو أكثر).
للمدخلات listen,silent,abc,enlist,cab,xyz، تكون المخرجات:
abc: abc,cab
eilnst: listen,silent,enlist
Total groups: 2جرّب بنفسك
let words = readLine()!.components(separatedBy: ",")
// TODO: بناء [signature: [word]]؛ طباعة المجموعات المرتبة التي حجمها >= 2؛
// ثم طباعة 'Total groups: <n>'
جميع دروس المنطق والتدفق
1النصوص بعمق
العد والفهارسحالة الأحرف وإزالة الفراغاتالبحث في النصوصتقسيم ودمج النصوصاستبدال النصوص الفرعيةمراجعة - التحقق من اسم المستخدم4المجموعات
إنشاء المجموعاتالاتحاد والتقاطعالطرح والفرق المتماثلالمجموعات الجزئية والشاملةمراجعة - تصفية الـ Tag7مشروع - متتبع العادات
نظرة عامة على المشروعتحديد كمكتمل2النطاقات والخطوات
المغلقة مقابل نصف المفتوحةالخطوة (Stride)دوال النطاقاتالنطاقات في Switchملخص - شبكة التقويم5الدوال من الرتبة العليا - الجزء الأول
MapFilterReduceربط Map و Filter و Reduceمراجعة - إحصائيات الكلمات