diff options
Diffstat (limited to '11-20/12.hs')
-rw-r--r-- | 11-20/12.hs | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/11-20/12.hs b/11-20/12.hs new file mode 100644 index 0000000..3c1ce90 --- /dev/null +++ b/11-20/12.hs @@ -0,0 +1,6 @@ +data ListItem a = Single a | Multiple Int a deriving Show +decodeModified :: [ListItem a] -> [a] + +decodeModified [] = [] +decodeModified (Single x:xs) = x:(decodeModified xs) +decodeModified (Multiple l x:xs) = replicate l x ++ decodeModified xs |