Escriba un programa o función que tome una cadena que solo contenga los caracteres ^
y v
(puede suponer que no habrá otros caracteres). Lea de izquierda a derecha esta cadena representa la secuencia de clics del mouse que un solo usuario realizó mientras veía una pregunta o respuesta de Stack Exchange por primera vez.
Cada ^
representa un clic del botón de votación positiva y cada uno v
representa un clic del botón de votación negativa . (Para ejemplos de trabajo, mire ligeramente a la izquierda).
Suponga que no existen limitaciones de votación, por lo que todos los clics se registran correctamente.
Imprimir o devolver:
1
o+1
si la publicación termina siendo votada.0
si la publicación termina sin ser votada. (-0
y+0
no son válidos)-1
si la publicación termina siendo rechazada.
Las publicaciones comienzan con cero votos netos del usuario y los botones cambian los votos netos de la siguiente manera:
Net Votes Before Button Pressed Net Votes After
1 ^ 0
1 v -1
0 ^ 1
0 v -1
-1 ^ 1
-1 v 0
El código más corto en bytes gana.
Casos de prueba:
[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
^
personaje puede causar un cambio de puntaje de -1, +1 o +2? ¿Soy denso donde? ¿Que esta pasando?