The Coin Test

Please complete the coding exercise.

Summary

Write a simple application that given a number of pennies will calculate the minimum number of Sterling coins needed to make that amount.

Eg. 123p = 1 x £1, 1 x 20p, 1 x 2p, 1 x 1p

Requirements

  • Account for only the common £2, £1, 50p, 20p, 10p, 5p, 2p and 1p coins. Ignore those commemorative £5 coins
  • You should use Scala or Java to do this
  • The method should accepts an 'amount' string (Eg. 92p, £2.12) or integer and returns the denominations needed

We are particularly interested in the following:

  • Test Driven Development
  • Performance
  • Maintainability

You should also aim for:

  • Writing the code in a modular way, implementing separation of concerns (presentation layer, business logic layer, etc)
  • Verbalising how you're approaching and solving the problem and breaking it down as you're coding
  • High quality and maintainable code
  • Use of test driven development and writing new unit tests
  • Well documented and commented code
  • Follow coding standards