Ανάγραμμα

Ανάγραμμα

Μέτριο

Εισαγωγή

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

Ειδικές οδηγίες για τη διαδρομή

Το αποτέλεσμα πρέπει να είναι μια συμβολοσειρά με τους αναγραμματισμούς χωρισμένους με κόμμα (π.χ., "hello,world").

Πρέπει να επιστρέψεις τους αναγραμματισμούς με την ίδια σειρά με την οποία εμφανίζονται στις υποψήφιες λέξεις.

Επεξεργασία μέσω GitHub Ο σύνδεσμος ανοίγει σε νέο παράθυρο ή καρτέλα
COBOL Exercism

Έτοιμος να ξεκινήσεις την άσκηση Ανάγραμμα;

Γράψου στο Exercism για να μάθεις και να κατακτήσεις COBOL με 46 ασκήσεις και πραγματική καθοδήγηση από ανθρώπους, όλα δωρεάν.