Menu
Coddy logo textTech

Buscador de patrones

Parte de la sección Fundamentos del Journey de Ruby de Coddy — lección 87 de 88.

challenge icon

Desafío

Fácil

Lee una cadena de la entrada y encuentra el patrón repetitivo más pequeño que forma la cadena completa.

Un patrón válido debe:

  • Tener una longitud que divida exactamente la longitud total de la cadena
  • Cuando se repita el número apropiado de veces, recrear la cadena original exactamente

Si la cadena está formada por un patrón repetitivo, imprime ese patrón más pequeño. Si no existe un patrón repetitivo, imprime la cadena original.

Para comprobar si un patrón funciona, puedes usar la multiplicación de cadenas: pattern * count crea una nueva cadena repitiendo el patrón.

Por ejemplo, si la entrada es abcabcabc, la salida debería ser:

abc

Si la entrada es xyxyxyxy, la salida debería ser:

xy

Si la entrada es aaaa, la salida debería ser:

a

Si la entrada es hello, la salida debería ser:

hello

Si la entrada es abcdef, la salida debería ser:

abcdef

Pruébalo tú mismo

# Leer la cadena de entrada
s = gets.chomp

# TODO: Escribe tu código a continuación
# Encontrar el patrón repetitivo más pequeño que forma la cadena completa
# Sugerencia: Verificar longitudes de patrón que dividan exactamente la longitud de la cadena
# Usar la multiplicación de cadenas (patrón * cuenta) para verificar si un patrón funciona

result = s  # Reemplaza esto con tu solución

# Imprimir el resultado
puts result

Todas las lecciones de Fundamentos