Megérkezett egy szállítmány vészhelyzeti felszerelés, de van egy probléma. Hogy megóvják őket a sérülésektől, a tárgyakat (zseblámpák, elsősegélykészletek, takarók) dobozokba csomagolták, és néhány doboz több rétegen keresztül más dobozokba van ágyazva!
Egy vészhelyzetre készülve mindennek könnyen elérhetőnek kell lennie egyetlen dobozban. Ki tudod csomagolni az összes felszerelést, és egyetlen dobozba rakni, hogy a legnagyobb szükség idején készen álljanak?
Vegyél egy tetszőleges mélységű, egymásba ágyazott tömböt, és add vissza teljesen kilapítva.
Ne feledd, hogy egyes nyelvi kurzusoknál a bemeneti tömb tartalmazhat null-szerű értékeket, és az, hogy ezeket az értékeket hogyan ábrázolják, kurzusként változik. Az ilyen értékeket ki kell zárni a kilapított tömbből.
Ráadásul a bemenet adattípusa és a benne előforduló típusok is kurzusként eltérőek lehetnek.
A részleteket a tesztkészletben találod.
bemenet: [1, [2, 6, null], [[null, [4]], 5]]
kimenet: [1, 2, 6, 4, 5]
A fenti utasítások egy közös tárolóval vannak szinkronizálva, hogy minden nyelvi kurzuson egységesek legyenek. Ez a függelék további pontosítást nyújt, illetve szükség szerint módosítja az utasításokat, hogy azok jobban összhangban legyenek a Clojure-kurzus céljaival.
Ebben a feladatban a Clojure-kurzusban feltételezheted, hogy a bemenet vektorok tetszőlegesen egymásba ágyazott kombinációja, a kimenet pedig egy vektor, ahogy a tesztek is mutatják. Ez azonban nem szigorú követelmény; nyugodtan feltételezheted azt is, hogy a bemenet szekvenciális dolgok (listák, vektorok stb.) tetszőlegesen egymásba ágyazott kombinációja, a kimenet pedig egy szekvencia.
Iratkozz fel az Exercism-re, hogy megtanuld és elsajátítsd a(z) Clojure nyelvet 12 fogalom105 feladat segítségével, valódi emberi mentorálással, mindez ingyen.