Partición por longitudes
Definir la función
particion :: [a] -> [Int] -> [[a]]
tal que (particion xs ns) es la partición de xs donde la longitud de cada parte está determinada por los elementos de ns. Por ejemplo,
particion [1..10] [2,5,0,3] == [[1,2],[3,4,5,6,7],[],[8,9,10]] particion [1..10] [1,4,2,3] == [[1],[2,3,4,5],[6,7],[8,9,10]]
Soluciones
particion :: [a] -> [Int] -> [[a]] particion [] [] = [] particion xs (n:ns) = take n xs : particion (drop n xs) ns