Schreiben Sie ein Programm oder eine Funktion, die eine Zeichenfolge enthält, die nur die Zeichen ^
und enthält v
(Sie können davon ausgehen, dass es keine anderen Zeichen gibt). Von links nach rechts gelesen repräsentiert diese Zeichenfolge die Abfolge der Mausklicks, die ein einzelner Benutzer beim erstmaligen Anzeigen einer Stapelaustausch- Frage oder -Antwort ausgeführt hat.
Jedes Symbol steht^
für einen Klick auf die Schaltfläche " Aufwärts" und jedes Symbolv
für einen Klick auf die Schaltfläche " Abwärts" . (Arbeitsbeispiele finden Sie leicht links.)
Angenommen, es gelten keine Stimmrechtsbeschränkungen, sodass alle Klicks korrekt registriert werden.
Drucken oder zurücksenden:
1
oder+1
wenn der Beitrag am Ende hochgestuft wird.0
wenn der Beitrag nicht abgestimmt wird. (-0
und+0
sind nicht gültig)-1
wenn der Beitrag abgelehnt wird.
Beiträge beginnen mit null Netto-Stimmen des Benutzers und die Schaltflächen ändern die Netto-Stimmen wie folgt:
Net Votes Before Button Pressed Net Votes After
1 ^ 0
1 v -1
0 ^ 1
0 v -1
-1 ^ 1
-1 v 0
Der kürzeste Code in Bytes gewinnt.
Testfälle:
[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
^
Kann der Charakter also eine Änderung der Punktzahl von -1, +1 oder +2 verursachen? Bin ich dicht wo? Was ist los?