O décimo primeiro dia do Advent of Code foi ontem 11/12/2024! Se você caiu aqui hoje pela primeira vez, não deixe de ler os posts sobre o Dia 1, Dia 2, Dia 3, Dia 4, Dia 5, Dia 6, Dia 7, Dia 8, Dia 9 e Dia 10.
Classifiquei o décimo primeiro problema como fácil (parte 1) e médio (parte 2).
Dicas
- Tanto a parte 1 quanto a parte 2 usam as mesmas regras para gerar as pedras.
- Uma pedra 0 vira uma pedra 1
- Uma pedra com número par de dígitos vira duas pedras
- Se não entrar em nenhuma dessas condições, o valor da pedra é multiplicado por 2024.
- A geração das pedras na parte 1 é bem interessante e fácil de implementar.
- O problema traz vários valores de testes que você deve utilizar para validar suas funções
- Você pode usar qualquer uma das respostas para a parte 1.
- A parte 2 é complexa porque não há espaço suficiente para guardar tantas pedras. São centenas de trilhões de pedras, guardar cada uma em um elemento da lista não é interessante.
- Na parte 2, lembre que o objetivo é calcular o número de pedras, não o valor das pedras em si.
- Quando a pedra tem um número par de dígitos, ela gera duas pedras. Todos os outros valores geram apenas uma pedra. Se você considerar esta propriedade, você pode incrementar o contador de pedras sem guardar todas as pedras.
Quanto de Python você precisa saber?
Os capítulos se referem ao meu livro Introdução à Programação com Python.