Skip to content

oliveirasmvinicius/dojo-puzzles

 
 

Repository files navigation

Desafios resolvidos do site Dojo Puzzles

Estátisticas Simples - Resolução

Sua tarefa é processar uma seqüência de números inteiros para determinar as seguintes estatísticas:

  • Valor mínimo
  • Valor máximo
  • Número de elementos na seqüência
  • Valor médio

Por exemplo para uma seqüência de números "6, 9, 15, -2, 92, 11", temos como saída:

  • Valor mínimo: -2
  • Valor máximo: 92
  • Número de elementos na seqüência: 6
  • Valor médio: 18.1666666

Link do desafio

Caixa Eletrônico - Resolução

Desenvolva um programa que simule a entrega de notas quando um cliente efetuar um saque em um caixa eletrônico. Os requisitos básicos são os seguintes:

  • Entregar o menor número de notas;
  • É possível sacar o valor solicitado com as notas disponíveis;
  • Saldo do cliente infinito;
  • Quantidade de notas infinito (pode-se colocar um valor finito de cédulas para aumentar a dificuldade do problema);
  • Notas disponíveis de R$ 100,00; R$ 50,00; R$ 20,00 e R$ 10,00

Exemplos:

  • Valor do Saque: R$ 30,00 – Resultado Esperado: Entregar 1 nota de R$20,00 e 1 nota de R$ 10,00.
  • Valor do Saque: R$ 80,00 – Resultado Esperado: Entregar 1 nota de R$50,00 1 nota de R$ 20,00 e 1 nota de R$ 10,00.

Link do Desafio

FizzBuzz - Resolução

Neste problema, você deverá exibir uma lista de 1 a 100, um em cada linha, com as seguintes exceções:

  • Números divisíveis por 3 deve aparecer como 'Fizz' ao invés do número;
  • Números divisíveis por 5 devem aparecer como 'Buzz' ao invés do número;
  • Números divisíveis por 3 e 5 devem aparecer como 'FizzBuzz' ao invés do número'.

Link do Desafio

Jokenpo - Resolução

Jokenpo é uma brincadeira japonesa, onde dois jogadores escolhem um dentre três possíveis itens: Pedra, Papel ou Tesoura.

O objetivo é fazer um juiz de Jokenpo que dada a jogada dos dois jogadores informa o resultado da partida.

As regras são as seguintes:

  • Pedra empata com Pedra e ganha de Tesoura
  • Tesoura empata com Tesoura e ganha de Papel
  • Papel empata com Papel e ganha de Pedra

Link do Desafio

Entradas no Banco - Resolução

Todas as vezes que alguém passa na porta do maior banco da cidade de Pirenópolis, é gravado em um arquivo de log a data e a hora da abertura da porta.

Cada registro no arquivo de log possui o seguinte formato:

[YYYY-mm-dd H:i:s] - Abertura da Porta OK

O gerente do banco precisa saber quantas pessoas entraram no banco no horário de expediente, para isso ele solicitou que você faça um programa que verifique se o registro de entrada é válido e se a hora se encontra dentro do intervalo de funcionamento do banco, das 10:00:00 até as 16:00:00.

Link do Desafio

Ano Bissexto - Resolução

A cada 4 anos, a diferença de horas entre o ano solar e o do calendário convencional completa cerca de 24 horas (mais exatamente: 23 horas, 15 minutos e 864 milésimos de segundo). Para compensar essa diferença e evitar um descompasso em relação às estações do ano, insere-se um dia extra no calendário e o mês de fevereiro fica com 29 dias. Essa correção é especialmente importante para atividades atreladas às estações, como a agricultura e até mesmo as festas religiosas.

Um determinado ano é bissexto se:

O ano for divisível por 4, mas não divisível por 100, exceto se ele for também divisível por 400. Exemplos:

São bissextos por exemplo:

  • 1600
  • 1732
  • 1888
  • 1944
  • 2008

Não são bissextos por exemplo:

  • 1742
  • 1889
  • 1951
  • 2011

Escreva uma função que determina se um determinado ano informado é bissexto ou não.

Link do Desafio

Intervalos - Resolução

Dado uma lista de números inteiros, agrupe a lista em um conjunto de intervalos

Exemplo:

Entrada: 100, 101, 102, 103, 104, 105, 110, 111, 113, 114, 115, 150

Saída: [100-105], [110-111], [113-115], [150]

Link do Desafio

Nomes de Autores de Obras Bibliográficas - Resolução

Quando se lista o nome de autores de livros, artigos e outras publicações é comum que se apresente o nome do autor ou dos autores da seguinte forma: sobrenome do autor em letras maiúsculas, seguido de uma vírgula e da primeira parte do nome apenas com as iniciais maiúsculas.

Por exemplo:

  • SILVA, Joao
  • COELHO, Paulo
  • ARAUJO, Celso de

Seu desafio é fazer um programa que leia um número inteiro correspondendo ao número de nomes que será fornecido, e, a seguir, leia estes nomes (que podem estar em qualquer tipo de letra) e imprima a versão formatada no estilo exemplificado acima.

As seguintes regras devem ser seguidas nesta formatação:

  • o sobrenome será igual a última parte do nome e deve ser apresentado em letras maiúsculas;
  • se houver apenas uma parte no nome, ela deve ser apresentada em letras maiúsculas (sem vírgula): se a entrada for “ Guimaraes” , a saída deve ser “ GUIMARAES”;
  • se a última parte do nome for igual a "FILHO", "FILHA", "NETO", "NETA", "SOBRINHO", "SOBRINHA" ou "JUNIOR" e houver duas ou mais partes antes, a penúltima parte fará parte do sobrenome. Assim: se a entrada for "Joao Silva Neto", a saída deve ser "SILVA NETO, Joao" ; se a entrada for "Joao Neto" , a saída deve ser "NETO, Joao";
  • as partes do nome que não fazem parte do sobrenome devem ser impressas com a inicial maiúscula e com as demais letras minúsculas;
  • "da", "de", "do", "das", "dos" não fazem parte do sobrenome e não iniciam por letra maiúscula.

Link do Desafio

About

Challenges solved using Python and TDD

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%