From: Bernardo Monteiro Rufino Date: 2008-01-30T23:16:50+09:00 Subject: Re: Making Change (#154) ------=_Part_2964_23628516.1201702616518 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline My Solution: class Array > > def sum > inject(0){|sum, n| sum + n;}; > end > > end > > class ChangeError < StandardError; end > > def make_change(amount, coins=[25, 10, 5, 1]) > change = coins.sort.reverse.inject([]) do |change, coin| > change << coin until change.sum + coin > amount; > change; > end > raise ChangeError unless change.sum == amount; > change.sum; > end > -- Bernardo Rufino ------=_Part_2964_23628516.1201702616518--