in fulfillment of a code challenge
With apologies to xkcd, please provide a solution to the following programming exercise:
You will be given a data file (sample file is attached). The first line of the data file will have a target price. The following lines contain a menu of dishes.
Write a program to read in the data file and find all combinations of dishes that add up exactly to the target price specified on the first line of the data file. If there is no solution, your program should specify that there is no combination of dishes that will be equal in cost to the target price. Keep in mind that each dish can be used more than one time!
Your program will be tested on multiple data sets so please provide documentation on how to invoke your program with the correct data file. Please code your solution in Ruby.
target total | $15.05 |
---|---|
mixed fruit | $2.15 |
french fries | $2.75 |
side salad | $3.35 |
hot wings | $3.55 |
mozzarella sticks | $4.20 |
sampler plate | $5.80 |
- install gem
exord menu.txt
exord -h
is available, and explains additional configurable options, such as a name for the menu, overriding the total, or selecting a method of finding orders.
the file menu.txt
represents the given problem; additional menus may be found in spec/fixtures
After checking out the repo, run bin/setup
to install dependencies. Then, run rake spec
to run the tests. You can also run bin/console
for an interactive prompt that will allow you to experiment.
The gem is available as open source under the terms of the MIT License.