hackerrank problem solving intermediate solutions