O objetivo de qualquer exercício de lição de casa é duplo. Primeiro, aprenda novas técnicas ou métodos relacionados aos cursos. Segundo, pratique essas técnicas!
Se você já resolveu o mesmo problema anteriormente, já concluiu o primeiro ponto. Ótimo! Agora, o segundo ponto: ainda importa. Veja isso como uma oportunidade para dominar o material ainda mais.
Agora, eu não diria que você não pode se referir ao seu próprio código ao qual tem os direitos como referência. Apenas use-o como tal. Mapeie uma nova abordagem sem se referir ao seu código antigo. Codifique os aspectos desafiadores novamente. Então, somente depois de resolver os aspectos essenciais da tarefa, consulte os recursos que tiver à sua disposição. Vá em frente e faça os ajustes, mas nesse momento provavelmente não é necessário copiar e colar nada, você só precisará ajustar o seu novo código. Você pode melhorar o seu material original!
Agora, existe uma regra na programação: não reinvente a roda. Eu diria que é um banco traseiro quando a educação está envolvida. Você está reinventando o tempo todo, esse é o ponto do aprendizado. Se for muito trabalhoso e você realmente quiser reutilizar algum código, verifique se está tudo bem com seu professor e explique o que seria reutilizado.