Scrivi un programma o una funzione che accetta una stringa contenente solo i caratteri ^
e v
(puoi presumere che non ci saranno altri caratteri). Leggere da sinistra a destra questa stringa rappresenta la sequenza di clic del mouse un singolo utente fatta durante la visualizzazione di una pila di cambio domanda o una risposta per la prima volta.
Ogni ^
rappresenta un clic del pulsante di votazione e ogni v
rappresenta un clic del pulsante di votazione . (Per esempi di lavoro, guardare leggermente a sinistra.)
Supponiamo che non siano in vigore limiti di voto , quindi tutti i clic sono registrati correttamente.
Stampa o ritorna:
1
o+1
se il post finisce per essere votato.0
se il post finisce per non essere votato. (-0
e+0
non sono validi)-1
se il post finisce per essere sottoposto a downgrade.
I post iniziano con zero voti netti dell'utente e i pulsanti cambiano i voti netti come segue:
Net Votes Before Button Pressed Net Votes After
1 ^ 0
1 v -1
0 ^ 1
0 v -1
-1 ^ 1
-1 v 0
Vince il codice più breve in byte.
Casi test:
[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
^
personaggio può causare un cambio di punteggio -1, +1 o +2? Sono denso dove? Cosa sta succedendo?