Olá! Tudo certo?
Gostei bastante da sua solução! Ficou bem claro o significado de cada parte.
Outra coisa que gostei foi usar bem da quebra de linha, identação e boas práticas para manter seu código tão organizado.
Pra mim ficou muito claro o que quis fazer com o código, obrigado por compartilhar a sua solução conosco!
Continue praticando e evoluindo na sua jornada.
Bons estudos e até mais!