14 lines
437 B
Haskell
14 lines
437 B
Haskell
|
import Data.List
|
||
|
import Data.Set
|
||
|
|
||
|
isPassphraseValid :: [String] -> Bool
|
||
|
isPassphraseValid ws = sort ws == (toAscList . fromList) ws
|
||
|
|
||
|
main :: IO ()
|
||
|
main = do
|
||
|
input <- readFile "4.txt"
|
||
|
let passphrases = fmap words $ lines input
|
||
|
let valids = sum $ fmap (fromEnum . isPassphraseValid) passphrases
|
||
|
print $ valids
|
||
|
let stillValids = sum $ fmap (fromEnum . isPassphraseValid . (fmap sort)) passphrases
|
||
|
print $ stillValids
|