Diferencia simétrica
La diferencia simétrica de dos conjuntos es el conjunto cuyos elementos son aquellos que pertenecen a alguno de los conjuntos iniciales, sin pertenecer a ambos a la vez. Por ejemplo, la diferencia simétrica de {2,5,3} y {4,2,3,7} es {5,4,7}.
Definir la función
diferenciaSimetrica :: Eq a => [a] -> [a] -> [a]
tal que (diferenciaSimetrica xs ys) es la diferencia simétrica de xs e ys. Por ejemplo,
diferenciaSimetrica [2,5,3] [4,2,3,7] == [5,4,7] diferenciaSimetrica [2,5,3] [5,2,3] == [] diferenciaSimetrica [2,5,2] [4,2,3,7] == [5,4,3,7] diferenciaSimetrica [2,5,2] [4,2,4,7] == [5,4,4,7] diferenciaSimetrica [2,5,2,4] [4,2,4,7] == [5,
Soluciones
diferenciaSimetrica :: Eq a => [a] -> [a] -> [a] diferenciaSimetrica xs ys = [x | x <- xs, x `notElem` ys] ++ [y | y <- ys, y `notElem` xs]