Anagramma

Anagramma

Könnyű

Bevezetés

Egy garázsvásáron találsz egy gyönyörű, régi írógépet bagóért! Izgatottan hazarohansz, beteszel egy lapot, és nekiállsz gépelni. A lelkesedésed azonban alábbhagy, amikor megnézed az eredményt: minden szó összekavarodott! Például „stop”-ot ír a „post” helyett, és „least”-et a „stale” helyett. Óvatosan újrapróbálod, de most „spot”-ot és „slate”-et ír. Egy kis kísérletezés után rájössz, hogy minden betű kinyomtatása előtt véletlenszerű késleltetés van, ami összekavarja a sorrendet. Most már érted, miért adták el olyan kevés pénzért!

Rájössz, hogy ez a sajátosság lehetővé teszi anagrammák készítését: az anagramma olyan szó, amit úgy kapsz, hogy egy másik szó betűit átrendezed. Örülve a felfedezésnek, a nap hátralévő részét azzal töltöd, hogy több száz anagrammát készítesz.

Utasítások

Adott egy cél szó és egy vagy több jelölt szó. A feladatod, hogy megkeresd azokat a jelölteket, amelyek a cél szó anagrammái.

Az anagramma a betűk átrendezése egy új szóvá: például a "owns" a "snow" anagrammája. Egy szó nem a saját anagrammája: például a "stop" nem anagrammája önmagának.

A cél szó és a jelölt szavak egy vagy több ASCII-betűből (A-Z és a-z) állnak. A kis- és a nagybetűk egyenértékűek: például a "PoTS" a "sTOp" anagrammája, a "StoP" viszont nem anagrammája a "sTOp" szónak. A megkeresendő szavakat a jelölt szavak közül kell venni, ugyanolyan kis- és nagybetűhasználattal.

Ha a cél szó "stone", a jelölt szavak pedig "stone", "tones", "banana", "tons", "notes" és "Seton", akkor a megkeresendő anagrammák: "tones", "notes" és "Seton".

Megvalósítás

Az anagrammákat ugyanabban a sorrendben kell visszaadnod, ahogyan a jelöltszavak listájában szerepelnek.

Szerkesztés GitHubon A hivatkozás új ablakban vagy lapon nyílik meg
OCaml Exercism

Készen állsz elkezdeni a(z) Anagramma feladatot?

Iratkozz fel az Exercism-re, hogy megtanuld és elsajátítsd a(z) OCaml nyelvet 60 feladat segítségével, valódi emberi mentorálással, mindez ingyen.