Σε ένα γκαράζ σεϊλ, βρίσκεις μια υπέροχη ρετρό γραφομηχανή σε τιμή ευκαιρίας! Με ενθουσιασμό, τρέχεις σπίτι, βάζεις ένα φύλλο χαρτί και αρχίζεις να πληκτρολογείς. Ωστόσο, ο ενθουσιασμός σου εξασθενεί όταν εξετάζεις το αποτέλεσμα: όλες οι λέξεις βγαίνουν μπερδεμένες! Για παράδειγμα, τυπώνει "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".
Πρέπει να επιστρέψεις τα αναγράμματα με την ίδια σειρά που εμφανίζονται οι υποψήφιες λέξεις.
Γράψου στο Exercism για να μάθεις και να κατακτήσεις Nim με 70 ασκήσεις και πραγματική καθοδήγηση από ανθρώπους, όλα δωρεάν.