Самое легкое, что нужно сделать, это понять - в задачах на hackerrank или где вы их смотрите нет ни одной задачи, которая создана, чтобы Вас завалить. Ни единой. Уверен, за то время, что вы работаете, вы уже изобрели собственный подход к решению рабочих задач и он эффективен и подходит именно вам. Попробуйте применить его в алгоритмических задачках. Представьте, что вы решаете не какую-то "сложную задачу, которую фиг знает как решать", а одну из тех, что вам дали на работе... Просто - вот такую.
И не стесняйтесь гуглить, большинство задач уже прорешано, и посмотреть метод решения - не значит завалить задачу... Вы же хотите принцип понять, а не "нарешать ответственно 100 задач без подглядывания в гугл"