Saltar al contenido

Partido a once

Enunciado

"A once, y con dos de ventaja", repite el árbitro antes de cada partido de ping-pong del club. Gana quien llega primero a 11 puntos, pero solo si le lleva 2 o más al otro: si van 10 a 10, se sigue jugando hasta que alguien se adelante por 2.

Escribe una función que reciba los puntos en orden, como un texto donde cada letra es un punto para el jugador A o para el B, y regrese "A" o "B", el que ganó. Si el partido no ha terminado, o el texto viene vacío, regresa "". Con once A seguidas, gana A 11 a 0. Con 11 a 10 todavía no hay ganador; con 12 a 10, sí.

En cuanto alguien gana, el partido se acaba: si el texto trae más letras después, se ignoran.

Ejemplos

  • Once a cero

    "AAAAAAAAAAA" → "A"

  • Gana B 11 a 5

    "ABABABABABBBBBBB" → "B"

  • Todavía no termina

    "AABBA" → ""

  • 11 a 10 no alcanza

    "ABABABABABABABABABABA" → ""

  • Empate largo, gana B 14 a 12

    "ABABABABABABABABABABABBABB" → "B"

Además de estas, el reto tiene pruebas ocultas que se revelan al enviar tu solución.

Empiezas con esto

Python

def ganador(puntos):
    pass

JavaScript

function ganador(puntos) {
}
Resolver este reto

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.

Más retos de O(n)

Ver todos los retos →