Eduardo Médici
Eduardo Médici21/07/2025 15:07
Compartilhe

Desafio proposto: Primeiro caractere único

    # 🧩 Desafio - Primeiro caractere único

    Propus a mim mesmo um desafio para praticar o conhecimento adquirido nos primeiros 3 módulos do bootcamp "WEX - End to End Engineering" da plataforma DIO.

    O desafio inicial consiste em criar um programa capaz de receber uma expressão e, assim, retornar o primeiro caractere único da expressão.

    Minha resolução do desafio: https://github.com/eduardo-medici/primeiro-caractere-unico

    Sinta-se à vontade para compartilhar a sua resolução nos comentários!

    ## 📌Exemplos:

    ________________

    Recebe <- eefefrggthyytp

    Retorna -> r

    ________________

    Recebe <- aa11223ss344tt

    Retorna -> "null" OU outra expressão alertando a falha

    ________________

    ## 📡 Atualizações

    Durante o desenvolvimento do programa, optei também por adicionar outras funcionalidades.

    - O método [ ListarPrimeiroUnico ], além de retornar o primeiro caractere único da expressão (objetivo inicial do desafio), também retorna a sua posição na expressão.

    - O método [ ListarTodosUnicos ] retorna, em ordem alfabética, todos os caracteres únicos presentes na expressão.

    - O método [ FrequenciaCaracteres ] retorna, em ordem alfabética, todos os caracteres presentes na expressão, assim como a frequência de cada um.

    Compartilhe
    Comentários (1)
    DIO Community
    DIO Community - 21/07/2025 15:45

    Excelente iniciativa, Eduardo! A proposta do desafio é simples na forma, mas poderosa no conteúdo, ela envolve lógica, estrutura de dados e boas práticas de escrita de código em C#, além de incentivar pensamento algorítmico e legibilidade.

    Sua decisão de expandir o desafio com funcionalidades como ListarTodosUnicos e FrequenciaCaracteres demonstra visão além do básico: você transforma um exercício técnico em uma mini ferramenta de análise textual, algo com aplicações reais em validação de entradas, análise de logs ou mesmo sistemas de recomendação simples.

    A publicação no GitHub também é um ponto positivo: reforça sua postura ativa como dev e cria oportunidade para code review da comunidade. Que tal propor um próximo passo no seu repositório, como implementar testes unitários com xUnit ou tornar a aplicação interativa via terminal?