Instruções

Diferença simétrica

Dados dois conjuntos *A* e *B*, calcule $(A \\setminus B) \\cup (B \\setminus A).$ Ou seja, enumere os itens que estão em *A* ou *B* mas não em ambos. Esse conjunto é chamado de diferença simétrica de *A* e *B*. Em outras palavras: $(A \\cup B) \\setminus (A \\cap B)$ (o conjunto de itens que estão em pelo menos um dos conjuntos *A* ou *B* menos o conjunto de itens que estão em ambos *A* e *B*). Exemplo: Para os conjuntos A = [1, 2, 3] e B = [1, 3, 4], a diferença simétrica de *A* e *B* é [2, 4].

O que fazer:

Escreva uma função que receba dois arrays como parâmetros e retorne a diferença simétrica. Ordene o array resultante antes de retorná-lo.

Critérios de Aceitação:

Testes:

  • `symmetricDifference` deve ser uma função.
  • `symmetricDifference(["John", "Bob", "Mary", "Serena"], ["Jim", "Mary", "John", "Bob"])` deve retornar um array.
  • `symmetricDifference(["John", "Bob", "Mary", "Serena"], ["Jim", "Mary", "John", "Bob"])` deve retornar `["Jim", "Serena"]`.
  • `symmetricDifference([1, 2, 3], [3, 4])` deve retornar `[1, 2, 4]`.
  • `symmetricDifference([1, 2, 3, 4, 5], [3, 4, 8, 7])` deve retornar `[1, 2, 5, 7, 8]`.
  • `symmetricDifference([1, 2, 3, 4, 5, 6, 7, 8], [1, 3, 5, 6, 7, 8, 9])` deve retornar `[2, 4, 9]`.
  • `symmetricDifference([1, 2, 4, 7, 9], [2, 3, 7, 8, 9])` deve retornar `[1, 3, 4, 8]`.

Console