trackler 2.2.0.1 → 2.2.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/fixtures/tracks/fake/config.json +4 -3
- data/fixtures/tracks/fruit/config.json +4 -3
- data/lib/trackler/track.rb +2 -2
- data/lib/trackler/version.rb +1 -1
- data/tracks/{java/exercises/allergies/.meta/readme.go.tmpl → c/config/exercise_readme.go.tmpl} +0 -1
- data/tracks/c/exercises/acronym/README.md +47 -0
- data/tracks/c/exercises/all-your-base/README.md +67 -0
- data/tracks/c/exercises/allergies/README.md +69 -0
- data/tracks/c/exercises/anagram/README.md +45 -0
- data/tracks/c/exercises/atbash-cipher/README.md +66 -0
- data/tracks/c/exercises/beer-song/README.md +359 -0
- data/tracks/c/exercises/binary/README.md +67 -0
- data/tracks/c/exercises/binary-search/README.md +73 -0
- data/tracks/c/exercises/bob/README.md +50 -0
- data/tracks/c/exercises/clock/README.md +45 -0
- data/tracks/c/exercises/difference-of-squares/README.md +51 -0
- data/tracks/c/exercises/gigasecond/README.md +43 -0
- data/tracks/c/exercises/grains/README.md +66 -0
- data/tracks/c/exercises/hamming/README.md +74 -0
- data/tracks/c/exercises/hello-world/README.md +53 -0
- data/tracks/c/exercises/isogram/README.md +51 -0
- data/tracks/c/exercises/largest-series-product/README.md +52 -0
- data/tracks/c/exercises/leap/README.md +65 -0
- data/tracks/c/exercises/meetup/README.md +62 -0
- data/tracks/c/exercises/nth-prime/README.md +47 -0
- data/tracks/c/exercises/nucleotide-count/README.md +65 -0
- data/tracks/c/exercises/palindrome-products/README.md +72 -0
- data/tracks/c/exercises/pangram/README.md +47 -0
- data/tracks/c/exercises/pascals-triangle/README.md +53 -0
- data/tracks/c/exercises/perfect-numbers/README.md +56 -0
- data/tracks/c/exercises/phone-number/README.md +66 -0
- data/tracks/c/exercises/raindrops/README.md +56 -0
- data/tracks/c/exercises/react/README.md +51 -0
- data/tracks/c/exercises/rna-transcription/README.md +57 -0
- data/tracks/c/exercises/robot-simulator/README.md +66 -0
- data/tracks/c/exercises/roman-numerals/README.md +81 -0
- data/tracks/c/exercises/scrabble-score/README.md +76 -0
- data/tracks/c/exercises/series/README.md +59 -0
- data/tracks/c/exercises/sieve/README.md +66 -0
- data/tracks/c/exercises/space-age/README.md +56 -0
- data/tracks/c/exercises/sum-of-multiples/README.md +50 -0
- data/tracks/c/exercises/triangle/README.md +58 -0
- data/tracks/c/exercises/word-count/README.md +51 -0
- data/tracks/ceylon/README.md +3 -3
- data/tracks/ceylon/config/exercise-readme-insert.md +1 -0
- data/tracks/{java/exercises/accumulate/.meta/readme.go.tmpl → ceylon/config/exercise_readme.go.tmpl} +0 -1
- data/tracks/ceylon/exercises/anagram/README.md +29 -0
- data/tracks/ceylon/{docs/EXERCISE_README_INSERT.md → exercises/bracket-push/README.md} +12 -0
- data/tracks/ceylon/exercises/hamming/README.md +58 -0
- data/tracks/ceylon/exercises/largest-series-product/README.md +36 -0
- data/tracks/ceylon/exercises/leap/README.md +49 -0
- data/tracks/ceylon/exercises/react/README.md +35 -0
- data/tracks/ceylon/exercises/sieve/README.md +50 -0
- data/tracks/{java/exercises/acronym/.meta/readme.go.tmpl → delphi/config/exercise_readme.go.tmpl} +0 -1
- data/tracks/delphi/exercises/allergies/README.md +58 -0
- data/tracks/delphi/exercises/bank-account/README.md +51 -0
- data/tracks/delphi/exercises/beer-song/README.md +348 -0
- data/tracks/delphi/exercises/binary-search/README.md +62 -0
- data/tracks/delphi/exercises/bob/README.md +39 -0
- data/tracks/delphi/exercises/book-store/README.md +95 -0
- data/tracks/delphi/exercises/bowling/README.md +74 -0
- data/tracks/delphi/exercises/circular-buffer/README.md +71 -0
- data/tracks/delphi/exercises/clock/README.md +34 -0
- data/tracks/delphi/exercises/collatz-conjecture/README.md +54 -0
- data/tracks/delphi/exercises/etl/README.md +72 -0
- data/tracks/delphi/exercises/grains/README.md +55 -0
- data/tracks/delphi/exercises/hamming/README.md +63 -0
- data/tracks/delphi/exercises/hello-world/README.md +42 -0
- data/tracks/delphi/exercises/leap/README.md +54 -0
- data/tracks/delphi/exercises/minesweeper/README.md +51 -0
- data/tracks/delphi/exercises/nucleotide-count/README.md +54 -0
- data/tracks/delphi/exercises/perfect-numbers/README.md +45 -0
- data/tracks/delphi/exercises/phone-number/README.md +55 -0
- data/tracks/delphi/exercises/poker/README.md +33 -0
- data/tracks/delphi/exercises/raindrops/README.md +45 -0
- data/tracks/delphi/exercises/rna-transcription/README.md +46 -0
- data/tracks/delphi/exercises/roman-numerals/README.md +70 -0
- data/tracks/delphi/exercises/saddle-points/README.md +54 -0
- data/tracks/delphi/exercises/triangle/README.md +47 -0
- data/tracks/delphi/exercises/two-fer/README.md +69 -0
- data/tracks/delphi/exercises/wordy/README.md +84 -0
- data/tracks/{java/exercises/all-your-base/.meta/readme.go.tmpl → factor/config/exercise_readme.go.tmpl} +0 -1
- data/tracks/factor/exercises/hello-world/README.md +34 -0
- data/tracks/factor/exercises/isogram/README.md +32 -0
- data/tracks/factor/exercises/leap/README.md +46 -0
- data/tracks/factor/exercises/two-fer/README.md +61 -0
- data/tracks/haskell/config/exercise_readme.go.tmpl +16 -0
- data/tracks/haskell/exercises/accumulate/README.md +89 -0
- data/tracks/haskell/exercises/acronym/README.md +69 -0
- data/tracks/haskell/exercises/all-your-base/README.md +89 -0
- data/tracks/haskell/exercises/allergies/README.md +104 -0
- data/tracks/haskell/exercises/alphametics/README.md +96 -0
- data/tracks/haskell/exercises/anagram/README.md +91 -0
- data/tracks/haskell/exercises/atbash-cipher/README.md +88 -0
- data/tracks/haskell/exercises/bank-account/README.md +102 -0
- data/tracks/haskell/exercises/beer-song/README.md +401 -0
- data/tracks/haskell/exercises/binary/README.md +89 -0
- data/tracks/haskell/exercises/binary-search-tree/README.md +133 -0
- data/tracks/haskell/exercises/bob/README.md +72 -0
- data/tracks/haskell/exercises/bowling/README.md +128 -0
- data/tracks/haskell/exercises/bracket-push/README.md +64 -0
- data/tracks/haskell/exercises/change/README.md +77 -0
- data/tracks/haskell/exercises/clock/README.md +86 -0
- data/tracks/haskell/exercises/connect/README.md +88 -0
- data/tracks/haskell/exercises/crypto-square/README.md +128 -0
- data/tracks/haskell/exercises/custom-set/README.md +94 -0
- data/tracks/haskell/exercises/difference-of-squares/README.md +73 -0
- data/tracks/haskell/exercises/dominoes/README.md +72 -0
- data/tracks/haskell/exercises/etl/README.md +105 -0
- data/tracks/haskell/exercises/food-chain/README.md +145 -0
- data/tracks/haskell/exercises/forth/README.md +98 -0
- data/tracks/haskell/exercises/gigasecond/README.md +65 -0
- data/tracks/haskell/exercises/go-counting/README.md +109 -0
- data/tracks/haskell/exercises/grade-school/README.md +111 -0
- data/tracks/haskell/exercises/grains/README.md +88 -0
- data/tracks/haskell/exercises/hamming/README.md +96 -0
- data/tracks/haskell/exercises/hello-world/README.md +83 -0
- data/tracks/haskell/exercises/hexadecimal/README.md +68 -0
- data/tracks/haskell/exercises/house/README.md +187 -0
- data/tracks/haskell/exercises/kindergarten-garden/README.md +120 -0
- data/tracks/haskell/exercises/largest-series-product/README.md +74 -0
- data/tracks/haskell/exercises/leap/README.md +100 -0
- data/tracks/haskell/exercises/lens-person/README.md +66 -0
- data/tracks/haskell/exercises/linked-list/README.md +104 -0
- data/tracks/haskell/exercises/list-ops/README.md +64 -0
- data/tracks/haskell/exercises/luhn/README.md +125 -0
- data/tracks/haskell/exercises/matrix/README.md +125 -0
- data/tracks/haskell/exercises/meetup/README.md +92 -0
- data/tracks/haskell/exercises/minesweeper/README.md +84 -0
- data/tracks/haskell/exercises/nth-prime/README.md +69 -0
- data/tracks/haskell/exercises/nucleotide-count/README.md +87 -0
- data/tracks/haskell/exercises/ocr-numbers/README.md +139 -0
- data/tracks/haskell/exercises/octal/README.md +115 -0
- data/tracks/haskell/exercises/palindrome-products/README.md +115 -0
- data/tracks/haskell/exercises/pangram/README.md +69 -0
- data/tracks/haskell/exercises/parallel-letter-frequency/README.md +76 -0
- data/tracks/haskell/exercises/pascals-triangle/README.md +75 -0
- data/tracks/haskell/exercises/phone-number/README.md +88 -0
- data/tracks/haskell/exercises/pig-latin/README.md +78 -0
- data/tracks/haskell/exercises/pov/README.md +100 -0
- data/tracks/haskell/exercises/prime-factors/README.md +90 -0
- data/tracks/haskell/exercises/pythagorean-triplet/README.md +78 -0
- data/tracks/haskell/exercises/queen-attack/README.md +105 -0
- data/tracks/haskell/exercises/raindrops/README.md +78 -0
- data/tracks/haskell/exercises/rna-transcription/README.md +79 -0
- data/tracks/haskell/exercises/robot-name/README.md +90 -0
- data/tracks/haskell/exercises/robot-simulator/README.md +105 -0
- data/tracks/haskell/exercises/roman-numerals/README.md +112 -0
- data/tracks/haskell/exercises/run-length-encoding/README.md +84 -0
- data/tracks/haskell/exercises/saddle-points/README.md +87 -0
- data/tracks/haskell/exercises/say/README.md +123 -0
- data/tracks/haskell/exercises/scrabble-score/README.md +98 -0
- data/tracks/haskell/exercises/secret-handshake/README.md +89 -0
- data/tracks/haskell/exercises/series/README.md +106 -0
- data/tracks/haskell/exercises/sgf-parsing/README.md +146 -0
- data/tracks/haskell/exercises/sieve/README.md +88 -0
- data/tracks/haskell/exercises/simple-cipher/README.md +144 -0
- data/tracks/haskell/exercises/simple-linked-list/README.md +101 -0
- data/tracks/haskell/exercises/space-age/README.md +94 -0
- data/tracks/haskell/exercises/spiral-matrix/README.md +84 -0
- data/tracks/haskell/exercises/strain/README.md +94 -0
- data/tracks/haskell/exercises/sublist/README.md +80 -0
- data/tracks/haskell/exercises/sum-of-multiples/README.md +72 -0
- data/tracks/haskell/exercises/triangle/README.md +80 -0
- data/tracks/haskell/exercises/trinary/README.md +96 -0
- data/tracks/haskell/exercises/word-count/README.md +96 -0
- data/tracks/haskell/exercises/wordy/README.md +122 -0
- data/tracks/haskell/exercises/zebra-puzzle/README.md +86 -0
- data/tracks/haskell/exercises/zipper/README.md +85 -0
- data/tracks/java/config/exercise_readme.go.tmpl +16 -0
- data/tracks/java/exercises/accumulate/README.md +0 -1
- data/tracks/java/exercises/acronym/README.md +0 -1
- data/tracks/java/exercises/all-your-base/README.md +0 -1
- data/tracks/java/exercises/allergies/README.md +0 -1
- data/tracks/java/exercises/anagram/README.md +0 -1
- data/tracks/java/exercises/atbash-cipher/README.md +0 -1
- data/tracks/java/exercises/bank-account/README.md +0 -1
- data/tracks/java/exercises/beer-song/README.md +0 -1
- data/tracks/java/exercises/binary/README.md +0 -1
- data/tracks/java/exercises/binary-search/README.md +0 -1
- data/tracks/java/exercises/binary-search-tree/README.md +0 -1
- data/tracks/java/exercises/bob/README.md +0 -1
- data/tracks/java/exercises/book-store/README.md +0 -1
- data/tracks/java/exercises/bowling/README.md +0 -1
- data/tracks/java/exercises/bracket-push/README.md +0 -1
- data/tracks/java/exercises/change/README.md +0 -1
- data/tracks/java/exercises/circular-buffer/README.md +0 -1
- data/tracks/java/exercises/clock/README.md +0 -1
- data/tracks/java/exercises/collatz-conjecture/README.md +0 -1
- data/tracks/java/exercises/complex-numbers/README.md +0 -1
- data/tracks/java/exercises/crypto-square/README.md +0 -1
- data/tracks/java/exercises/custom-set/README.md +0 -1
- data/tracks/java/exercises/diamond/README.md +0 -1
- data/tracks/java/exercises/difference-of-squares/README.md +0 -1
- data/tracks/java/exercises/etl/README.md +0 -1
- data/tracks/java/exercises/flatten-array/README.md +0 -1
- data/tracks/java/exercises/food-chain/README.md +0 -1
- data/tracks/java/exercises/gigasecond/README.md +0 -1
- data/tracks/java/exercises/grade-school/README.md +0 -1
- data/tracks/java/exercises/hamming/README.md +0 -1
- data/tracks/java/exercises/hello-world/README.md +0 -1
- data/tracks/java/exercises/hexadecimal/README.md +0 -1
- data/tracks/java/exercises/isogram/README.md +0 -1
- data/tracks/java/exercises/kindergarten-garden/README.md +0 -1
- data/tracks/java/exercises/largest-series-product/README.md +0 -1
- data/tracks/java/exercises/linked-list/README.md +0 -1
- data/tracks/java/exercises/list-ops/README.md +0 -1
- data/tracks/java/exercises/luhn/README.md +0 -1
- data/tracks/java/exercises/matrix/README.md +0 -1
- data/tracks/java/exercises/meetup/README.md +0 -1
- data/tracks/java/exercises/minesweeper/README.md +0 -1
- data/tracks/java/exercises/nth-prime/README.md +0 -1
- data/tracks/java/exercises/nucleotide-count/README.md +0 -1
- data/tracks/java/exercises/ocr-numbers/README.md +0 -1
- data/tracks/java/exercises/octal/README.md +0 -1
- data/tracks/java/exercises/palindrome-products/README.md +0 -1
- data/tracks/java/exercises/pangram/README.md +0 -1
- data/tracks/java/exercises/pascals-triangle/README.md +0 -1
- data/tracks/java/exercises/perfect-numbers/README.md +0 -1
- data/tracks/java/exercises/phone-number/README.md +0 -1
- data/tracks/java/exercises/pig-latin/README.md +0 -1
- data/tracks/java/exercises/poker/README.md +0 -1
- data/tracks/java/exercises/prime-factors/README.md +0 -1
- data/tracks/java/exercises/pythagorean-triplet/README.md +0 -1
- data/tracks/java/exercises/queen-attack/README.md +0 -1
- data/tracks/java/exercises/raindrops/README.md +0 -1
- data/tracks/java/exercises/rectangles/README.md +0 -1
- data/tracks/java/exercises/rna-transcription/README.md +0 -1
- data/tracks/java/exercises/robot-name/README.md +0 -1
- data/tracks/java/exercises/robot-simulator/README.md +0 -1
- data/tracks/java/exercises/roman-numerals/README.md +0 -1
- data/tracks/java/exercises/rotational-cipher/README.md +47 -0
- data/tracks/java/exercises/run-length-encoding/README.md +0 -1
- data/tracks/java/exercises/saddle-points/README.md +0 -1
- data/tracks/java/exercises/scrabble-score/README.md +0 -1
- data/tracks/java/exercises/secret-handshake/README.md +0 -1
- data/tracks/java/exercises/series/README.md +0 -1
- data/tracks/java/exercises/sieve/README.md +0 -1
- data/tracks/java/exercises/simple-cipher/README.md +0 -1
- data/tracks/java/exercises/simple-linked-list/README.md +0 -1
- data/tracks/java/exercises/space-age/README.md +0 -1
- data/tracks/java/exercises/spiral-matrix/README.md +0 -1
- data/tracks/java/exercises/strain/README.md +0 -1
- data/tracks/java/exercises/sublist/README.md +0 -1
- data/tracks/java/exercises/sum-of-multiples/README.md +0 -1
- data/tracks/java/exercises/transpose/README.md +0 -1
- data/tracks/java/exercises/triangle/README.md +0 -1
- data/tracks/java/exercises/trinary/README.md +0 -1
- data/tracks/java/exercises/twelve-days/README.md +0 -1
- data/tracks/java/exercises/two-fer/README.md +0 -1
- data/tracks/java/exercises/word-count/README.md +0 -1
- data/tracks/java/exercises/word-search/README.md +0 -1
- data/tracks/java/exercises/wordy/README.md +0 -1
- data/tracks/javascript/config/exercise_readme.go.tmpl +16 -0
- data/tracks/javascript/exercises/accumulate/README.md +59 -0
- data/tracks/javascript/exercises/acronym/README.md +39 -0
- data/tracks/javascript/exercises/all-your-base/README.md +59 -0
- data/tracks/javascript/exercises/allergies/README.md +61 -0
- data/tracks/javascript/exercises/alphametics/README.md +59 -0
- data/tracks/javascript/exercises/anagram/README.md +37 -0
- data/tracks/javascript/exercises/atbash-cipher/README.md +58 -0
- data/tracks/javascript/exercises/beer-song/README.md +351 -0
- data/tracks/javascript/exercises/binary/README.md +59 -0
- data/tracks/javascript/exercises/binary-search/README.md +65 -0
- data/tracks/javascript/exercises/binary-search-tree/README.md +84 -0
- data/tracks/javascript/exercises/bob/README.md +42 -0
- data/tracks/javascript/exercises/bowling/README.md +77 -0
- data/tracks/javascript/exercises/bracket-push/README.md +34 -0
- data/tracks/javascript/exercises/circular-buffer/README.md +74 -0
- data/tracks/javascript/exercises/clock/README.md +37 -0
- data/tracks/javascript/exercises/crypto-square/README.md +98 -0
- data/tracks/javascript/exercises/custom-set/README.md +35 -0
- data/tracks/javascript/exercises/diamond/README.md +83 -0
- data/tracks/javascript/exercises/difference-of-squares/README.md +43 -0
- data/tracks/javascript/exercises/etl/README.md +75 -0
- data/tracks/javascript/exercises/flatten-array/README.md +42 -0
- data/tracks/javascript/exercises/food-chain/README.md +94 -0
- data/tracks/javascript/exercises/gigasecond/README.md +35 -0
- data/tracks/javascript/exercises/grade-school/README.md +66 -0
- data/tracks/javascript/exercises/grains/README.md +58 -0
- data/tracks/javascript/exercises/hamming/README.md +66 -0
- data/tracks/javascript/exercises/hello-world/README.md +132 -0
- data/tracks/javascript/exercises/hexadecimal/README.md +38 -0
- data/tracks/javascript/exercises/isogram/README.md +43 -0
- data/tracks/javascript/exercises/kindergarten-garden/README.md +90 -0
- data/tracks/javascript/exercises/largest-series-product/README.md +44 -0
- data/tracks/javascript/exercises/leap/README.md +57 -0
- data/tracks/javascript/exercises/linked-list/README.md +58 -0
- data/tracks/javascript/exercises/list-ops/README.md +34 -0
- data/tracks/javascript/exercises/luhn/README.md +95 -0
- data/tracks/javascript/exercises/matrix/README.md +69 -0
- data/tracks/javascript/exercises/meetup/README.md +54 -0
- data/tracks/javascript/exercises/minesweeper/README.md +54 -0
- data/tracks/javascript/exercises/nth-prime/README.md +39 -0
- data/tracks/javascript/exercises/nucleotide-count/README.md +57 -0
- data/tracks/javascript/exercises/ocr-numbers/README.md +109 -0
- data/tracks/javascript/exercises/octal/README.md +73 -0
- data/tracks/javascript/exercises/palindrome-products/README.md +64 -0
- data/tracks/javascript/exercises/pangram/README.md +39 -0
- data/tracks/javascript/exercises/pascals-triangle/README.md +45 -0
- data/tracks/javascript/exercises/perfect-numbers/README.md +48 -0
- data/tracks/javascript/exercises/phone-number/README.md +58 -0
- data/tracks/javascript/exercises/pig-latin/README.md +48 -0
- data/tracks/javascript/exercises/point-mutations/README.md +65 -0
- data/tracks/javascript/exercises/prime-factors/README.md +60 -0
- data/tracks/javascript/exercises/proverb/README.md +42 -0
- data/tracks/javascript/exercises/pythagorean-triplet/README.md +48 -0
- data/tracks/javascript/exercises/queen-attack/README.md +57 -0
- data/tracks/javascript/exercises/raindrops/README.md +48 -0
- data/tracks/javascript/exercises/rna-transcription/README.md +49 -0
- data/tracks/javascript/exercises/robot-name/README.md +46 -0
- data/tracks/javascript/exercises/robot-simulator/README.md +58 -0
- data/tracks/javascript/exercises/roman-numerals/README.md +73 -0
- data/tracks/javascript/exercises/run-length-encoding/README.md +54 -0
- data/tracks/javascript/exercises/saddle-points/README.md +57 -0
- data/tracks/javascript/exercises/say/README.md +93 -0
- data/tracks/javascript/exercises/scrabble-score/README.md +68 -0
- data/tracks/javascript/exercises/secret-handshake/README.md +59 -0
- data/tracks/javascript/exercises/series/README.md +51 -0
- data/tracks/javascript/exercises/sieve/README.md +58 -0
- data/tracks/javascript/exercises/simple-cipher/README.md +114 -0
- data/tracks/javascript/exercises/simple-linked-list/README.md +52 -0
- data/tracks/javascript/exercises/space-age/README.md +48 -0
- data/tracks/javascript/exercises/strain/README.md +64 -0
- data/tracks/javascript/exercises/sum-of-multiples/README.md +42 -0
- data/tracks/javascript/exercises/triangle/README.md +50 -0
- data/tracks/javascript/exercises/trinary/README.md +52 -0
- data/tracks/javascript/exercises/two-bucket/README.md +60 -0
- data/tracks/javascript/exercises/word-count/README.md +43 -0
- data/tracks/javascript/exercises/wordy/README.md +87 -0
- data/tracks/lua/config/exercise_readme.go.tmpl +16 -0
- data/tracks/lua/exercises/acronym/README.md +25 -0
- data/tracks/lua/exercises/all-your-base/README.md +45 -0
- data/tracks/lua/exercises/allergies/README.md +47 -0
- data/tracks/lua/exercises/alphametics/README.md +45 -0
- data/tracks/lua/exercises/anagram/README.md +23 -0
- data/tracks/lua/exercises/atbash-cipher/README.md +44 -0
- data/tracks/lua/exercises/bank-account/README.md +40 -0
- data/tracks/lua/exercises/beer-song/README.md +337 -0
- data/tracks/lua/exercises/binary/README.md +45 -0
- data/tracks/lua/exercises/binary-search/README.md +51 -0
- data/tracks/lua/exercises/binary-search-tree/README.md +70 -0
- data/tracks/lua/exercises/bob/README.md +28 -0
- data/tracks/lua/exercises/bowling/README.md +63 -0
- data/tracks/lua/exercises/bracket-push/README.md +20 -0
- data/tracks/lua/exercises/change/README.md +33 -0
- data/tracks/lua/exercises/circular-buffer/README.md +60 -0
- data/tracks/lua/exercises/clock/README.md +23 -0
- data/tracks/lua/exercises/crypto-square/README.md +84 -0
- data/tracks/lua/exercises/custom-set/README.md +21 -0
- data/tracks/lua/exercises/diamond/README.md +69 -0
- data/tracks/lua/exercises/difference-of-squares/README.md +29 -0
- data/tracks/lua/exercises/etl/README.md +61 -0
- data/tracks/lua/exercises/flatten-array/README.md +28 -0
- data/tracks/lua/exercises/food-chain/README.md +80 -0
- data/tracks/lua/exercises/gigasecond/README.md +21 -0
- data/tracks/lua/exercises/grade-school/README.md +52 -0
- data/tracks/lua/exercises/grains/README.md +44 -0
- data/tracks/lua/exercises/hamming/README.md +52 -0
- data/tracks/lua/exercises/hello-world/README.md +31 -0
- data/tracks/lua/exercises/house/README.md +123 -0
- data/tracks/lua/exercises/isogram/README.md +29 -0
- data/tracks/lua/exercises/kindergarten-garden/README.md +76 -0
- data/tracks/lua/exercises/largest-series-product/README.md +30 -0
- data/tracks/lua/exercises/leap/README.md +43 -0
- data/tracks/lua/exercises/linked-list/README.md +44 -0
- data/tracks/lua/exercises/list-ops/README.md +20 -0
- data/tracks/lua/exercises/luhn/README.md +81 -0
- data/tracks/lua/exercises/matrix/README.md +55 -0
- data/tracks/lua/exercises/meetup/README.md +40 -0
- data/tracks/lua/exercises/minesweeper/README.md +40 -0
- data/tracks/lua/exercises/nth-prime/README.md +25 -0
- data/tracks/lua/exercises/nucleotide-count/README.md +43 -0
- data/tracks/lua/exercises/ocr-numbers/README.md +95 -0
- data/tracks/lua/exercises/octal/README.md +59 -0
- data/tracks/lua/exercises/pangram/README.md +25 -0
- data/tracks/lua/exercises/pascals-triangle/README.md +31 -0
- data/tracks/lua/exercises/perfect-numbers/README.md +34 -0
- data/tracks/lua/exercises/phone-number/README.md +44 -0
- data/tracks/lua/exercises/pig-latin/README.md +34 -0
- data/tracks/lua/exercises/pov/README.md +56 -0
- data/tracks/lua/exercises/prime-factors/README.md +46 -0
- data/tracks/lua/exercises/protein-translation/README.md +59 -0
- data/tracks/lua/exercises/pythagorean-triplet/README.md +34 -0
- data/tracks/lua/exercises/rail-fence-cipher/README.md +70 -0
- data/tracks/lua/exercises/raindrops/README.md +34 -0
- data/tracks/lua/exercises/rectangles/README.md +77 -0
- data/tracks/lua/exercises/rna-transcription/README.md +35 -0
- data/tracks/lua/exercises/robot-name/README.md +32 -0
- data/tracks/lua/exercises/robot-simulator/README.md +44 -0
- data/tracks/lua/exercises/roman-numerals/README.md +59 -0
- data/tracks/lua/exercises/run-length-encoding/README.md +40 -0
- data/tracks/lua/exercises/say/README.md +79 -0
- data/tracks/lua/exercises/scrabble-score/README.md +54 -0
- data/tracks/lua/exercises/secret-handshake/README.md +45 -0
- data/tracks/lua/exercises/series/README.md +37 -0
- data/tracks/lua/exercises/sieve/README.md +44 -0
- data/tracks/lua/exercises/space-age/README.md +34 -0
- data/tracks/lua/exercises/sublist/README.md +31 -0
- data/tracks/lua/exercises/sum-of-multiples/README.md +28 -0
- data/tracks/lua/exercises/tournament/README.md +78 -0
- data/tracks/lua/exercises/transpose/README.md +75 -0
- data/tracks/lua/exercises/triangle/README.md +36 -0
- data/tracks/lua/exercises/variable-length-quantity/README.md +49 -0
- data/tracks/lua/exercises/word-count/README.md +29 -0
- data/tracks/lua/exercises/word-search/README.md +40 -0
- data/tracks/mips/config/exercise_readme.go.tmpl +16 -0
- data/tracks/mips/exercises/atbash-cipher/README.md +34 -0
- data/tracks/mips/exercises/binary/README.md +35 -0
- data/tracks/mips/exercises/difference-of-squares/README.md +19 -0
- data/tracks/mips/exercises/hamming/README.md +42 -0
- data/tracks/mips/exercises/hexadecimal/README.md +14 -0
- data/tracks/mips/exercises/isogram/README.md +19 -0
- data/tracks/mips/exercises/leap/README.md +33 -0
- data/tracks/mips/exercises/nth-prime/README.md +15 -0
- data/tracks/mips/exercises/octal/README.md +49 -0
- data/tracks/mips/exercises/raindrops/README.md +24 -0
- data/tracks/mips/exercises/rna-transcription/README.md +25 -0
- data/tracks/mips/exercises/scrabble-score/README.md +44 -0
- data/tracks/mips/exercises/triangle/README.md +26 -0
- data/tracks/mips/exercises/trinary/README.md +28 -0
- data/tracks/purescript/config/exercise_readme.go.tmpl +16 -0
- data/tracks/purescript/exercises/accumulate/README.md +35 -0
- data/tracks/purescript/exercises/acronym/README.md +15 -0
- data/tracks/purescript/exercises/all-your-base/README.md +35 -0
- data/tracks/purescript/exercises/allergies/README.md +37 -0
- data/tracks/purescript/exercises/atbash-cipher/README.md +34 -0
- data/tracks/purescript/exercises/binary-search/README.md +41 -0
- data/tracks/purescript/exercises/bob/README.md +18 -0
- data/tracks/purescript/exercises/bracket-push/README.md +10 -0
- data/tracks/purescript/exercises/crypto-square/README.md +74 -0
- data/tracks/purescript/exercises/diamond/README.md +59 -0
- data/tracks/purescript/exercises/difference-of-squares/README.md +19 -0
- data/tracks/purescript/exercises/etl/README.md +51 -0
- data/tracks/purescript/exercises/hamming/README.md +42 -0
- data/tracks/purescript/exercises/hello-world/README.md +21 -0
- data/tracks/purescript/exercises/isogram/README.md +19 -0
- data/tracks/purescript/exercises/largest-series-product/README.md +20 -0
- data/tracks/purescript/exercises/leap/README.md +33 -0
- data/tracks/purescript/exercises/meetup/README.md +30 -0
- data/tracks/purescript/exercises/pangram/README.md +15 -0
- data/tracks/purescript/exercises/pascals-triangle/README.md +21 -0
- data/tracks/purescript/exercises/raindrops/README.md +24 -0
- data/tracks/purescript/exercises/scrabble-score/README.md +44 -0
- data/tracks/purescript/exercises/triangle/README.md +26 -0
- data/tracks/purescript/exercises/word-count/README.md +19 -0
- data/tracks/r/config/exercise_readme.go.tmpl +16 -0
- data/tracks/r/exercises/anagram/README.md +23 -0
- data/tracks/r/exercises/beer-song/README.md +337 -0
- data/tracks/r/exercises/bob/README.md +28 -0
- data/tracks/r/exercises/difference-of-squares/README.md +29 -0
- data/tracks/r/exercises/grains/README.md +44 -0
- data/tracks/r/exercises/hamming/README.md +52 -0
- data/tracks/r/exercises/hello-world/README.md +31 -0
- data/tracks/r/exercises/isogram/README.md +29 -0
- data/tracks/r/exercises/largest-series-product/README.md +30 -0
- data/tracks/r/exercises/leap/README.md +43 -0
- data/tracks/r/exercises/luhn/README.md +81 -0
- data/tracks/r/exercises/pascals-triangle/README.md +31 -0
- data/tracks/r/exercises/perfect-numbers/README.md +34 -0
- data/tracks/r/exercises/phone-number/README.md +44 -0
- data/tracks/r/exercises/prime-factors/README.md +46 -0
- data/tracks/r/exercises/raindrops/README.md +34 -0
- data/tracks/r/exercises/rna-transcription/README.md +35 -0
- data/tracks/r/exercises/rotational-cipher/README.md +46 -0
- data/tracks/r/exercises/scrabble-score/README.md +54 -0
- data/tracks/r/exercises/secret-handshake/README.md +45 -0
- data/tracks/r/exercises/sieve/README.md +44 -0
- data/tracks/r/exercises/space-age/README.md +34 -0
- data/tracks/r/exercises/sum-of-multiples/README.md +28 -0
- data/tracks/r/exercises/tournament/README.md +78 -0
- data/tracks/r/exercises/word-count/README.md +29 -0
- data/tracks/rust/{docs/EXERCISE_README_INSERT.md → config/exercise-readme-insert.md} +1 -1
- data/tracks/rust/config/exercise_readme.go.tmpl +16 -0
- data/tracks/rust/exercises/acronym/README.md +47 -0
- data/tracks/rust/exercises/all-your-base/README.md +67 -0
- data/tracks/rust/exercises/allergies/README.md +69 -0
- data/tracks/rust/exercises/alphametics/README.md +67 -0
- data/tracks/rust/exercises/anagram/README.md +45 -0
- data/tracks/rust/exercises/atbash-cipher/README.md +66 -0
- data/tracks/rust/exercises/beer-song/README.md +359 -0
- data/tracks/rust/exercises/bob/README.md +50 -0
- data/tracks/rust/exercises/bowling/README.md +85 -0
- data/tracks/rust/exercises/bracket-push/README.md +50 -0
- data/tracks/rust/exercises/circular-buffer/README.md +82 -0
- data/tracks/rust/exercises/custom-set/README.md +43 -0
- data/tracks/rust/exercises/difference-of-squares/README.md +51 -0
- data/tracks/rust/exercises/dominoes/README.md +50 -0
- data/tracks/rust/exercises/etl/README.md +83 -0
- data/tracks/rust/exercises/forth/README.md +61 -0
- data/tracks/rust/exercises/gigasecond/Cargo.lock +3 -3
- data/tracks/rust/exercises/gigasecond/Cargo.toml +1 -1
- data/tracks/rust/exercises/gigasecond/README.md +43 -0
- data/tracks/rust/exercises/gigasecond/example.rs +1 -1
- data/tracks/rust/exercises/gigasecond/src/lib.rs +2 -2
- data/tracks/rust/exercises/gigasecond/tests/gigasecond.rs +10 -10
- data/tracks/rust/exercises/grade-school/README.md +74 -0
- data/tracks/rust/exercises/grains/README.md +66 -0
- data/tracks/rust/exercises/hamming/README.md +74 -0
- data/tracks/rust/exercises/hello-world/README.md +53 -0
- data/tracks/rust/exercises/hexadecimal/README.md +46 -0
- data/tracks/rust/exercises/largest-series-product/README.md +60 -0
- data/tracks/rust/exercises/leap/README.md +65 -0
- data/tracks/rust/exercises/luhn/README.md +103 -0
- data/tracks/rust/exercises/luhn-from/README.md +49 -0
- data/tracks/rust/exercises/luhn-trait/README.md +57 -0
- data/tracks/rust/exercises/minesweeper/README.md +62 -0
- data/tracks/rust/exercises/nucleotide-codons/README.md +54 -0
- data/tracks/rust/exercises/nucleotide-count/README.md +65 -0
- data/tracks/rust/exercises/ocr-numbers/README.md +117 -0
- data/tracks/rust/exercises/pangram/README.md +47 -0
- data/tracks/rust/exercises/parallel-letter-frequency/README.md +77 -0
- data/tracks/rust/exercises/pascals-triangle/README.md +53 -0
- data/tracks/rust/exercises/phone-number/README.md +66 -0
- data/tracks/rust/exercises/protein-translation/README.md +81 -0
- data/tracks/rust/exercises/queen-attack/README.md +65 -0
- data/tracks/rust/exercises/raindrops/README.md +56 -0
- data/tracks/rust/exercises/react/README.md +51 -0
- data/tracks/rust/exercises/rectangles/README.md +99 -0
- data/tracks/rust/exercises/rna-transcription/README.md +57 -0
- data/tracks/rust/exercises/robot-name/README.md +54 -0
- data/tracks/rust/exercises/robot-simulator/README.md +66 -0
- data/tracks/rust/exercises/roman-numerals/README.md +81 -0
- data/tracks/rust/exercises/rotational-cipher/README.md +68 -0
- data/tracks/rust/exercises/run-length-encoding/README.md +62 -0
- data/tracks/rust/exercises/scrabble-score/README.md +76 -0
- data/tracks/rust/exercises/sieve/README.md +66 -0
- data/tracks/rust/exercises/space-age/README.md +64 -0
- data/tracks/rust/exercises/sublist/README.md +53 -0
- data/tracks/rust/exercises/sum-of-multiples/README.md +50 -0
- data/tracks/rust/exercises/tournament/README.md +100 -0
- data/tracks/rust/exercises/triangle/README.md +71 -0
- data/tracks/rust/exercises/variable-length-quantity/README.md +71 -0
- data/tracks/rust/exercises/word-count/README.md +51 -0
- data/tracks/rust/exercises/wordy/README.md +95 -0
- data/tracks/vimscript/config/exercise_readme.go.tmpl +16 -0
- data/tracks/vimscript/exercises/allergies/README.md +46 -0
- data/tracks/vimscript/exercises/anagram/README.md +22 -0
- data/tracks/vimscript/exercises/atbash-cipher/README.md +43 -0
- data/tracks/vimscript/exercises/beer-song/README.md +336 -0
- data/tracks/vimscript/exercises/bob/README.md +27 -0
- data/tracks/vimscript/exercises/difference-of-squares/README.md +28 -0
- data/tracks/vimscript/exercises/etl/README.md +60 -0
- data/tracks/vimscript/exercises/hamming/README.md +51 -0
- data/tracks/vimscript/exercises/hello-world/README.md +30 -0
- data/tracks/vimscript/exercises/largest-series-product/README.md +29 -0
- data/tracks/vimscript/exercises/leap/README.md +42 -0
- data/tracks/vimscript/exercises/nucleotide-count/README.md +42 -0
- data/tracks/vimscript/exercises/pangram/README.md +24 -0
- data/tracks/vimscript/exercises/phone-number/README.md +43 -0
- data/tracks/vimscript/exercises/raindrops/README.md +33 -0
- data/tracks/vimscript/exercises/rna-transcription/README.md +34 -0
- data/tracks/vimscript/exercises/roman-numerals/README.md +58 -0
- data/tracks/vimscript/exercises/scrabble-score/README.md +53 -0
- data/tracks/vimscript/exercises/triangle/README.md +35 -0
- data/tracks/vimscript/exercises/word-count/README.md +28 -0
- metadata +466 -86
- data/tracks/java/exercises/anagram/.meta/readme.go.tmpl +0 -17
- data/tracks/java/exercises/atbash-cipher/.meta/readme.go.tmpl +0 -17
- data/tracks/java/exercises/bank-account/.meta/readme.go.tmpl +0 -17
- data/tracks/java/exercises/beer-song/.meta/readme.go.tmpl +0 -17
- data/tracks/java/exercises/binary/.meta/readme.go.tmpl +0 -17
- data/tracks/java/exercises/binary-search/.meta/readme.go.tmpl +0 -17
- data/tracks/java/exercises/binary-search-tree/.meta/readme.go.tmpl +0 -17
- data/tracks/java/exercises/bob/.meta/readme.go.tmpl +0 -17
- data/tracks/java/exercises/book-store/.meta/readme.go.tmpl +0 -17
- data/tracks/java/exercises/bowling/.meta/readme.go.tmpl +0 -17
- data/tracks/java/exercises/bracket-push/.meta/readme.go.tmpl +0 -17
- data/tracks/java/exercises/change/.meta/readme.go.tmpl +0 -17
- data/tracks/java/exercises/circular-buffer/.meta/readme.go.tmpl +0 -17
- data/tracks/java/exercises/clock/.meta/readme.go.tmpl +0 -17
- data/tracks/java/exercises/collatz-conjecture/.meta/readme.go.tmpl +0 -17
- data/tracks/java/exercises/complex-numbers/.meta/readme.go.tmpl +0 -17
- data/tracks/java/exercises/crypto-square/.meta/readme.go.tmpl +0 -17
- data/tracks/java/exercises/custom-set/.meta/readme.go.tmpl +0 -17
- data/tracks/java/exercises/diamond/.meta/readme.go.tmpl +0 -17
- data/tracks/java/exercises/difference-of-squares/.meta/readme.go.tmpl +0 -17
- data/tracks/java/exercises/etl/.meta/readme.go.tmpl +0 -17
- data/tracks/java/exercises/flatten-array/.meta/readme.go.tmpl +0 -17
- data/tracks/java/exercises/food-chain/.meta/readme.go.tmpl +0 -17
- data/tracks/java/exercises/gigasecond/.meta/readme.go.tmpl +0 -17
- data/tracks/java/exercises/grade-school/.meta/readme.go.tmpl +0 -17
- data/tracks/java/exercises/hamming/.meta/readme.go.tmpl +0 -17
- data/tracks/java/exercises/hello-world/.meta/readme.go.tmpl +0 -17
- data/tracks/java/exercises/hexadecimal/.meta/readme.go.tmpl +0 -17
- data/tracks/java/exercises/isogram/.meta/readme.go.tmpl +0 -17
- data/tracks/java/exercises/kindergarten-garden/.meta/readme.go.tmpl +0 -17
- data/tracks/java/exercises/largest-series-product/.meta/readme.go.tmpl +0 -17
- data/tracks/java/exercises/linked-list/.meta/readme.go.tmpl +0 -17
- data/tracks/java/exercises/list-ops/.meta/readme.go.tmpl +0 -17
- data/tracks/java/exercises/luhn/.meta/readme.go.tmpl +0 -17
- data/tracks/java/exercises/matrix/.meta/readme.go.tmpl +0 -17
- data/tracks/java/exercises/meetup/.meta/readme.go.tmpl +0 -17
- data/tracks/java/exercises/minesweeper/.meta/readme.go.tmpl +0 -17
- data/tracks/java/exercises/nth-prime/.meta/readme.go.tmpl +0 -17
- data/tracks/java/exercises/nucleotide-count/.meta/readme.go.tmpl +0 -17
- data/tracks/java/exercises/ocr-numbers/.meta/readme.go.tmpl +0 -17
- data/tracks/java/exercises/octal/.meta/readme.go.tmpl +0 -17
- data/tracks/java/exercises/palindrome-products/.meta/readme.go.tmpl +0 -17
- data/tracks/java/exercises/pangram/.meta/readme.go.tmpl +0 -17
- data/tracks/java/exercises/pascals-triangle/.meta/readme.go.tmpl +0 -17
- data/tracks/java/exercises/perfect-numbers/.meta/readme.go.tmpl +0 -17
- data/tracks/java/exercises/phone-number/.meta/readme.go.tmpl +0 -17
- data/tracks/java/exercises/pig-latin/.meta/readme.go.tmpl +0 -17
- data/tracks/java/exercises/poker/.meta/readme.go.tmpl +0 -17
- data/tracks/java/exercises/prime-factors/.meta/readme.go.tmpl +0 -17
- data/tracks/java/exercises/pythagorean-triplet/.meta/readme.go.tmpl +0 -17
- data/tracks/java/exercises/queen-attack/.meta/readme.go.tmpl +0 -17
- data/tracks/java/exercises/raindrops/.meta/readme.go.tmpl +0 -17
- data/tracks/java/exercises/rectangles/.meta/readme.go.tmpl +0 -17
- data/tracks/java/exercises/rna-transcription/.meta/readme.go.tmpl +0 -17
- data/tracks/java/exercises/robot-name/.meta/readme.go.tmpl +0 -17
- data/tracks/java/exercises/robot-simulator/.meta/readme.go.tmpl +0 -17
- data/tracks/java/exercises/roman-numerals/.meta/readme.go.tmpl +0 -17
- data/tracks/java/exercises/run-length-encoding/.meta/readme.go.tmpl +0 -17
- data/tracks/java/exercises/saddle-points/.meta/readme.go.tmpl +0 -17
- data/tracks/java/exercises/scrabble-score/.meta/readme.go.tmpl +0 -17
- data/tracks/java/exercises/secret-handshake/.meta/readme.go.tmpl +0 -17
- data/tracks/java/exercises/series/.meta/readme.go.tmpl +0 -17
- data/tracks/java/exercises/sieve/.meta/readme.go.tmpl +0 -17
- data/tracks/java/exercises/simple-cipher/.meta/readme.go.tmpl +0 -17
- data/tracks/java/exercises/simple-linked-list/.meta/readme.go.tmpl +0 -17
- data/tracks/java/exercises/space-age/.meta/readme.go.tmpl +0 -17
- data/tracks/java/exercises/spiral-matrix/.meta/readme.go.tmpl +0 -17
- data/tracks/java/exercises/strain/.meta/readme.go.tmpl +0 -17
- data/tracks/java/exercises/sublist/.meta/readme.go.tmpl +0 -17
- data/tracks/java/exercises/sum-of-multiples/.meta/readme.go.tmpl +0 -17
- data/tracks/java/exercises/transpose/.meta/readme.go.tmpl +0 -17
- data/tracks/java/exercises/triangle/.meta/readme.go.tmpl +0 -17
- data/tracks/java/exercises/trinary/.meta/readme.go.tmpl +0 -17
- data/tracks/java/exercises/twelve-days/.meta/readme.go.tmpl +0 -17
- data/tracks/java/exercises/two-fer/.meta/readme.go.tmpl +0 -17
- data/tracks/java/exercises/word-count/.meta/readme.go.tmpl +0 -17
- data/tracks/java/exercises/word-search/.meta/readme.go.tmpl +0 -17
- data/tracks/java/exercises/wordy/.meta/readme.go.tmpl +0 -17
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
# Hamming
|
|
2
|
+
|
|
3
|
+
Calculate the Hamming difference between two DNA strands.
|
|
4
|
+
|
|
5
|
+
A mutation is simply a mistake that occurs during the creation or
|
|
6
|
+
copying of a nucleic acid, in particular DNA. Because nucleic acids are
|
|
7
|
+
vital to cellular functions, mutations tend to cause a ripple effect
|
|
8
|
+
throughout the cell. Although mutations are technically mistakes, a very
|
|
9
|
+
rare mutation may equip the cell with a beneficial attribute. In fact,
|
|
10
|
+
the macro effects of evolution are attributable by the accumulated
|
|
11
|
+
result of beneficial microscopic mutations over many generations.
|
|
12
|
+
|
|
13
|
+
The simplest and most common type of nucleic acid mutation is a point
|
|
14
|
+
mutation, which replaces one base with another at a single nucleotide.
|
|
15
|
+
|
|
16
|
+
By counting the number of differences between two homologous DNA strands
|
|
17
|
+
taken from different genomes with a common ancestor, we get a measure of
|
|
18
|
+
the minimum number of point mutations that could have occurred on the
|
|
19
|
+
evolutionary path between the two strands.
|
|
20
|
+
|
|
21
|
+
This is called the 'Hamming distance'.
|
|
22
|
+
|
|
23
|
+
It is found by comparing two DNA strands and counting how many of the
|
|
24
|
+
nucleotides are different from their equivalent in the other string.
|
|
25
|
+
|
|
26
|
+
GAGCCTACTAACGGGAT
|
|
27
|
+
CATCGTAATGACGGCCT
|
|
28
|
+
^ ^ ^ ^ ^ ^^
|
|
29
|
+
|
|
30
|
+
The Hamming distance between these two DNA strands is 7.
|
|
31
|
+
|
|
32
|
+
# Implementation notes
|
|
33
|
+
|
|
34
|
+
The Hamming distance is only defined for sequences of equal length. This means
|
|
35
|
+
that based on the definition, each language could deal with getting sequences
|
|
36
|
+
of equal length differently.
|
|
37
|
+
|
|
38
|
+
## Running the tests
|
|
39
|
+
|
|
40
|
+
To run the tests, run the command `busted .` from within the exercise directory.
|
|
41
|
+
|
|
42
|
+
## Further information
|
|
43
|
+
|
|
44
|
+
For more detailed information about the Lua track, including how to get help if
|
|
45
|
+
you're having trouble, please visit the exercism.io [Lua language page](http://exercism.io/languages/lua/about).
|
|
46
|
+
|
|
47
|
+
## Source
|
|
48
|
+
|
|
49
|
+
The Calculating Point Mutations problem at Rosalind [http://rosalind.info/problems/hamm/](http://rosalind.info/problems/hamm/)
|
|
50
|
+
|
|
51
|
+
## Submitting Incomplete Solutions
|
|
52
|
+
It's possible to submit an incomplete solution so you can see how others have completed the exercise.
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
# Hello World
|
|
2
|
+
|
|
3
|
+
The classical introductory exercise. Just say "Hello, World!".
|
|
4
|
+
|
|
5
|
+
["Hello, World!"](http://en.wikipedia.org/wiki/%22Hello,_world!%22_program) is
|
|
6
|
+
the traditional first program for beginning programming in a new language
|
|
7
|
+
or environment.
|
|
8
|
+
|
|
9
|
+
The objectives are simple:
|
|
10
|
+
|
|
11
|
+
- Write a function that returns the string "Hello, World!".
|
|
12
|
+
- Run the test suite and make sure that it succeeds.
|
|
13
|
+
- Submit your solution and check it at the website.
|
|
14
|
+
|
|
15
|
+
If everything goes well, you will be ready to fetch your first real exercise.
|
|
16
|
+
|
|
17
|
+
## Running the tests
|
|
18
|
+
|
|
19
|
+
To run the tests, run the command `busted .` from within the exercise directory.
|
|
20
|
+
|
|
21
|
+
## Further information
|
|
22
|
+
|
|
23
|
+
For more detailed information about the Lua track, including how to get help if
|
|
24
|
+
you're having trouble, please visit the exercism.io [Lua language page](http://exercism.io/languages/lua/about).
|
|
25
|
+
|
|
26
|
+
## Source
|
|
27
|
+
|
|
28
|
+
This is an exercise to introduce users to using Exercism [http://en.wikipedia.org/wiki/%22Hello,_world!%22_program](http://en.wikipedia.org/wiki/%22Hello,_world!%22_program)
|
|
29
|
+
|
|
30
|
+
## Submitting Incomplete Solutions
|
|
31
|
+
It's possible to submit an incomplete solution so you can see how others have completed the exercise.
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
# House
|
|
2
|
+
|
|
3
|
+
Output the nursery rhyme 'This is the House that Jack Built'.
|
|
4
|
+
|
|
5
|
+
> [The] process of placing a phrase of clause within another phrase of
|
|
6
|
+
> clause is called embedding. It is through the processes of recursion
|
|
7
|
+
> and embedding that we are able to take a finite number of forms (words
|
|
8
|
+
> and phrases) and construct an infinite number of expressions.
|
|
9
|
+
> Furthermore, embedding also allows us to construct an infinitely long
|
|
10
|
+
> structure, in theory anyway.
|
|
11
|
+
|
|
12
|
+
- [papyr.com](http://papyr.com/hypertextbooks/grammar/ph_noun.htm)
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
The nursery rhyme reads as follows:
|
|
16
|
+
|
|
17
|
+
```plain
|
|
18
|
+
This is the house that Jack built.
|
|
19
|
+
|
|
20
|
+
This is the malt
|
|
21
|
+
that lay in the house that Jack built.
|
|
22
|
+
|
|
23
|
+
This is the rat
|
|
24
|
+
that ate the malt
|
|
25
|
+
that lay in the house that Jack built.
|
|
26
|
+
|
|
27
|
+
This is the cat
|
|
28
|
+
that killed the rat
|
|
29
|
+
that ate the malt
|
|
30
|
+
that lay in the house that Jack built.
|
|
31
|
+
|
|
32
|
+
This is the dog
|
|
33
|
+
that worried the cat
|
|
34
|
+
that killed the rat
|
|
35
|
+
that ate the malt
|
|
36
|
+
that lay in the house that Jack built.
|
|
37
|
+
|
|
38
|
+
This is the cow with the crumpled horn
|
|
39
|
+
that tossed the dog
|
|
40
|
+
that worried the cat
|
|
41
|
+
that killed the rat
|
|
42
|
+
that ate the malt
|
|
43
|
+
that lay in the house that Jack built.
|
|
44
|
+
|
|
45
|
+
This is the maiden all forlorn
|
|
46
|
+
that milked the cow with the crumpled horn
|
|
47
|
+
that tossed the dog
|
|
48
|
+
that worried the cat
|
|
49
|
+
that killed the rat
|
|
50
|
+
that ate the malt
|
|
51
|
+
that lay in the house that Jack built.
|
|
52
|
+
|
|
53
|
+
This is the man all tattered and torn
|
|
54
|
+
that kissed the maiden all forlorn
|
|
55
|
+
that milked the cow with the crumpled horn
|
|
56
|
+
that tossed the dog
|
|
57
|
+
that worried the cat
|
|
58
|
+
that killed the rat
|
|
59
|
+
that ate the malt
|
|
60
|
+
that lay in the house that Jack built.
|
|
61
|
+
|
|
62
|
+
This is the priest all shaven and shorn
|
|
63
|
+
that married the man all tattered and torn
|
|
64
|
+
that kissed the maiden all forlorn
|
|
65
|
+
that milked the cow with the crumpled horn
|
|
66
|
+
that tossed the dog
|
|
67
|
+
that worried the cat
|
|
68
|
+
that killed the rat
|
|
69
|
+
that ate the malt
|
|
70
|
+
that lay in the house that Jack built.
|
|
71
|
+
|
|
72
|
+
This is the rooster that crowed in the morn
|
|
73
|
+
that woke the priest all shaven and shorn
|
|
74
|
+
that married the man all tattered and torn
|
|
75
|
+
that kissed the maiden all forlorn
|
|
76
|
+
that milked the cow with the crumpled horn
|
|
77
|
+
that tossed the dog
|
|
78
|
+
that worried the cat
|
|
79
|
+
that killed the rat
|
|
80
|
+
that ate the malt
|
|
81
|
+
that lay in the house that Jack built.
|
|
82
|
+
|
|
83
|
+
This is the farmer sowing his corn
|
|
84
|
+
that kept the rooster that crowed in the morn
|
|
85
|
+
that woke the priest all shaven and shorn
|
|
86
|
+
that married the man all tattered and torn
|
|
87
|
+
that kissed the maiden all forlorn
|
|
88
|
+
that milked the cow with the crumpled horn
|
|
89
|
+
that tossed the dog
|
|
90
|
+
that worried the cat
|
|
91
|
+
that killed the rat
|
|
92
|
+
that ate the malt
|
|
93
|
+
that lay in the house that Jack built.
|
|
94
|
+
|
|
95
|
+
This is the horse and the hound and the horn
|
|
96
|
+
that belonged to the farmer sowing his corn
|
|
97
|
+
that kept the rooster that crowed in the morn
|
|
98
|
+
that woke the priest all shaven and shorn
|
|
99
|
+
that married the man all tattered and torn
|
|
100
|
+
that kissed the maiden all forlorn
|
|
101
|
+
that milked the cow with the crumpled horn
|
|
102
|
+
that tossed the dog
|
|
103
|
+
that worried the cat
|
|
104
|
+
that killed the rat
|
|
105
|
+
that ate the malt
|
|
106
|
+
that lay in the house that Jack built.
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
## Running the tests
|
|
110
|
+
|
|
111
|
+
To run the tests, run the command `busted .` from within the exercise directory.
|
|
112
|
+
|
|
113
|
+
## Further information
|
|
114
|
+
|
|
115
|
+
For more detailed information about the Lua track, including how to get help if
|
|
116
|
+
you're having trouble, please visit the exercism.io [Lua language page](http://exercism.io/languages/lua/about).
|
|
117
|
+
|
|
118
|
+
## Source
|
|
119
|
+
|
|
120
|
+
British nursery rhyme [http://en.wikipedia.org/wiki/This_Is_The_House_That_Jack_Built](http://en.wikipedia.org/wiki/This_Is_The_House_That_Jack_Built)
|
|
121
|
+
|
|
122
|
+
## Submitting Incomplete Solutions
|
|
123
|
+
It's possible to submit an incomplete solution so you can see how others have completed the exercise.
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# Isogram
|
|
2
|
+
|
|
3
|
+
Determine if a word or phrase is an isogram.
|
|
4
|
+
|
|
5
|
+
An isogram (also known as a "nonpattern word") is a word or phrase without a repeating letter.
|
|
6
|
+
|
|
7
|
+
Examples of isograms:
|
|
8
|
+
|
|
9
|
+
- lumberjacks
|
|
10
|
+
- background
|
|
11
|
+
- downstream
|
|
12
|
+
|
|
13
|
+
The word *isograms*, however, is not an isogram, because the s repeats.
|
|
14
|
+
|
|
15
|
+
## Running the tests
|
|
16
|
+
|
|
17
|
+
To run the tests, run the command `busted .` from within the exercise directory.
|
|
18
|
+
|
|
19
|
+
## Further information
|
|
20
|
+
|
|
21
|
+
For more detailed information about the Lua track, including how to get help if
|
|
22
|
+
you're having trouble, please visit the exercism.io [Lua language page](http://exercism.io/languages/lua/about).
|
|
23
|
+
|
|
24
|
+
## Source
|
|
25
|
+
|
|
26
|
+
Wikipedia [https://en.wikipedia.org/wiki/Isogram](https://en.wikipedia.org/wiki/Isogram)
|
|
27
|
+
|
|
28
|
+
## Submitting Incomplete Solutions
|
|
29
|
+
It's possible to submit an incomplete solution so you can see how others have completed the exercise.
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
# Kindergarten Garden
|
|
2
|
+
|
|
3
|
+
Given a diagram, determine which plants each child in the kindergarten class is
|
|
4
|
+
responsible for.
|
|
5
|
+
|
|
6
|
+
The kindergarten class is learning about growing plants. The teachers
|
|
7
|
+
thought it would be a good idea to give them actual seeds, plant them in
|
|
8
|
+
actual dirt, and grow actual plants.
|
|
9
|
+
|
|
10
|
+
They've chosen to grow grass, clover, radishes, and violets.
|
|
11
|
+
|
|
12
|
+
To this end, they've put little styrofoam cups along the window sills,
|
|
13
|
+
and planted one type of plant in each cup, choosing randomly from the
|
|
14
|
+
available types of seeds.
|
|
15
|
+
|
|
16
|
+
```plain
|
|
17
|
+
[window][window][window]
|
|
18
|
+
........................ # each dot represents a styrofoam cup
|
|
19
|
+
........................
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
There are 12 children in the class:
|
|
23
|
+
|
|
24
|
+
- Alice, Bob, Charlie, David,
|
|
25
|
+
- Eve, Fred, Ginny, Harriet,
|
|
26
|
+
- Ileana, Joseph, Kincaid, and Larry.
|
|
27
|
+
|
|
28
|
+
Each child gets 4 cups, two on each row. The children are assigned to
|
|
29
|
+
cups in alphabetical order.
|
|
30
|
+
|
|
31
|
+
The following diagram represents Alice's plants:
|
|
32
|
+
|
|
33
|
+
```plain
|
|
34
|
+
[window][window][window]
|
|
35
|
+
VR......................
|
|
36
|
+
RG......................
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
So in the row nearest the window, she has a violet and a radish; in the
|
|
40
|
+
row behind that, she has a radish and some grass.
|
|
41
|
+
|
|
42
|
+
Your program will be given the plants from left-to-right starting with
|
|
43
|
+
the row nearest the windows. From this, it should be able to determine
|
|
44
|
+
which plants belong to which students.
|
|
45
|
+
|
|
46
|
+
For example, if it's told that the garden looks like so:
|
|
47
|
+
|
|
48
|
+
```plain
|
|
49
|
+
[window][window][window]
|
|
50
|
+
VRCGVVRVCGGCCGVRGCVCGCGV
|
|
51
|
+
VRCCCGCRRGVCGCRVVCVGCGCV
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
Then if asked for Alice's plants, it should provide:
|
|
55
|
+
|
|
56
|
+
- Violets, radishes, violets, radishes
|
|
57
|
+
|
|
58
|
+
While asking for Bob's plants would yield:
|
|
59
|
+
|
|
60
|
+
- Clover, grass, clover, clover
|
|
61
|
+
|
|
62
|
+
## Running the tests
|
|
63
|
+
|
|
64
|
+
To run the tests, run the command `busted .` from within the exercise directory.
|
|
65
|
+
|
|
66
|
+
## Further information
|
|
67
|
+
|
|
68
|
+
For more detailed information about the Lua track, including how to get help if
|
|
69
|
+
you're having trouble, please visit the exercism.io [Lua language page](http://exercism.io/languages/lua/about).
|
|
70
|
+
|
|
71
|
+
## Source
|
|
72
|
+
|
|
73
|
+
Random musings during airplane trip. [http://jumpstartlab.com](http://jumpstartlab.com)
|
|
74
|
+
|
|
75
|
+
## Submitting Incomplete Solutions
|
|
76
|
+
It's possible to submit an incomplete solution so you can see how others have completed the exercise.
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# Largest Series Product
|
|
2
|
+
|
|
3
|
+
Given a string of digits, calculate the largest product for a contiguous
|
|
4
|
+
substring of digits of length n.
|
|
5
|
+
|
|
6
|
+
For example, for the input `'1027839564'`, the largest product for a
|
|
7
|
+
series of 3 digits is 270 (9 * 5 * 6), and the largest product for a
|
|
8
|
+
series of 5 digits is 7560 (7 * 8 * 3 * 9 * 5).
|
|
9
|
+
|
|
10
|
+
Note that these series are only required to occupy *adjacent positions*
|
|
11
|
+
in the input; the digits need not be *numerically consecutive*.
|
|
12
|
+
|
|
13
|
+
For the input `'73167176531330624919225119674426574742355349194934'`,
|
|
14
|
+
the largest product for a series of 6 digits is 23520.
|
|
15
|
+
|
|
16
|
+
## Running the tests
|
|
17
|
+
|
|
18
|
+
To run the tests, run the command `busted .` from within the exercise directory.
|
|
19
|
+
|
|
20
|
+
## Further information
|
|
21
|
+
|
|
22
|
+
For more detailed information about the Lua track, including how to get help if
|
|
23
|
+
you're having trouble, please visit the exercism.io [Lua language page](http://exercism.io/languages/lua/about).
|
|
24
|
+
|
|
25
|
+
## Source
|
|
26
|
+
|
|
27
|
+
A variation on Problem 8 at Project Euler [http://projecteuler.net/problem=8](http://projecteuler.net/problem=8)
|
|
28
|
+
|
|
29
|
+
## Submitting Incomplete Solutions
|
|
30
|
+
It's possible to submit an incomplete solution so you can see how others have completed the exercise.
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
# Leap
|
|
2
|
+
|
|
3
|
+
Given a year, report if it is a leap year.
|
|
4
|
+
|
|
5
|
+
The tricky thing here is that a leap year in the Gregorian calendar occurs:
|
|
6
|
+
|
|
7
|
+
```plain
|
|
8
|
+
on every year that is evenly divisible by 4
|
|
9
|
+
except every year that is evenly divisible by 100
|
|
10
|
+
unless the year is also evenly divisible by 400
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
For example, 1997 is not a leap year, but 1996 is. 1900 is not a leap
|
|
14
|
+
year, but 2000 is.
|
|
15
|
+
|
|
16
|
+
If your language provides a method in the standard library that does
|
|
17
|
+
this look-up, pretend it doesn't exist and implement it yourself.
|
|
18
|
+
|
|
19
|
+
## Notes
|
|
20
|
+
|
|
21
|
+
Though our exercise adopts some very simple rules, there is more to
|
|
22
|
+
learn!
|
|
23
|
+
|
|
24
|
+
For a delightful, four minute explanation of the whole leap year
|
|
25
|
+
phenomenon, go watch [this youtube video][video].
|
|
26
|
+
|
|
27
|
+
[video]: http://www.youtube.com/watch?v=xX96xng7sAE
|
|
28
|
+
|
|
29
|
+
## Running the tests
|
|
30
|
+
|
|
31
|
+
To run the tests, run the command `busted .` from within the exercise directory.
|
|
32
|
+
|
|
33
|
+
## Further information
|
|
34
|
+
|
|
35
|
+
For more detailed information about the Lua track, including how to get help if
|
|
36
|
+
you're having trouble, please visit the exercism.io [Lua language page](http://exercism.io/languages/lua/about).
|
|
37
|
+
|
|
38
|
+
## Source
|
|
39
|
+
|
|
40
|
+
JavaRanch Cattle Drive, exercise 3 [http://www.javaranch.com/leap.jsp](http://www.javaranch.com/leap.jsp)
|
|
41
|
+
|
|
42
|
+
## Submitting Incomplete Solutions
|
|
43
|
+
It's possible to submit an incomplete solution so you can see how others have completed the exercise.
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
# Linked List
|
|
2
|
+
|
|
3
|
+
Implement a doubly linked list.
|
|
4
|
+
|
|
5
|
+
Like an array, a linked list is a simple linear data structure. Several
|
|
6
|
+
common data types can be implemented using linked lists, like queues,
|
|
7
|
+
stacks, and associative arrays.
|
|
8
|
+
|
|
9
|
+
A linked list is a collection of data elements called *nodes*. In a
|
|
10
|
+
*singly linked list* each node holds a value and a link to the next node.
|
|
11
|
+
In a *doubly linked list* each node also holds a link to the previous
|
|
12
|
+
node.
|
|
13
|
+
|
|
14
|
+
You will write an implementation of a doubly linked list. Implement a
|
|
15
|
+
Node to hold a value and pointers to the next and previous nodes. Then
|
|
16
|
+
implement a List which holds references to the first and last node and
|
|
17
|
+
offers an array-like interface for adding and removing items:
|
|
18
|
+
|
|
19
|
+
* `push` (*insert value at back*);
|
|
20
|
+
* `pop` (*remove value at back*);
|
|
21
|
+
* `shift` (*remove value at front*).
|
|
22
|
+
* `unshift` (*insert value at front*);
|
|
23
|
+
|
|
24
|
+
To keep your implementation simple, the tests will not cover error
|
|
25
|
+
conditions. Specifically: `pop` or `shift` will never be called on an
|
|
26
|
+
empty list.
|
|
27
|
+
|
|
28
|
+
If you want to know more about linked lists, check [Wikipedia](https://en.wikipedia.org/wiki/Linked_list).
|
|
29
|
+
|
|
30
|
+
## Running the tests
|
|
31
|
+
|
|
32
|
+
To run the tests, run the command `busted .` from within the exercise directory.
|
|
33
|
+
|
|
34
|
+
## Further information
|
|
35
|
+
|
|
36
|
+
For more detailed information about the Lua track, including how to get help if
|
|
37
|
+
you're having trouble, please visit the exercism.io [Lua language page](http://exercism.io/languages/lua/about).
|
|
38
|
+
|
|
39
|
+
## Source
|
|
40
|
+
|
|
41
|
+
Classic computer science topic
|
|
42
|
+
|
|
43
|
+
## Submitting Incomplete Solutions
|
|
44
|
+
It's possible to submit an incomplete solution so you can see how others have completed the exercise.
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# List Ops
|
|
2
|
+
|
|
3
|
+
Implement basic list operations.
|
|
4
|
+
|
|
5
|
+
In functional languages list operations like `length`, `map`, and
|
|
6
|
+
`reduce` are very common. Implement a series of basic list operations,
|
|
7
|
+
without using existing functions.
|
|
8
|
+
|
|
9
|
+
## Running the tests
|
|
10
|
+
|
|
11
|
+
To run the tests, run the command `busted .` from within the exercise directory.
|
|
12
|
+
|
|
13
|
+
## Further information
|
|
14
|
+
|
|
15
|
+
For more detailed information about the Lua track, including how to get help if
|
|
16
|
+
you're having trouble, please visit the exercism.io [Lua language page](http://exercism.io/languages/lua/about).
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
## Submitting Incomplete Solutions
|
|
20
|
+
It's possible to submit an incomplete solution so you can see how others have completed the exercise.
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
# Luhn
|
|
2
|
+
|
|
3
|
+
Given a number determine whether or not it is valid per the Luhn formula.
|
|
4
|
+
|
|
5
|
+
The [Luhn algorithm](https://en.wikipedia.org/wiki/Luhn_algorithm) is
|
|
6
|
+
a simple checksum formula used to validate a variety of identification
|
|
7
|
+
numbers, such as credit card numbers and Canadian Social Insurance
|
|
8
|
+
Numbers.
|
|
9
|
+
|
|
10
|
+
The task is to check if a given string is valid.
|
|
11
|
+
|
|
12
|
+
Validating a Number
|
|
13
|
+
------
|
|
14
|
+
|
|
15
|
+
Strings of length 1 or less are not valid. Spaces are allowed in the input,
|
|
16
|
+
but they should be stripped before checking. All other non-digit characters
|
|
17
|
+
are disallowed.
|
|
18
|
+
|
|
19
|
+
## Example 1: valid credit card number
|
|
20
|
+
|
|
21
|
+
```
|
|
22
|
+
4539 1488 0343 6467
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
The first step of the Luhn algorithm is to double every second digit,
|
|
26
|
+
starting from the right. We will be doubling
|
|
27
|
+
|
|
28
|
+
```
|
|
29
|
+
4_3_ 1_8_ 0_4_ 6_6_
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
If doubling the number results in a number greater than 9 then subtract 9
|
|
33
|
+
from the product. The results of our doubling:
|
|
34
|
+
|
|
35
|
+
```
|
|
36
|
+
8569 2478 0383 3437
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
Then sum all of the digits:
|
|
40
|
+
|
|
41
|
+
```
|
|
42
|
+
8+5+6+9+2+4+7+8+0+3+8+3+3+4+3+7 = 80
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
If the sum is evenly divisible by 10, then the number is valid. This number is valid!
|
|
46
|
+
|
|
47
|
+
## Example 2: invalid credit card number
|
|
48
|
+
|
|
49
|
+
```
|
|
50
|
+
8273 1232 7352 0569
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
Double the second digits, starting from the right
|
|
54
|
+
|
|
55
|
+
```
|
|
56
|
+
7253 2262 5312 0539
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
Sum the digits
|
|
60
|
+
|
|
61
|
+
```
|
|
62
|
+
7+2+5+3+2+2+6+2+5+3+1+2+0+5+3+9 = 57
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
57 is not evenly divisible by 10, so this number is not valid.
|
|
66
|
+
|
|
67
|
+
## Running the tests
|
|
68
|
+
|
|
69
|
+
To run the tests, run the command `busted .` from within the exercise directory.
|
|
70
|
+
|
|
71
|
+
## Further information
|
|
72
|
+
|
|
73
|
+
For more detailed information about the Lua track, including how to get help if
|
|
74
|
+
you're having trouble, please visit the exercism.io [Lua language page](http://exercism.io/languages/lua/about).
|
|
75
|
+
|
|
76
|
+
## Source
|
|
77
|
+
|
|
78
|
+
The Luhn Algorithm on Wikipedia [http://en.wikipedia.org/wiki/Luhn_algorithm](http://en.wikipedia.org/wiki/Luhn_algorithm)
|
|
79
|
+
|
|
80
|
+
## Submitting Incomplete Solutions
|
|
81
|
+
It's possible to submit an incomplete solution so you can see how others have completed the exercise.
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
# Matrix
|
|
2
|
+
|
|
3
|
+
Given a string representing a matrix of numbers, return the rows and columns of
|
|
4
|
+
that matrix.
|
|
5
|
+
|
|
6
|
+
So given a string with embedded newlines like:
|
|
7
|
+
|
|
8
|
+
> 9 8 7
|
|
9
|
+
> 5 3 2
|
|
10
|
+
> 6 6 7
|
|
11
|
+
|
|
12
|
+
representing this matrix:
|
|
13
|
+
|
|
14
|
+
```plain
|
|
15
|
+
0 1 2
|
|
16
|
+
|---------
|
|
17
|
+
0 | 9 8 7
|
|
18
|
+
1 | 5 3 2
|
|
19
|
+
2 | 6 6 7
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
your code should be able to spit out:
|
|
23
|
+
|
|
24
|
+
- A list of the rows, reading each row left-to-right while moving
|
|
25
|
+
top-to-bottom across the rows,
|
|
26
|
+
- A list of the columns, reading each column top-to-bottom while moving
|
|
27
|
+
from left-to-right.
|
|
28
|
+
|
|
29
|
+
The rows for our example matrix:
|
|
30
|
+
|
|
31
|
+
- 9, 8, 7
|
|
32
|
+
- 5, 3, 2
|
|
33
|
+
- 6, 6, 7
|
|
34
|
+
|
|
35
|
+
And its columns:
|
|
36
|
+
|
|
37
|
+
- 9, 5, 6
|
|
38
|
+
- 8, 3, 6
|
|
39
|
+
- 7, 2, 7
|
|
40
|
+
|
|
41
|
+
## Running the tests
|
|
42
|
+
|
|
43
|
+
To run the tests, run the command `busted .` from within the exercise directory.
|
|
44
|
+
|
|
45
|
+
## Further information
|
|
46
|
+
|
|
47
|
+
For more detailed information about the Lua track, including how to get help if
|
|
48
|
+
you're having trouble, please visit the exercism.io [Lua language page](http://exercism.io/languages/lua/about).
|
|
49
|
+
|
|
50
|
+
## Source
|
|
51
|
+
|
|
52
|
+
Warmup to the `saddle-points` warmup. [http://jumpstartlab.com](http://jumpstartlab.com)
|
|
53
|
+
|
|
54
|
+
## Submitting Incomplete Solutions
|
|
55
|
+
It's possible to submit an incomplete solution so you can see how others have completed the exercise.
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
# Meetup
|
|
2
|
+
|
|
3
|
+
Calculate the date of meetups.
|
|
4
|
+
|
|
5
|
+
Typically meetups happen on the same day of the week. In this exercise, you will take
|
|
6
|
+
a description of a meetup date, and return the actual meetup date.
|
|
7
|
+
|
|
8
|
+
Examples of general descriptions are:
|
|
9
|
+
|
|
10
|
+
- the first Monday of January 2017
|
|
11
|
+
- the third Tuesday of January 2017
|
|
12
|
+
- the Wednesteenth of January 2017
|
|
13
|
+
- the last Thursday of January 2017
|
|
14
|
+
|
|
15
|
+
Note that "Monteenth", "Tuesteenth", etc are all made up words. There
|
|
16
|
+
was a meetup whose members realized that there are exactly 7 numbered days in a month that
|
|
17
|
+
end in '-teenth'. Therefore, one is guaranteed that each day of the week
|
|
18
|
+
(Monday, Tuesday, ...) will have exactly one date that is named with '-teenth'
|
|
19
|
+
in every month.
|
|
20
|
+
|
|
21
|
+
Given examples of a meetup dates, each containing a month, day, year, and descriptor
|
|
22
|
+
(first, second, teenth, etc), calculate the date of the actual meetup.
|
|
23
|
+
For example, if given "First Monday of January 2017", the correct meetup date is 2017/1/2
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
## Running the tests
|
|
27
|
+
|
|
28
|
+
To run the tests, run the command `busted .` from within the exercise directory.
|
|
29
|
+
|
|
30
|
+
## Further information
|
|
31
|
+
|
|
32
|
+
For more detailed information about the Lua track, including how to get help if
|
|
33
|
+
you're having trouble, please visit the exercism.io [Lua language page](http://exercism.io/languages/lua/about).
|
|
34
|
+
|
|
35
|
+
## Source
|
|
36
|
+
|
|
37
|
+
Jeremy Hinegardner mentioned a Boulder meetup that happens on the Wednesteenth of every month [https://twitter.com/copiousfreetime](https://twitter.com/copiousfreetime)
|
|
38
|
+
|
|
39
|
+
## Submitting Incomplete Solutions
|
|
40
|
+
It's possible to submit an incomplete solution so you can see how others have completed the exercise.
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
# Minesweeper
|
|
2
|
+
|
|
3
|
+
Add the numbers to a minesweeper board.
|
|
4
|
+
|
|
5
|
+
Minesweeper is a popular game where the user has to find the mines using
|
|
6
|
+
numeric hints that indicate how many mines are directly adjacent
|
|
7
|
+
(horizontally, vertically, diagonally) to a square.
|
|
8
|
+
|
|
9
|
+
In this exercise you have to create some code that counts the number of
|
|
10
|
+
mines adjacent to a square and transforms boards like this (where `*`
|
|
11
|
+
indicates a mine):
|
|
12
|
+
|
|
13
|
+
+-----+
|
|
14
|
+
| * * |
|
|
15
|
+
| * |
|
|
16
|
+
| * |
|
|
17
|
+
| |
|
|
18
|
+
+-----+
|
|
19
|
+
|
|
20
|
+
into this:
|
|
21
|
+
|
|
22
|
+
+-----+
|
|
23
|
+
|1*3*1|
|
|
24
|
+
|13*31|
|
|
25
|
+
| 2*2 |
|
|
26
|
+
| 111 |
|
|
27
|
+
+-----+
|
|
28
|
+
|
|
29
|
+
## Running the tests
|
|
30
|
+
|
|
31
|
+
To run the tests, run the command `busted .` from within the exercise directory.
|
|
32
|
+
|
|
33
|
+
## Further information
|
|
34
|
+
|
|
35
|
+
For more detailed information about the Lua track, including how to get help if
|
|
36
|
+
you're having trouble, please visit the exercism.io [Lua language page](http://exercism.io/languages/lua/about).
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
## Submitting Incomplete Solutions
|
|
40
|
+
It's possible to submit an incomplete solution so you can see how others have completed the exercise.
|