Qual foi o problema proposto?
Resumo do problema:
Havia uma série de 5 livros sobre um herói inglês chamado Harry. (Ao menos eram cinco quando o problema foi criado, depois eles se multiplicaram!) Crianças ao redor de todo o mundo o acharam fantástico e, claro, assim o fez a editora. Então, em um gesto de generosidade (e aumentar as vendas), a editora adotou um modelo de preço para tirar vantagem dos poderes mágicos do Harry.
Uma cópia de qualquer um dos livros custa 42 reais. Entretanto, se você comprar dois livros diferentes da série, você receberá 5% de desconto em ambos. Se comprar 3, 10% de desconto. Com 4, você ganha 15%. E se comprar toda a série, 20%!
Percebam que se você comprar, por exemplo, quatro livros e destes 3 forem de diferentes títulos, você receberá 10% de desconto no conjunto de 3 diferentes, mas o quarto livro (que é repetido de algum dos 3 anteriores) custará o preço normal.
O fenômeno literário se espalhou por todo o planeta e os pais de adolescentes estão fazendo filas para comprar os livros. Sua missão é escrever o código que calcula o preço de qualquer carrinho de compras destes livros, oferecendo o maior desconto possível para a combinação de livros sendo comprados.
Por exemplo, quanto custaria essa compra abaixo?
- 2 cópias do primeiro livro
- 2 cópias do segundo livro
- 2 cópias do terceiro livro
- 1 cópia do quarto livro
- 1 cópia do quinto livro
(resposta: 268,80 reais)
Qual a situação da solução no final do dojo?
Começamos o dojo mais tarde do que o marcado, pois conversamos bastante no começo. O bate-papo foi incrível, mas encurtou o tempo do dojo!
Além disso, também nos confundimos usando outra versão deste problema disponibilizada no DojoPuzzles, que é ligeiramente diferente.
Quer mexer no código? É bem fácil, só clicar em Fork e brincar!
Não sabe o que é um Coding Dojo?
É uma reunião de desenvolvedores para trocar ideias e resolver, juntos, um problema. Não precisa ser expert nem manjar de todos os paranauês, basta ter interesse!