/japanese-mosaic-logic-puzzle

Problem for Programming challenge October

Primary LanguageRuby

Japanese Mosaic Logic Puzzle

For rules and examples of the Japanese Mosaic problem you should take a look at the Cucumber acceptance tests.

features/mosaic.feature

If you’re not sure what Cucumber is take a quick peek here http://cukes.info/

We will use these Examples to drive the development of your solution.

1 Prerequisites

The acceptance tests for these examples require Ruby and Cucumber.

So we need the following installed:

  1. Git (and a github account: http://github.com)
  2. Ruby (or JRuby whatever floats your boat)
  3. Rubygems (http://rubygems.org/pages/download)

2 Setup

  1. Fork my repository on Github (http://github.com/josephwilk/japanese-mosaic-logic-puzzle)
  2. git clone your repository
  3. gem install bundler
  4. cd japanese-mosaic-logic-puzzle && bundle install

We can now run that Cucumber specification:

cucumber features/mosaic.feature

You should be greeted with lots of fails. Right here the work starts, work your way down the scenarios getting each to pass in turn.

3 Coding

You have to ensure that executing “bin/mosaic” prints the solution on the command line.

The file “bin/mosaic” will be executed with a filename which will contain the input string.

4 First steps

bin/mosaic file:

#!/usr/bin/env ruby
filename = ARGV[0] # The first argument is the filename with the input table string
File.open(filename) do |f|
  string_input_table = f.read
  input_array = string_input_table.split("\n").map{|row| row.split("|")[1..-1]}
end

puts “I should output the solution here.”