De um lado para o outro

Em um jogo de tabuleiro, um jogador pode pegar uma carta com várias setas apontando para a esquerda ou para a direita; a quantidade de setas indica o número de casas que ele deve avançar. O jogador deve se mover para a esquerda ou para a direita, de acordo com a direção das setas.

Dado um array com as setas das cartas de um jogador, retorne uma única string de pontas de seta que represente o movimento resultante de todas elas.

Exemplo explicado

calculateArrowhead([">>", "<<", "<<<"]) ➞ "<<<"
// >> significa avançar 2 casas para a direita
// << significa avançar 2 casas para a esquerda (anulando >>)
// <<< significa avançar mais 3 casas para a esquerda
// no total, o movimento pode ser representado como <<<

Exemplos

calculateArrowhead([">>>>", "<", "<", "<"]) ➞ ">"

calculateArrowhead([">", "<", ">>", "<", "<<<"]) ➞ "<<"

calculateArrowhead([">>>", "<<<"]) ➞ ""

Observações

Retorne uma string vazia se todas as pontas de seta se anularem.