De um lado para o outro

Em um jogo de tabuleiro, um jogador pode pegar cartas que contêm setas apontando para a esquerda ou para a direita. A quantidade de pontas de seta em uma carta indica o número de casas que ele deve avançar nessa direção.

Dado um array com as setas das cartas do jogador, crie um método que retorne uma única string de pontas de seta equivalente ao deslocamento resultante.

Exemplo explicado

Program.CalculateArrowhead(new[] { ">>", "<<", "<<<" }) ➞ "<<<"
  • >> avança 2 casas para a direita.
  • << avança 2 casas para a esquerda, anulando >>.
  • Em seguida, <<< avança mais 3 casas para a esquerda.
  • No total, o deslocamento é <<<.

Exemplos

Program.CalculateArrowhead(new[] { ">>>>", "<", "<", "<" }) ➞ ">"

Program.CalculateArrowhead(new[] { ">", "<", ">>", "<", "<<<" }) ➞ "<<"

Program.CalculateArrowhead(new[] { ">>>", "<<<" }) ➞ ""

Observações

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