Saltar al contenido

Empieza y termina igual

Enunciado

Un trozo de un texto son letras seguidas, sin saltarse ninguna. De "sol" salen seis trozos: "s", "o", "l", "so", "ol" y "sol".

Escribe una función que reciba un texto y regrese cuántos de sus trozos empiezan y terminan con la misma letra.

Una letra sola cuenta, porque empieza y termina consigo misma. Por eso "abc" da 3 y no 0, y "ab" da 2.

Cuéntalos en "abcda": están las cinco letras sueltas, "a", "b", "c", "d" y "a", y está "abcda" entera, que abre y cierra con "a". Son seis.

Dos trozos que empiezan en lugares distintos son dos trozos, aunque se lean igual: en "aaa" hay seis. Con un texto vacío la respuesta es 0.

Un camino directo: para cada posición de inicio, revisa cada posición de fin de ahí en adelante.

Ejemplos

  • Ninguna letra se repite

    "abc" → 3

  • El del ejemplo

    "abcda" → 6

  • Dos letras

    "ab" → 2

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

Empiezas con esto

Python

def cuenta_bordes(texto):
    pass

JavaScript

function cuentaBordes(texto) {
}
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 →