From 7f77f812350e8fb1687343faa17cf23d797883d5 Mon Sep 17 00:00:00 2001 From: Joe Zhao Date: Mon, 16 Mar 2015 15:58:42 +0800 Subject: +11 --- p11.hs | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 p11.hs diff --git a/p11.hs b/p11.hs new file mode 100644 index 0000000..77b7295 --- /dev/null +++ b/p11.hs @@ -0,0 +1,15 @@ +import Control.Arrow +import Data.List + +data ListItem a = Single a | Multiple a Int + deriving (Show) + +encode :: Eq a => [a] -> [(a,Int)] +encode xs = map (head &&& length) $ group xs + +encodeModified :: Eq a => [a] -> [ListItem a] +encodeModified = map helper . encode + where + helper (a,1) = Single a + helper (a,c) = Multiple a c + -- cgit v1.2.3-70-g09d2