Olá,
A solução de problemas é o principal no desenvolvimento de software, sua dúvida é ótima!
Algumas abordagens que utilizamos no dia a dia são:
Pense na solução do problema fora do código: Entenda o que tem que ser feito, a programação é só a ferramenta para isso, no dia a dia sempre utilizamos ferramentas como gpt ou google para nos ajudar, por exemplo, se eu sei que quero quebrar uma palavra em partes, faço uma pesquisa como: como quebrar uma string em python, isso irá nos trazer muitas opções para a solução do nosso problema, ai você estuda e utiliza a solução que mais se encaixa no seu caso.
Quebrar o problema em partes: Divida em pequenas etapas todo o desafio que foi passado, depois disso organize as etapas por ordem e comece a resolver parte por parte, até que tudo seja concluído. Faça anotações!! visualizar o problema é essencial!
Explique o problema para alguém: Tente imaginar como você explicaria este problema para outra pessoa, assim você já começa a pensar por outros ângulos e fica mais fácil chegar a uma solução.
Por fim, utilize suas anotações e códigos anteriores como base, os desafios muitas vezes são parecidos com algo que você já viu, apenas com pequenas modificações para fixar o conteúdo.
Bons estudos!