solutions to codeeval challenges