Buscador de patrones
Parte de la sección Fundamentos del Journey de R de Coddy — lección 77 de 78.
Desafío
FácilCrea una función llamada count_pattern que reciba dos argumentos: text y pattern. La función debe devolver el número de veces que el patrón aparece en el texto, incluyendo las ocurrencias superpuestas.
Recibirás dos líneas de entrada:
- La cadena de texto en la que buscar
- La cadena de patrón a buscar
Llama a tu función con las entradas proporcionadas e imprime el resultado.
Pistas:
- Usa
nchar()para obtener la longitud de las cadenas - Usa
substr(text, start, stop)para extraer subcadenas - Itera a través de cada posición inicial válida y verifica si la subcadena coincide con el patrón
Por ejemplo, si la entrada es:
ababa
abaLa salida debería ser:
2Explicación: El patrón "aba" aparece en la posición 1 (ababa) y en la posición 3 (ababa), por lo que el conteo es 2.
Si la entrada es:
mississippi
issiLa salida debería ser:
2Pruébalo tú mismo
# Leer la entrada
con <- file("stdin", "r")
text <- suppressWarnings(readLines(con, n = 1))
pattern <- suppressWarnings(readLines(con, n = 1))
close(con)
# TODO: Crear una función llamada count_pattern que reciba text y pattern
# y devuelva el recuento de ocurrencias superpuestas de pattern en text
# Llamar a la función e imprimir el resultado
print(count_pattern(text, pattern))Todas las lecciones de Fundamentos
4Operadores Parte 2
Operadores lógicos (AND, OR)Operadores lógicos Parte 2 (NOT)Resumen - Lógica simpleLógica vectorizada Parte 1Lógica vectorizada Parte 27Calculadora para dividir la cuenta
Mensaje de bienvenidaObtener la entrada del usuario2Variables y tipos de datos
Tipo de dato numéricoTipo de dato enteroTipo de dato de caracteresTipo de dato lógicoComprobación de tipos de datosConvenciones de nomenclaturaValores faltantes: NAResumen - Creación de variables8Bucles
Bucle ForBucle WhileBreakNext (Continue)Repaso - FactorialGeneración de secuencias (seq, :)Bucles anidadosRepaso - Entrada dinámica3Operadores Parte 1
Operadores aritméticosDivisión entera y móduloOperadores de asignaciónRepaso - Matemáticas simplesOperadores de comparación6E/S básica
Imprimir salidaCat para salidaSalida con variablesLectura de entrada con readline()Conceptos básicos de conversión de tiposResumen - Calculadora de edadResumen - Verdadero o falso9Funciones
Declarar una funciónArgumentos de una funciónValores de retornoRepaso - Función SigmaRepaso - Función de validaciónValores de parámetros por defecto