Adott egy számjegyekből álló string. Add vissza a benne előforduló összes n hosszúságú, összefüggő részstringet abban a sorrendben, ahogy megjelennek.
Például a „49142” stringnek a következő háromjegyű sorozatai vannak:
És a következő négyjegyű sorozatai:
Ha pedig egy ötjegyű stringből hatjegyű sorozatot kérsz, azt kapod, amit érdemelsz.
Vedd figyelembe, hogy ezeknek a sorozatoknak csak szomszédos pozíciókat kell elfoglalniuk a bemenetben; a számjegyeknek nem kell számszerűen egymást követőnek lenniük.
A feladat megoldásához implementálnod kell a slices függvényt, amely egy szöveget vesz át, és visszaadja a megadott hosszúságú számjegyrészsorozatokat:
Ha most oldod meg először ezt a feladatot, érdemes a megadott szignatúrához ragaszkodnod:
slices :: Int -> String -> [[Int]]
Később jó ötlet lehet visszatérni ehhez a feladathoz, és más adattípusokkal meg könyvtárakkal kísérletezni:
ByteString, a bytestring csomagból.Sequence, a containers csomagból.Text, a text csomagból.Vector, a vector csomagból.A teszteket szándékosan úgy tervezték, hogy szinte bármilyen értelmes típusszignatúrát elfogadjanak, ezért bátran keresd meg azt, amelyiket te tartod a legjobbnak.
Iratkozz fel az Exercism-re, hogy megtanuld és elsajátítsd a(z) Haskell nyelvet 107 feladat segítségével, valódi emberi mentorálással, mindez ingyen.