En la primera parte se debe verificar cuales juegos son posibles y sumar los IDs, esto significa que similar al reto del día 1 hay que iterar a través de cada línea, por tanto obtenemos las entradas y declaramos los cubos máximos en una constante.
Ahora la idea sería estructurar cada línea dividiendo en pequeños strings, primero dividir la línea por “:” esto daría dos elementos, la primera contendría el ID y la segunda el Juego. Luego al Juego lo podemos dividir por “;” lo que daría un array de Set o subconjunto, luego a cada Set lo podemos dividir por “,” y obtener otro array por cada cubo, por último dividir por “%s” (espacio) y obtener el color del cubo y el número.
Decidí hacer todo eso en la misma iteración mientras resuelvo el ejercicio.
Parte 2
En la parte 2 te cambia las condiciones, ahora te pide determinar la mínima cantidad de cubos necesarios para que un juego sea posible, aquí se puede dar lugar a una confusión, en este caso, la mínima cantidad de cubos necesarios es la máxima cantidad de cubos de cada juego, por lo que solo hay que buscar cada cubo inicializando el valor en 0, y solo aplicar una función max(), es decir, quedarse siempre con el máximo valor de cada cubo.
Con esto ya se puede obtener la solución de ambas partes