در یک حراج خانگی، یک ماشین تحریر قدیمی و زیبا را به قیمتی ارزان پیدا میکنید! با هیجان به خانه میدوید، یک برگ کاغذ در آن میگذارید و شروع به تایپ میکنید. اما وقتی خروجی را بررسی میکنید، هیجانتان فروکش میکند: همهی کلمهها بههمریختهاند! برای مثال، به جای «post» کلمهی «stop» را چاپ میکند و به جای «stale» کلمهی «least» را. با دقت دوباره امتحان میکنید، اما این بار «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" هستند.
باید آناگرامها را به همان ترتیبی برگردانید که در واژههای نامزد فهرست شدهاند.
در Exercism ثبتنام کنید تا Emacs Lisp را همراه با 96 تمرین و مربیگری انسانی واقعی یاد بگیرید و در آن استاد شوید، همهی اینها رایگان.