الأناغرام

الأناغرام

متوسط

مقدمة

في سوقٍ لبيع المستعملات، تجد آلة كاتبة قديمة أنيقة بسعر زهيد! وبكل حماس، تسرع إلى المنزل، وتُدخل ورقة، وتبدأ الكتابة. لكن حماسك يخبو عندما تتفقد الناتج: كل الكلمات مشوّشة! فعلى سبيل المثال، تطبع "stop" بدل "post" و"least" بدل "stale". وتحاول مرة أخرى بعناية، لكنها الآن تطبع "spot" و"slate". وبعد بعض التجارب، تكتشف أن هناك تأخيرًا عشوائيًا قبل طباعة كل حرف، وهو ما يُفسد الترتيب. الآن تفهم لماذا باعوها بهذا الثمن البخس!

وتُدرك أن هذه الخصلة الغريبة تتيح لك توليد الأناغرام، وهي كلمات تتكوّن بإعادة ترتيب حروف كلمة أخرى. وسعيدًا باكتشافك، تقضي بقية يومك في توليد مئات الأناغرامات.

التعليمات

بالنظر إلى كلمة مستهدفة وكلمة مرشّحة واحدة أو أكثر، مهمتك هي إيجاد الكلمات المرشّحة التي تكون أناغرامات للكلمة المستهدفة.

الأناغرام هو إعادة ترتيب الحروف لتكوين كلمة جديدة: على سبيل المثال، "owns" أناغرام لكلمة "snow". الكلمة ليست أناغرامًا لنفسها: على سبيل المثال، "stop" ليست أناغرامًا لكلمة "stop".

تتكوّن الكلمة المستهدفة والكلمات المرشّحة من حرف أبجدي واحد أو أكثر بترميز ASCII (A-Z وa-z). الحروف الصغيرة والحروف الكبيرة متكافئة: على سبيل المثال، "PoTS" أناغرام لكلمة "sTOp"، لكن "StoP" ليست أناغرامًا لكلمة "sTOp". ينبغي أن تُؤخذ الكلمات التي تحتاج إلى إيجادها من الكلمات المرشّحة، مع الحفاظ على حالة الأحرف كما هي.

بالنظر إلى الكلمة المستهدفة "stone" والكلمات المرشّحة "stone" و"tones" و"banana" و"tons" و"notes" و"Seton"، فإن كلمات الأناغرام التي تحتاج إلى إيجادها هي "tones" و"notes" و"Seton".

التنفيذ

يجب أن تُرجع الأناغرامات بالترتيب نفسه الذي تظهر به في الكلمات المرشحة.

تعديل عبر GitHub يفتح الرابط في نافذة أو علامة تبويب جديدة
Raku Exercism

مستعد لبدء الأناغرام؟

سجّل في Exercism لتتعلّم وتتقن Raku عبر 94 تمرينًا، وإرشاد بشري حقيقي، وكل ذلك مجانًا.