solutions to problems on hacker-rank programming challenges website