ruby-coding-challenge

We're going to practice solving some Ruby problems and be introduced to the rspec part of Ruby testing.

These questions vary in level from quite easy to fairly hard.

Work through them and check if they're correct by running rspec after trying some code.

You should be able to answer most questions with a couple of lines of code, and just a few methods.

If you're writing a long, complex solution, there's probably a better way.

Getting started

Our recommended guide to acing this challenge :

============

  • [Fork](insert link to forking) this repo to your own Github
  • Create an account online at c9.io
  • Create a workspace and add your forked repo
  • Run bundle install in the terminal area
  • Answer the first question (in the challenge section)
  • Commit the answer and then follow these steps to commit your code
    • $ git status
    • $ git add .
    • $ git commit -m "Insert a message"
    • $ git push origin master
    • At this stage you should see the changes in your own Github account
  • Send a pull request straight away (yes - after your first answer)
  • Answer the second question (in the challenge section)
  • Commit the answer and push it up to your repo
  • and repeat to get into the habit of learning both Ruby and Version Control

... the pull request will automatically update itself!

How to check your progress

We've written a bunch of tests to help you answer the code. To check your progress as you code along, use this command in your terminal:

$ rspec questions_spec.rb

Good luck

Rules

  • Try and get the RSpec tests to pass (but not by cheating - i.e. hardcoding the expected value)
  • You shouldn't need any extra libraries or gems
  • The cleaner your code the better!
  • Googling is fine as usual

Tips

  • Use the ruby docs http://www.ruby-doc.org/
  • Try and break down the problems into smaller chunks. For e.g. if you google "How to select elements in an array that start with a", you won't have much luck. Try and find out a) how to select certain elements in an array, b) how to test if a string starts with an 'a'
  • Don't forget Enumerable (advanced array methods)
  • Don't panic 😉