Localizador de Padrões
Parte da seção Fundamentos do Journey de Kotlin da Coddy. Lição 92 de 93.
Desafio
MédioEscreva uma função findPattern que receba text e pattern e retorne o índice inicial da primeira ocorrência do padrão dentro do texto.
Pesquise no texto para encontrar onde o padrão aparece pela primeira vez. Se for encontrado, retorne seu índice inicial baseado em 0. Se o padrão não existir no texto, retorne -1.
Lógica:
- Itere pelas possíveis posições iniciais no texto
- Em cada posição, verifique se a substring corresponde ao padrão
- Retorne o índice assim que uma correspondência for encontrada
- Se nenhuma correspondência for encontrada após verificar todas as posições, retorne
-1
Parâmetros:
text(String): O texto no qual pesquisarpattern(String): O padrão a ser encontrado
Retorno: O índice baseado em 0 onde o padrão aparece pela primeira vez, ou -1 se não for encontrado (Int)
Restrições de entrada: Um padrão vazio corresponde ao índice 0. Um padrão maior que o texto não tem correspondência.
Experimente você mesmo
fun findPattern(text: String, pattern: String): Int {
// Escreva o código aqui
}
Todas as lições de Fundamentos
4Operadores – Parte 1
Operadores aritméticosOperador móduloAtribuição aumentadaOperadores de comparaçãoRecapitulação – Matemática simples7Entrada e Saída Básicas
Função PrintlnTemplates de StringEntrada com ReadLineConversão de TiposRevisão - Anos até a AposentadoriaRevisão - Verdadeiro ou Falso10Funções
Declare uma funçãoParâmetros e argumentosValores de retornoArgumentos nomeadosValores padrãoFunções de expressão únicaRecapitulação — função SigmaRecapitulação — função de validação2Variáveis
Val vs VarInferência de TiposNúmerosStringBooleanoConvenções de NomenclaturaRecapitulação - Inicializar Variáveis5Operadores – Parte 2
Operadores lógicos – Parte 1Operadores lógicos – Parte 2Operadores lógicos – Parte 3Ternário com expressão ifRecapitulação – Lógica simples8Calculadora de Divisão da Conta
Mensagem de Boas-vindasObtendo a Entrada11FizzBuzz com uma Reviravolta
Visão Geral do JogoA Função FizzBuzz3Nullabilidade
O que é Null SafetyTipos anuláveisOperador de chamada seguraOperador ElvisNoções básicas do desafio de funçõesAsserção de não nuloRecapitulação - Acesso seguro6Tomada de Decisões
Instrução IfIf - ElseIf como ExpressãoExpressão WhenWhen com IntervalosRecapitulação - Calculadora Simples9Laços de Repetição
Laço ForLaço WhileLaço Do-WhileBreakContinueIntervalos em LaçosLaço AninhadoRecapitulação - FatorialRecapitulação - Entrada Dinâmica12Fundamentos de Listas
List vs MutableListAcessando ElementosModificando ListasMétodos de ListaPair e TripleRecapitulação - Lista de ProdutosRecapitulação - Lista Invertida15Rastreador de Despesas Diárias
Visão Geral do ProjetoSair do ProgramaPratique por conta própria: Playground de Kotlin