Localizador de Padrões
Parte da seção Fundamentos do Journey de R da Coddy. Lição 77 de 78.
Desafio
FácilCrie uma função chamada count_pattern que recebe dois argumentos: text e pattern. A função deve retornar o número de vezes que o padrão aparece no texto, incluindo ocorrências sobrepostas.
Você receberá duas linhas de entrada:
- A string de texto onde a busca será realizada
- A string de padrão a ser buscada
Chame sua função com as entradas fornecidas e imprima o resultado.
Dicas:
- Use
nchar()para obter o comprimento das strings - Use
substr(text, start, stop)para extrair substrings - Itere por cada posição inicial válida e verifique se a substring corresponde ao padrão
Por exemplo, se a entrada for:
ababa
abaA saída deve ser:
2Explicação: O padrão "aba" aparece na posição 1 (ababa) e na posição 3 (ababa), portanto, a contagem é 2.
Se a entrada for:
mississippi
issiA saída deve ser:
2Experimente você mesmo
# Ler a entrada
con <- file("stdin", "r")
text <- suppressWarnings(readLines(con, n = 1))
pattern <- suppressWarnings(readLines(con, n = 1))
close(con)
# TODO: Criar uma função chamada count_pattern que recebe text e pattern
# e retorna a contagem de ocorrências sobrepostas de pattern em text
# Chamar a função e imprimir o resultado
print(count_pattern(text, pattern))Todas as lições de Fundamentos
4Operadores - Parte 2
Operadores lógicos (AND, OR)Operadores lógicos - Parte 2 (NOT)Revisão - Lógica simplesLógica vetorizada - Parte 1Lógica vetorizada - Parte 27Calculadora de Divisão da Conta
Mensagem de Boas-vindasObtendo a Entrada do Usuário10FizzBuzz com uma Reviravolta
Visão Geral do JogoA Função FizzBuzz2Variáveis e Tipos de Dados
Tipo de Dado NuméricoTipo de Dado InteiroTipo de Dado CaractereTipo de Dado LógicoVerificando Tipos de DadosConvenções de NomenclaturaValores Ausentes: NARecapitulação - Criação de Variáveis8Laços
Laço ForLaço WhileBreakNext (Continue)Revisão - FatorialGeração de Sequências (seq, :)Laços AninhadosRevisão - Entrada Dinâmica3Operadores - Parte 1
Operadores aritméticosDivisão inteira e móduloOperadores de atribuiçãoRevisão - Matemática simplesOperadores de comparação6Entrada e saída básicas
Imprimir saídacat para saídaSaída com variáveisLendo entrada com readline()Noções básicas de conversão de tiposRecapitulação - Calculadora de idadeRecapitulação - Verdadeiro ou falso9Funções
Declarando uma FunçãoArgumentos de FunçãoValores de RetornoRecapitulação - Função SigmaRecapitulação - Função de ValidaçãoValores de Parâmetros PadrãoPratique por conta própria: Compilador de R online