Сделай по другому. Напиши некий набор тестов, которые проверяют выполнение задачи, решенный тем кодом, который ты хочешь "заучить". Потом напиши кондовое, костыльное, но свое решение этой задачи проходящее набор написанных на предыдущем этапе тестов. Сравни эти два решения. Попробуй понять, почему автор сделал так а не иначе. Чем твое решение хуже или лучше. Сделай выводы разнице и сходстве.
В чем плюс - ты учишься придумывать свое решение для задачи. К сожалению не все и не всегда придумано за нас и гугл не всегда всемогущ. В чем минусы - ты можешь писать отвратительные тесты по своей лени и можешь писать не менее отвратительный код, расчитанный только на прохождение этих тестов. К примеру захордкодить входные данные и ответы на них. Правда как по мне во многих простых задачах проще написать нормальное решение чем хардкодить данные.
Если речь идето стиле кода - тогда надо не переписывать код по памяти, а просто учавствовать в жизни соответствующего проекта. Тебе по пальцам настучат за кривую стилистику, не переживай.