Escreva um programa ou função que use uma string contendo apenas os caracteres ^
e v
(você pode assumir que não haverá outros caracteres). Ler da esquerda para a direita esta sequência representa a sequência de cliques do mouse feitos por um único usuário enquanto visualiza uma pergunta ou resposta do Stack Exchange pela primeira vez.
Every ^
representa um clique no botão de votação positiva e every v
representa um clique do botão de votação negativa . (Para exemplos de trabalho, veja um pouco à esquerda.)
Suponha que nenhuma limitação de votação esteja em vigor; portanto, todos os cliques são registrados corretamente.
Imprimir ou devolver:
1
ou+1
se a postagem acabar sendo votada.0
se a postagem acabar não sendo votada. (-0
e+0
não são válidos)-1
se a postagem acabar com voto negativo.
As postagens começam com zero voto líquido do usuário e os botões alteram o voto líquido da seguinte maneira:
Net Votes Before Button Pressed Net Votes After
1 ^ 0
1 v -1
0 ^ 1
0 v -1
-1 ^ 1
-1 v 0
O código mais curto em bytes vence.
Casos de teste:
[empty string] -> 0
^^ -> 0
^v -> -1
^ -> 1
v -> -1
v^ -> 1
vv -> 0
^^^ -> 1
vvv -> -1
^^^^ -> 0
vvvv -> 0
^^^^^ -> 1
vvvvv -> -1
^^^^^^ -> 0
vvvvvv -> 0
^^v -> -1
^v^ -> 1
^vv -> 0
vv^ -> 1
v^v -> -1
v^^ -> 0
^vvv^^vv^vv^v^ -> 1
^vvv^^vv^vv^v^^ -> 0
^vvv^^vv^vv^v^^^ -> 1
^vvv^^vv^vv^v^^v -> -1
^vvv^^vv^vv^v^^vv -> 0
^vvv^^vv^vv^v^^vvv -> -1
^vvvvvvvvvvvv -> 0
^^vvvvvvvvvvvv -> 0
^^^vvvvvvvvvvvv -> 0
vvv^^^^^^^^^^^^ -> 0
vv^^^^^^^^^^^^ -> 0
v^^^^^^^^^^^^ -> 0
^
personagem pode causar uma alteração na pontuação de -1, +1 ou +2? Eu sou denso onde? O que está acontecendo?