Saltar al contenido

Los renglones necesarios

Enunciado

Diez caracteres por renglón, a veces doce: eso cabe en la pantalla de un reloj de pulsera. Los mensajes se acomodan ahí sin partir ninguna palabra. Escribe una función que reciba una frase y el ancho de la pantalla, y regrese cuántos renglones ocupa la frase, como número entero.

Las palabras van en orden. La primera de un renglón ocupa sus caracteres; cada una que se agrega al mismo renglón ocupa sus caracteres más 1, por el espacio que la separa de la anterior. Cabe si el renglón queda con ancho caracteres o menos. Si no cabe, abre un renglón nuevo, sin espacio delante. Con "llego tarde hoy" y ancho 11, llego tarde ocupa 5 + 1 + 5 = 11 y cabe justo; hoy ya no cabe y baja: regresas 2.

Las palabras vienen separadas por un solo espacio, sin espacios al principio ni al final, y ninguna mide más que ancho. Si la frase viene vacía, no ocupa renglones y regresas 0.

Ejemplos

  • El del ejemplo

    "llego tarde hoy", 11 → 2

  • Los espacios también ocupan

    "el tren sale a las nueve", 8 → 4

  • Dos palabras que caben justo

    "compra pan", 10 → 1

  • Una palabra por renglón

    "uno dos tres", 4 → 3

  • Todo cabe en uno

    "buenos días", 20 → 1

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

Empiezas con esto

Python

def renglones(frase, ancho):
    pass

JavaScript

function renglones(frase, ancho) {
}
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 →