1
0
Fork 0
mirror of https://gitlab.com/mfocko/CodeWars.git synced 2024-11-09 11:09:07 +01:00
CodeWars/5kyu/directions_reduction/solution.hs
Matej Focko fc899b0b02
chore: initial commit
Signed-off-by: Matej Focko <mfocko@redhat.com>
2021-12-28 16:19:58 +01:00

20 lines
599 B
Haskell

module Codewars.Kata.Reduction where
import Codewars.Kata.Reduction.Direction
-- data Direction = North | East | West | South deriving (Eq)
areOpposite :: Direction -> Direction -> Bool
areOpposite North South = True
areOpposite South North = True
areOpposite East West = True
areOpposite West East = True
areOpposite _ _ = False
folding :: Direction -> [Direction] -> [Direction]
folding x [] = [x]
folding x (y:rest) | areOpposite x y = rest
| otherwise = x:y:rest
dirReduce :: [Direction] -> [Direction]
dirReduce [] = []
dirReduce directions = foldr folding [] directions