Вообще, многие задачи можно свести к правильному выбору структуры данных. Да-да, есть всякие задачи поиска кратчайшего пути, жадные алгоритмы, динамическое программирование. Но в основном, те задачи, которые появляются на сайтах, подобных codewars или на собеседованиях, можно так или иначе решить, выбрав правильную структуру данных.
Советую методично прорешать все задачи из этого раздела хакерранка
https://www.hackerrank.com/domains/data-structures . В прошлом это повысило мой скилл и дало немало уверенности в себе. Удачи!