Skip to content

Este repositório contém soluções em Python e Java para desafios da plataforma online Beecrowd, que oferece problemas de programação e algoritmos. As soluções são acompanhadas pelos enunciados e exemplos de entrada e saída dos problemas.

License

Notifications You must be signed in to change notification settings

GersonRS/beecrowd

Repository files navigation

npm GitHub last commit GitHub Issues GitHub Language GitHub Repo-Size GitHub Contributors GitHub Stars NPM Status

logo

Tabela de Conteúdo

Sobre o projeto

Este repositório contém soluções para diversos desafios do Beecrowd, uma plataforma online que oferece problemas para treinar habilidades em programação e algoritmos.

Cada problema é descrito em uma página com um enunciado e um conjunto de exemplos de entrada e saída. As soluções aqui apresentadas foram desenvolvidas em Python e em Java, mas futuramente será possível encontrar soluções em outras linguagens no repositório.

Como utilizar o repositório

As soluções estão organizadas em pastas, cada uma com o nome do problema correspondente. Dentro de cada pasta, há um arquivo com a solução, bem como um arquivo de entrada e um arquivo de saída que foram utilizados para testar a solução.

Para utilizar uma solução, basta baixar o arquivo correspondente e executá-lo em um ambiente de desenvolvimento ou em um terminal utilizando o comando correspondente da linguagem utilizada.

Para a linguagem Python basta entrar no diretorio do problema e executar o seguinte comando:

python3 solution.py < input.txt | tee output.txt

As soluções aqui apresentadas são apenas exemplos e não representam necessariamente a melhor ou a única forma de resolver cada problema. Além disso, as soluções foram desenvolvidas para atender aos requisitos específicos de cada problema e podem precisar de adaptações para serem utilizadas em outros contextos.

Sobre o Beecrowd

O Beecrowd é uma plataforma online que oferece problemas de programação e algoritmos para praticar e aprimorar habilidades em diferentes linguagens de programação. O site conta com uma grande variedade de problemas, desde problemas simples de lógica até problemas avançados de algoritmos e estruturas de dados.

Os problemas são organizados em diferentes categorias, como matemática, estruturas de dados, grafos e processamento de strings, entre outras. Cada problema é descrito em uma página com um enunciado, exemplos de entrada e saída e uma área para submeter a solução em diferentes linguagens de programação.

A plataforma é gratuita e permite que os usuários acompanhem o seu progresso, resolvendo problemas em diferentes níveis de dificuldade e competindo com outros usuários em rankings. O Beecrowd também é uma ótima fonte de desafios para preparação em competições de programação.

Fluxo de versionamento:

Projeto segue regras de versionamento gitflow.

Feito Com

Abaixo segue o que foi utilizado na criação deste projeto:

  • Python - Python é uma linguagem de programação de alto nível, interpretada de script, imperativa, orientada a objetos, funcional, de tipagem dinâmica e forte. Foi lançada por Guido van Rossum em 1991.
  • Java - Java é uma linguagem de programação orientada a objetos desenvolvida na década de 90 por uma equipe de programadores chefiada por James Gosling, na empresa Sun Microsystems, que em 2008 foi adquirido pela empresa Oracle Corporation.

Linguagens suportadas

Atualmente, o projeto suporta as seguintes linguagens de programação:

  • Python

  • Java

As soluções para os problemas em cada categoria podem estar disponíveis em uma ou mais dessas linguagens.

Estrutura de Arquivos

A estrutura de pastas está da seguinte maneira:

.
├── AD-HOC
├── Estruturas e Bibliotecas
├── Geometria Computacional
├── Grafos
├── Iniciante
├── Matematica
├── Origens
├── Paradigmas
├── SQL
└── String

Serão explicados os arquivos e diretórios na seção de Edição.


Edição

Nesta seção haverão instruções caso você queira editar o projeto, explicando para que os diretórios são utilizados e também os arquivos de configuração.

  • AD-HOC - Diretório contendo soluções de problemas que podem ser resolvidos utilizando programação simples, geralmente com pouca complexidade algorítmica. Este diretório também pode conter problemas que não se encaixam em outras categorias.

  • Estruturas e Bibliotecas - Diretório contendo soluções de problemas que envolvem o uso de estruturas de dados e/ou bibliotecas específicas para solução de problemas mais complexos.

  • Geometria Computacional - Diretório contendo soluções de problemas que envolvem cálculos geométricos, como distâncias entre pontos, áreas, ângulos, intersecções, convexidade, entre outros.

  • Grafos - Diretório contendo soluções de problemas que envolvem grafos e teoria dos grafos, como caminhos mínimos, fluxo máximo, árvores geradoras mínimas, conectividade, entre outros.

  • Iniciante - Diretório contendo soluções de problemas para iniciantes em programação competitiva, que abrangem conceitos básicos de programação, como estruturas de controle, variáveis, tipos de dados, laços, entre outros.

  • Matemática - Diretório contendo soluções de problemas que envolvem conceitos matemáticos, como números primos, fatoração, geometria analítica, combinatória, teoria dos números, entre outros.

  • Origens - Diretório contendo soluções de problemas de competições específicas, como o Codeforces e o URI Online Judge, e também soluções de problemas de plataformas de treinamento, como o HackerRank e o CodeChef.

  • Paradigmas - Diretório contendo soluções de problemas que envolvem paradigmas de programação, como força bruta, dividir para conquistar, busca binária, programação dinâmica, entre outros.

  • SQL - Diretório contendo soluções de problemas que envolvem linguagem SQL, como queries para selecionar, inserir, atualizar e deletar dados em bancos de dados.

  • String - Diretório contendo soluções de problemas que envolvem manipulação de strings, como busca de padrões, concatenação, parsing, formatação, entre outros.

Cada diretório de categoria contém soluções para os problemas correspondentes. As soluções estão disponíveis nas linguagens suportadas, sendo que algumas categorias podem não ter soluções... ainda.

Contribuição

Contribuições são o que fazem a comunidade open source um lugar incrível para aprender, inspirar e criar. Qualquer contribuição que você fizer será muito apreciada.

  1. Faça um Fork do projeto
  2. Crie uma Branch para sua Feature (git checkout -b feature/FeatureIncrivel)
  3. Adicione suas mudanças (git add .)
  4. Comite suas mudanças (git commit -m 'Adicionando uma Feature incrível!)
  5. Faça o Push da Branch (git push origin feature/FeatureIncrivel)
  6. Abra um Pull Request

📌 Suporte

Entre em contato comigo em um dos seguintes lugares!


📝 Licença

License

Distribuído sob a licença MIT. Veja LICENSE para mais informações.

📱 Social

Me acompanhe nas minhas redes sociais.

Twitter Instagram Linkedin Telegram Email


Feito com ❤️ by Gerson

About

Este repositório contém soluções em Python e Java para desafios da plataforma online Beecrowd, que oferece problemas de programação e algoritmos. As soluções são acompanhadas pelos enunciados e exemplos de entrada e saída dos problemas.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages