Practice problems from codeforces solved in haskell.
Tried to be as simple and clear as possible in the solutions, the problems are indexed in increasing order of difficulty along with the main topics used to solve them.
I solved some problems using different methods so they are listed more than once.
The problem statement is included in each source file and you can run the code (with GHC installed) yourself using:
Watermelon conditionals, function composition(dot notation), $ notation
Theatre Square do notation, map, read, words, $ notation
Way Too Long Words guards, getContents, lines, unlines, head, last
Way Too Long Words conditionals, replicateM, sequence_
Next Round foldl, lambda, conditionals, show, map, read, words, getLine
Next Round filter, lambda, conditionals, show, map, read, words, getLine
String Task intersperse, filter, notElem, flip
String Task guards, foldr, elem
String Task list comprehensions, concat, elem
String Task point free notation, concatMap
Team getList, fmap, filter, replicateM
Team point free notation, $ notation
Domino piling getList, pattern matching, putStrLn
Domino piling interact, function currying, $ notation
Domino piling print, getLine, =<< operator
Bit++ pattern matching, recursion, conditionals, show, tail, lines, interact
Petya and Strings pattern matching, lines, map, toUpper, show, interact