Unique characters in each string: Difference between revisions
→{{header|Haskell}}: Added a Haskell version
m (→{{header|Ruby}}: variable names) |
(→{{header|Haskell}}: Added a Haskell version) |
||
Line 254:
123abc
</pre>
=={{header|Haskell}}==
<lang haskell>import Data.List (group, sort)
import qualified Data.Map.Strict as M
import Data.Maybe (fromJust)
import qualified Data.Set as S
onceInEach :: [String] -> String
onceInEach [] = []
onceInEach ws@(x : xs) =
let freq = charCounts (concat ws)
wordCount = length ws
in filter
((wordCount ==) . fromJust . flip M.lookup freq)
( S.elems $
foldr
(S.intersection . S.fromList)
(S.fromList x)
xs
)
--------------------------- TEST -------------------------
main :: IO ()
main =
(putStrLn . onceInEach)
[ "1a3c52debeffd",
"2b6178c97a938stf",
"3ycxdb1fgxa2yz"
]
------------------------- GENERIC ------------------------
charCounts :: String -> M.Map Char Int
charCounts =
foldr
(flip (M.insertWith (+)) 1)
M.empty</lang>
{{Out}}
<pre>123abc</pre>
=={{header|jq}}==
Line 301 ⟶ 340:
["1","2","3","a","b","c"]
</pre>
=={{header|Julia}}==
<lang julia>list = ["1a3c52debeffd", "2b6178c97a938stf", "3ycxdb1fgxa2yz"]
|