Cambios de liderato
- O(n) · Media
- Plan completo
- Python
- JavaScript
- textos
- ciclos
- condicionales
Enunciado
"Y otra vez cambia de manos el set", dice la narradora del partido de vóleibol. Ella lleva la cuenta de esos cambios, y quiere que la lleves tú. Recibes un texto con los puntos en orden, hecho solo de letras A y B mayúsculas: cada letra es un punto para ese equipo. Puede venir vacío. Después de cada punto, va ganando el equipo que tiene más. Hay un cambio de liderato cuando un equipo se pone adelante y el último que había ido adelante era el otro. El primero en ponerse adelante no cuenta como cambio. Un empate tampoco: si después del empate vuelve a ponerse adelante el mismo que iba ganando, no hubo cambio.
Regresa cuántos cambios hubo, como entero. Con "ABBAAB": A adelante, empate, B adelante (1), empate, A adelante (2), empate. Regresas 2.
Ejemplos
El ejemplo
"ABBAAB" → 2
A nunca suelta el liderato
"AAABAB" → 0
Tomar la primera ventaja no es un cambio
"BBB" → 0
La remontada
"AAAABBBBBB" → 1
Muchos cambios
"ABBAABBAAB" → 4
Además de estas, el reto tiene pruebas ocultas que se revelan al enviar tu solución.
Empiezas con esto
Python
def cambios_de_lider(puntos):
passJavaScript
function cambiosDeLider(puntos) {
}Se abre en el navegador, con el editor y las pruebas. Este reto es del plan completo; los de O(1) y O(log n) son gratis.