Teste de Redação
Retirado da OBI Nível Júnior de 2022
Verificação de Aprendizagem: Avalie sua compreensão. Tente resolver sem consultar materiais, usando apenas seu conhecimento. Identifique áreas que precisam de revisão.
Enunciado
Você é estagiário em uma empresa que está desenvolvendo um corretor automático de redações. Sua tarefa é criar a função que verifica se uma redação, dada como uma lista de palavras, é válida.
Uma redação é válida se obedecer **todas** as seguintes regras:
- Deve ter no mínimo **N** palavras e no máximo **M** palavras.
- Deve ter no mínimo **M/2** palavras *distintas*.
- Cada palavra deve ter no mínimo 1 letra e no máximo 10 letras.
- Cada palavra deve ser composta **apenas** por letras minúsculas (a-z), sem números, acentos ou pontuação.
Escreva a função `verificar_redacao` que recebe N, M e a lista de palavras, e retorna "OK" se a redação for válida, ou "Inválido" caso contrário.
Restrições: M é sempre par.
Entrada: Um inteiro N (mínimo de palavras), um inteiro M (máximo de palavras) e uma lista de strings `palavras` (a redação).
Saída: A string "OK" ou "Inválido".
Exemplo
verificar_redacao(2, 10, ["melhor", "que", "machado", "de", "assis"]) >> "OK"
Habilidades
-
Manipulação de Strings
Lógica de Condições e Decisões
Controle de Fluxo e Iteração