trackler 2.2.0.3 → 2.2.0.4
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/lib/trackler/version.rb +1 -1
- data/problem-specifications/exercises/list-ops/canonical-data.json +27 -11
- data/problem-specifications/exercises/rotational-cipher/canonical-data.json +8 -8
- data/tracks/clojure/config.json +240 -63
- data/tracks/cpp/CMakeLists.txt +1 -0
- data/tracks/cpp/config.json +8 -0
- data/tracks/cpp/exercises/bracket-push/CMakeLists.txt +52 -0
- data/tracks/cpp/exercises/bracket-push/bracket_push_test.cpp +75 -0
- data/tracks/cpp/exercises/bracket-push/example.cpp +28 -0
- data/tracks/cpp/exercises/bracket-push/example.h +13 -0
- data/tracks/ecmascript/config.json +235 -71
- data/tracks/ecmascript/config/exercise_readme.go.tmpl +16 -0
- data/tracks/ecmascript/exercises/accumulate/README.md +65 -0
- data/tracks/ecmascript/exercises/acronym/README.md +45 -0
- data/tracks/ecmascript/exercises/all-your-base/README.md +65 -0
- data/tracks/ecmascript/exercises/allergies/README.md +67 -0
- data/tracks/ecmascript/exercises/alphametics/README.md +65 -0
- data/tracks/ecmascript/exercises/anagram/README.md +43 -0
- data/tracks/ecmascript/exercises/atbash-cipher/README.md +64 -0
- data/tracks/ecmascript/exercises/beer-song/README.md +357 -0
- data/tracks/ecmascript/exercises/binary-search-tree/README.md +90 -0
- data/tracks/ecmascript/exercises/binary-search/README.md +71 -0
- data/tracks/ecmascript/exercises/binary/README.md +65 -0
- data/tracks/ecmascript/exercises/bob/README.md +48 -0
- data/tracks/ecmascript/exercises/bracket-push/README.md +40 -0
- data/tracks/ecmascript/exercises/circular-buffer/README.md +80 -0
- data/tracks/ecmascript/exercises/clock/README.md +43 -0
- data/tracks/ecmascript/exercises/connect/README.md +64 -0
- data/tracks/ecmascript/exercises/crypto-square/README.md +104 -0
- data/tracks/ecmascript/exercises/custom-set/README.md +41 -0
- data/tracks/ecmascript/exercises/diamond/README.md +89 -0
- data/tracks/ecmascript/exercises/difference-of-squares/README.md +49 -0
- data/tracks/ecmascript/exercises/diffie-hellman/README.md +74 -0
- data/tracks/ecmascript/exercises/etl/README.md +81 -0
- data/tracks/ecmascript/exercises/flatten-array/README.md +48 -0
- data/tracks/ecmascript/exercises/food-chain/README.md +100 -0
- data/tracks/ecmascript/exercises/gigasecond/README.md +41 -0
- data/tracks/ecmascript/exercises/grade-school/README.md +72 -0
- data/tracks/ecmascript/exercises/grains/README.md +64 -0
- data/tracks/ecmascript/exercises/hamming/README.md +72 -0
- data/tracks/ecmascript/exercises/hello-world/README.md +51 -0
- data/tracks/ecmascript/exercises/hexadecimal/README.md +44 -0
- data/tracks/ecmascript/exercises/isogram/README.md +49 -0
- data/tracks/ecmascript/exercises/kindergarten-garden/README.md +96 -0
- data/tracks/ecmascript/exercises/largest-series-product/README.md +50 -0
- data/tracks/ecmascript/exercises/leap/README.md +63 -0
- data/tracks/ecmascript/exercises/linked-list/README.md +64 -0
- data/tracks/ecmascript/exercises/list-ops/README.md +40 -0
- data/tracks/ecmascript/exercises/luhn/README.md +101 -0
- data/tracks/ecmascript/exercises/matrix/README.md +75 -0
- data/tracks/ecmascript/exercises/meetup/README.md +60 -0
- data/tracks/ecmascript/exercises/minesweeper/README.md +60 -0
- data/tracks/ecmascript/exercises/nth-prime/README.md +45 -0
- data/tracks/ecmascript/exercises/ocr-numbers/README.md +115 -0
- data/tracks/ecmascript/exercises/octal/README.md +79 -0
- data/tracks/ecmascript/exercises/palindrome-products/README.md +70 -0
- data/tracks/ecmascript/exercises/pangram/README.md +45 -0
- data/tracks/ecmascript/exercises/pascals-triangle/README.md +51 -0
- data/tracks/ecmascript/exercises/perfect-numbers/README.md +54 -0
- data/tracks/ecmascript/exercises/phone-number/README.md +64 -0
- data/tracks/ecmascript/exercises/pig-latin/README.md +54 -0
- data/tracks/ecmascript/exercises/prime-factors/README.md +66 -0
- data/tracks/ecmascript/exercises/pythagorean-triplet/README.md +54 -0
- data/tracks/ecmascript/exercises/queen-attack/README.md +63 -0
- data/tracks/ecmascript/exercises/raindrops/README.md +54 -0
- data/tracks/ecmascript/exercises/rna-transcription/README.md +55 -0
- data/tracks/ecmascript/exercises/robot-name/README.md +52 -0
- data/tracks/ecmascript/exercises/robot-simulator/README.md +64 -0
- data/tracks/ecmascript/exercises/roman-numerals/README.md +79 -0
- data/tracks/ecmascript/exercises/saddle-points/README.md +63 -0
- data/tracks/ecmascript/exercises/say/README.md +99 -0
- data/tracks/ecmascript/exercises/scrabble-score/README.md +74 -0
- data/tracks/ecmascript/exercises/secret-handshake/README.md +65 -0
- data/tracks/ecmascript/exercises/series/README.md +57 -0
- data/tracks/ecmascript/exercises/sieve/README.md +64 -0
- data/tracks/ecmascript/exercises/simple-cipher/README.md +120 -0
- data/tracks/ecmascript/exercises/space-age/README.md +54 -0
- data/tracks/ecmascript/exercises/strain/README.md +70 -0
- data/tracks/ecmascript/exercises/sublist/README.md +50 -0
- data/tracks/ecmascript/exercises/sublist/example.js +30 -0
- data/tracks/ecmascript/exercises/sublist/package.json +69 -0
- data/tracks/ecmascript/exercises/sublist/sublist.spec.js +126 -0
- data/tracks/ecmascript/exercises/sum-of-multiples/README.md +48 -0
- data/tracks/ecmascript/exercises/triangle/README.md +56 -0
- data/tracks/ecmascript/exercises/trinary/README.md +58 -0
- data/tracks/ecmascript/exercises/two-bucket/README.md +66 -0
- data/tracks/ecmascript/exercises/word-count/README.md +49 -0
- data/tracks/ecmascript/exercises/wordy/README.md +93 -0
- data/tracks/go/.gitignore +1 -0
- data/tracks/go/README.md +2 -0
- data/tracks/go/config/exercise_readme.go.tmpl +16 -0
- data/tracks/go/exercises/accumulate/README.md +53 -0
- data/tracks/go/exercises/acronym/README.md +33 -0
- data/tracks/go/exercises/all-your-base/README.md +53 -0
- data/tracks/go/exercises/allergies/README.md +55 -0
- data/tracks/go/exercises/anagram/README.md +31 -0
- data/tracks/go/exercises/atbash-cipher/README.md +52 -0
- data/tracks/go/exercises/bank-account/README.md +48 -0
- data/tracks/go/exercises/beer-song/README.md +345 -0
- data/tracks/go/exercises/binary-search-tree/README.md +78 -0
- data/tracks/go/exercises/binary-search/README.md +59 -0
- data/tracks/go/exercises/binary/README.md +53 -0
- data/tracks/go/exercises/bob/README.md +36 -0
- data/tracks/go/exercises/bowling/README.md +71 -0
- data/tracks/go/exercises/bracket-push/README.md +28 -0
- data/tracks/go/exercises/change/README.md +41 -0
- data/tracks/go/exercises/circular-buffer/README.md +68 -0
- data/tracks/go/exercises/clock/README.md +31 -0
- data/tracks/go/exercises/connect/README.md +52 -0
- data/tracks/go/exercises/counter/README.md +42 -0
- data/tracks/go/exercises/crypto-square/README.md +92 -0
- data/tracks/go/exercises/custom-set/README.md +29 -0
- data/tracks/go/exercises/diamond/README.md +77 -0
- data/tracks/go/exercises/difference-of-squares/README.md +37 -0
- data/tracks/go/exercises/diffie-hellman/README.md +62 -0
- data/tracks/go/exercises/error-handling/README.md +31 -0
- data/tracks/go/exercises/etl/README.md +69 -0
- data/tracks/go/exercises/food-chain/README.md +88 -0
- data/tracks/go/exercises/forth/README.md +47 -0
- data/tracks/go/exercises/gigasecond/README.md +29 -0
- data/tracks/go/exercises/grade-school/README.md +60 -0
- data/tracks/go/exercises/grains/README.md +52 -0
- data/tracks/go/exercises/hamming/README.md +60 -0
- data/tracks/go/exercises/hello-world/README.md +39 -0
- data/tracks/go/exercises/hexadecimal/README.md +32 -0
- data/tracks/go/exercises/house/README.md +131 -0
- data/tracks/go/exercises/isogram/README.md +37 -0
- data/tracks/go/exercises/kindergarten-garden/README.md +84 -0
- data/tracks/go/exercises/largest-series-product/README.md +38 -0
- data/tracks/go/exercises/leap/README.md +51 -0
- data/tracks/go/exercises/ledger/README.md +36 -0
- data/tracks/go/exercises/luhn/README.md +89 -0
- data/tracks/go/exercises/matrix/README.md +63 -0
- data/tracks/go/exercises/meetup/README.md +48 -0
- data/tracks/go/exercises/minesweeper/README.md +48 -0
- data/tracks/go/exercises/nth-prime/README.md +33 -0
- data/tracks/go/exercises/nucleotide-count/README.md +51 -0
- data/tracks/go/exercises/ocr-numbers/README.md +103 -0
- data/tracks/go/exercises/octal/README.md +67 -0
- data/tracks/go/exercises/paasio/README.md +38 -0
- data/tracks/go/exercises/palindrome-products/README.md +58 -0
- data/tracks/go/exercises/pangram/README.md +33 -0
- data/tracks/go/exercises/parallel-letter-frequency/README.md +29 -0
- data/tracks/go/exercises/pascals-triangle/README.md +39 -0
- data/tracks/go/exercises/perfect-numbers/README.md +42 -0
- data/tracks/go/exercises/phone-number/README.md +52 -0
- data/tracks/go/exercises/pig-latin/README.md +42 -0
- data/tracks/go/exercises/poker/README.md +30 -0
- data/tracks/go/exercises/pov/README.md +64 -0
- data/tracks/go/exercises/prime-factors/README.md +54 -0
- data/tracks/go/exercises/protein-translation/README.md +67 -0
- data/tracks/go/exercises/pythagorean-triplet/README.md +42 -0
- data/tracks/go/exercises/queen-attack/README.md +51 -0
- data/tracks/go/exercises/raindrops/README.md +42 -0
- data/tracks/go/exercises/react/README.md +37 -0
- data/tracks/go/exercises/rna-transcription/README.md +43 -0
- data/tracks/go/exercises/robot-name/README.md +40 -0
- data/tracks/go/exercises/robot-simulator/README.md +52 -0
- data/tracks/go/exercises/roman-numerals/README.md +67 -0
- data/tracks/go/exercises/saddle-points/README.md +51 -0
- data/tracks/go/exercises/say/README.md +87 -0
- data/tracks/go/exercises/scrabble-score/README.md +62 -0
- data/tracks/go/exercises/secret-handshake/README.md +53 -0
- data/tracks/go/exercises/series/README.md +45 -0
- data/tracks/go/exercises/sieve/README.md +52 -0
- data/tracks/go/exercises/simple-cipher/README.md +108 -0
- data/tracks/go/exercises/strain/README.md +58 -0
- data/tracks/go/exercises/sum-of-multiples/README.md +36 -0
- data/tracks/go/exercises/tournament/README.md +86 -0
- data/tracks/go/exercises/transpose/README.md +83 -0
- data/tracks/go/exercises/tree-building/README.md +48 -0
- data/tracks/go/exercises/triangle/README.md +44 -0
- data/tracks/go/exercises/trinary/README.md +46 -0
- data/tracks/go/exercises/twelve-days/README.md +57 -0
- data/tracks/go/exercises/variable-length-quantity/README.md +57 -0
- data/tracks/go/exercises/word-count/README.md +37 -0
- data/tracks/go/exercises/word-search/README.md +48 -0
- data/tracks/go/exercises/wordy/README.md +81 -0
- data/tracks/haskell/README.md +2 -2
- data/tracks/haskell/exercises/beer-song/test/Tests.hs +1 -1
- data/tracks/haskell/exercises/food-chain/test/Tests.hs +1 -1
- data/tracks/haskell/exercises/house/test/Tests.hs +1 -1
- data/tracks/haskell/exercises/say/test/Tests.hs +1 -1
- data/tracks/java/config.json +10 -10
- data/tracks/java/exercises/rotational-cipher/src/example/java/RotationalCipher.java +5 -8
- data/tracks/java/exercises/rotational-cipher/src/test/java/RotationalCipherTest.java +3 -6
- data/tracks/javascript/config.json +397 -140
- data/tracks/kotlin/config.json +248 -63
- data/tracks/kotlin/config/exercise_readme.go.tmpl +16 -0
- data/tracks/kotlin/exercises/accumulate/README.md +38 -0
- data/tracks/kotlin/exercises/acronym/README.md +18 -0
- data/tracks/kotlin/exercises/all-your-base/README.md +38 -0
- data/tracks/kotlin/exercises/allergies/README.md +40 -0
- data/tracks/kotlin/exercises/anagram/README.md +16 -0
- data/tracks/kotlin/exercises/atbash-cipher/README.md +37 -0
- data/tracks/kotlin/exercises/bank-account/README.md +33 -0
- data/tracks/kotlin/exercises/beer-song/README.md +330 -0
- data/tracks/kotlin/exercises/binary-search/README.md +44 -0
- data/tracks/kotlin/exercises/binary/README.md +38 -0
- data/tracks/kotlin/exercises/bob/README.md +21 -0
- data/tracks/kotlin/exercises/bracket-push/README.md +13 -0
- data/tracks/kotlin/exercises/change/README.md +26 -0
- data/tracks/kotlin/exercises/clock/README.md +16 -0
- data/tracks/kotlin/exercises/collatz-conjecture/README.md +36 -0
- data/tracks/kotlin/exercises/complex-numbers/README.md +14 -0
- data/tracks/kotlin/exercises/diamond/README.md +62 -0
- data/tracks/kotlin/exercises/difference-of-squares/README.md +22 -0
- data/tracks/kotlin/exercises/etl/README.md +54 -0
- data/tracks/kotlin/exercises/flatten-array/README.md +21 -0
- data/tracks/kotlin/exercises/gigasecond/README.md +14 -0
- data/tracks/kotlin/exercises/grade-school/README.md +45 -0
- data/tracks/kotlin/exercises/grains/README.md +37 -0
- data/tracks/kotlin/exercises/hamming/README.md +45 -0
- data/tracks/kotlin/exercises/hello-world/README.md +24 -0
- data/tracks/kotlin/exercises/hexadecimal/README.md +17 -0
- data/tracks/kotlin/exercises/isogram/README.md +22 -0
- data/tracks/kotlin/exercises/largest-series-product/README.md +23 -0
- data/tracks/kotlin/exercises/leap/README.md +36 -0
- data/tracks/kotlin/exercises/linked-list/README.md +37 -0
- data/tracks/kotlin/exercises/list-ops/README.md +20 -0
- data/tracks/kotlin/exercises/luhn/README.md +74 -0
- data/tracks/kotlin/exercises/minesweeper/README.md +33 -0
- data/tracks/kotlin/exercises/nth-prime/README.md +18 -0
- data/tracks/kotlin/exercises/nucleotide-count/README.md +36 -0
- data/tracks/kotlin/exercises/pangram/README.md +18 -0
- data/tracks/kotlin/exercises/pascals-triangle/README.md +24 -0
- data/tracks/kotlin/exercises/perfect-numbers/README.md +27 -0
- data/tracks/kotlin/exercises/phone-number/README.md +37 -0
- data/tracks/kotlin/exercises/pig-latin/README.md +27 -0
- data/tracks/kotlin/exercises/prime-factors/README.md +39 -0
- data/tracks/kotlin/exercises/raindrops/README.md +27 -0
- data/tracks/kotlin/exercises/react/README.md +22 -0
- data/tracks/kotlin/exercises/rna-transcription/README.md +28 -0
- data/tracks/kotlin/exercises/robot-name/README.md +25 -0
- data/tracks/kotlin/exercises/robot-simulator/README.md +37 -0
- data/tracks/kotlin/exercises/roman-numerals/README.md +52 -0
- data/tracks/kotlin/exercises/saddle-points/README.md +36 -0
- data/tracks/kotlin/exercises/scrabble-score/README.md +47 -0
- data/tracks/kotlin/exercises/secret-handshake/README.md +38 -0
- data/tracks/kotlin/exercises/series/README.md +30 -0
- data/tracks/kotlin/exercises/sieve/README.md +37 -0
- data/tracks/kotlin/exercises/simple-cipher/README.md +93 -0
- data/tracks/kotlin/exercises/space-age/README.md +27 -0
- data/tracks/kotlin/exercises/spiral-matrix/README.md +33 -0
- data/tracks/kotlin/exercises/strain/README.md +43 -0
- data/tracks/kotlin/exercises/sublist/README.md +24 -0
- data/tracks/kotlin/exercises/sum-of-multiples/README.md +21 -0
- data/tracks/kotlin/exercises/triangle/README.md +29 -0
- data/tracks/kotlin/exercises/word-count/README.md +22 -0
- data/tracks/ocaml/config/exercise_readme.go.tmpl +16 -0
- data/tracks/ocaml/exercises/acronym/README.md +55 -0
- data/tracks/ocaml/exercises/all-your-base/README.md +75 -0
- data/tracks/ocaml/exercises/anagram/README.md +53 -0
- data/tracks/ocaml/exercises/atbash-cipher/README.md +93 -0
- data/tracks/ocaml/exercises/beer-song/README.md +367 -0
- data/tracks/ocaml/exercises/binary-search/README.md +81 -0
- data/tracks/ocaml/exercises/bob/README.md +87 -0
- data/tracks/ocaml/exercises/bowling/README.md +93 -0
- data/tracks/ocaml/exercises/bracket-push/README.md +50 -0
- data/tracks/ocaml/exercises/change/README.md +63 -0
- data/tracks/ocaml/exercises/connect/README.md +74 -0
- data/tracks/ocaml/exercises/custom-set/README.md +51 -0
- data/tracks/ocaml/exercises/difference-of-squares/README.md +59 -0
- data/tracks/ocaml/exercises/dominoes/README.md +58 -0
- data/tracks/ocaml/exercises/etl/README.md +91 -0
- data/tracks/ocaml/exercises/forth/README.md +69 -0
- data/tracks/ocaml/exercises/grade-school/README.md +82 -0
- data/tracks/ocaml/exercises/hamming/README.md +82 -0
- data/tracks/ocaml/exercises/hangman/README.md +61 -0
- data/tracks/ocaml/exercises/hello-world/README.md +61 -0
- data/tracks/ocaml/exercises/hexadecimal/README.md +54 -0
- data/tracks/ocaml/exercises/leap/README.md +73 -0
- data/tracks/ocaml/exercises/list-ops/README.md +50 -0
- data/tracks/ocaml/exercises/luhn/README.md +111 -0
- data/tracks/ocaml/exercises/meetup/README.md +70 -0
- data/tracks/ocaml/exercises/minesweeper/README.md +70 -0
- data/tracks/ocaml/exercises/nucleotide-count/README.md +73 -0
- data/tracks/ocaml/exercises/pangram/README.md +55 -0
- data/tracks/ocaml/exercises/phone-number/README.md +74 -0
- data/tracks/ocaml/exercises/point-mutations/README.md +81 -0
- data/tracks/ocaml/exercises/prime-factors/README.md +76 -0
- data/tracks/ocaml/exercises/raindrops/README.md +64 -0
- data/tracks/ocaml/exercises/react/README.md +59 -0
- data/tracks/ocaml/exercises/rna-transcription/README.md +65 -0
- data/tracks/ocaml/exercises/robot-name/README.md +62 -0
- data/tracks/ocaml/exercises/roman-numerals/README.md +89 -0
- data/tracks/ocaml/exercises/run-length-encoding/README.md +70 -0
- data/tracks/ocaml/exercises/say/README.md +109 -0
- data/tracks/ocaml/exercises/space-age/README.md +64 -0
- data/tracks/ocaml/exercises/triangle/README.md +66 -0
- data/tracks/ocaml/exercises/word-count/README.md +59 -0
- data/tracks/ocaml/exercises/zipper/README.md +71 -0
- data/tracks/perl5/README.md +1 -1
- data/tracks/perl5/config/exercise_readme.go.tmpl +16 -0
- data/tracks/perl5/exercises/accumulate/README.md +35 -0
- data/tracks/perl5/exercises/all-your-base/README.md +35 -0
- data/tracks/perl5/exercises/allergies/README.md +37 -0
- data/tracks/perl5/exercises/anagram/README.md +13 -0
- data/tracks/perl5/exercises/atbash-cipher/README.md +34 -0
- data/tracks/perl5/exercises/beer-song/README.md +327 -0
- data/tracks/perl5/exercises/binary-search-tree/README.md +60 -0
- data/tracks/perl5/exercises/binary-search/README.md +41 -0
- data/tracks/perl5/exercises/binary/README.md +35 -0
- data/tracks/perl5/exercises/bob/README.md +18 -0
- data/tracks/perl5/exercises/clock/README.md +13 -0
- data/tracks/perl5/exercises/crypto-square/README.md +74 -0
- data/tracks/perl5/exercises/custom-set/README.md +11 -0
- data/tracks/perl5/exercises/difference-of-squares/README.md +19 -0
- data/tracks/perl5/exercises/etl/README.md +51 -0
- data/tracks/perl5/exercises/food-chain/README.md +70 -0
- data/tracks/perl5/exercises/gigasecond/README.md +11 -0
- data/tracks/perl5/exercises/grade-school/README.md +42 -0
- data/tracks/perl5/exercises/grains/README.md +34 -0
- data/tracks/perl5/exercises/hamming/README.md +42 -0
- data/tracks/perl5/exercises/hello-world/README.md +21 -0
- data/tracks/perl5/exercises/hexadecimal/README.md +14 -0
- data/tracks/perl5/exercises/house/README.md +113 -0
- data/tracks/perl5/exercises/kindergarten-garden/README.md +66 -0
- data/tracks/perl5/exercises/largest-series-product/README.md +20 -0
- data/tracks/perl5/exercises/leap/README.md +33 -0
- data/tracks/perl5/exercises/linked-list/README.md +34 -0
- data/tracks/perl5/exercises/list-ops/README.md +10 -0
- data/tracks/perl5/exercises/luhn/Example.pm +20 -42
- data/tracks/perl5/exercises/luhn/Luhn.pm +9 -0
- data/tracks/perl5/exercises/luhn/README.md +71 -0
- data/tracks/perl5/exercises/luhn/example.yaml +38 -0
- data/tracks/perl5/exercises/luhn/luhn.t +127 -26
- data/tracks/perl5/exercises/matrix/README.md +45 -0
- data/tracks/perl5/exercises/meetup/README.md +30 -0
- data/tracks/perl5/exercises/minesweeper/README.md +30 -0
- data/tracks/perl5/exercises/nucleotide-count/README.md +33 -0
- data/tracks/perl5/exercises/ocr-numbers/README.md +85 -0
- data/tracks/perl5/exercises/palindrome-products/README.md +40 -0
- data/tracks/perl5/exercises/pascals-triangle/README.md +21 -0
- data/tracks/perl5/exercises/phone-number/Example.pm +6 -26
- data/tracks/perl5/exercises/phone-number/PhoneNumber.pm +5 -0
- data/tracks/perl5/exercises/phone-number/README.md +34 -0
- data/tracks/perl5/exercises/phone-number/example.yaml +15 -0
- data/tracks/perl5/exercises/phone-number/phone-number.t +138 -0
- data/tracks/perl5/exercises/pig-latin/README.md +24 -0
- data/tracks/perl5/exercises/point-mutations/README.md +41 -0
- data/tracks/perl5/exercises/prime-factors/README.md +36 -0
- data/tracks/perl5/exercises/proverb/README.md +18 -0
- data/tracks/perl5/exercises/pythagorean-triplet/README.md +24 -0
- data/tracks/perl5/exercises/queen-attack/README.md +33 -0
- data/tracks/perl5/exercises/raindrops/README.md +24 -0
- data/tracks/perl5/exercises/rna-transcription/README.md +25 -0
- data/tracks/perl5/exercises/robot-name/README.md +22 -0
- data/tracks/perl5/exercises/robot-simulator/README.md +34 -0
- data/tracks/perl5/exercises/roman-numerals/README.md +49 -0
- data/tracks/perl5/exercises/saddle-points/README.md +33 -0
- data/tracks/perl5/exercises/say/README.md +69 -0
- data/tracks/perl5/exercises/scrabble-score/README.md +44 -0
- data/tracks/perl5/exercises/secret-handshake/README.md +35 -0
- data/tracks/perl5/exercises/series/README.md +27 -0
- data/tracks/perl5/exercises/sieve/README.md +34 -0
- data/tracks/perl5/exercises/simple-cipher/README.md +90 -0
- data/tracks/perl5/exercises/simple-linked-list/README.md +28 -0
- data/tracks/perl5/exercises/space-age/README.md +24 -0
- data/tracks/perl5/exercises/strain/README.md +40 -0
- data/tracks/perl5/exercises/sublist/README.md +21 -0
- data/tracks/perl5/exercises/sum-of-multiples/README.md +18 -0
- data/tracks/perl5/exercises/triangle/README.md +26 -0
- data/tracks/perl5/exercises/trinary/README.md +28 -0
- data/tracks/perl5/exercises/twelve-days/README.md +35 -0
- data/tracks/perl5/exercises/word-count/README.md +19 -0
- data/tracks/perl5/exercises/wordy/README.md +63 -0
- data/tracks/perl6/README.md +1 -1
- data/tracks/perl6/config/exercise_readme.go.tmpl +16 -0
- data/tracks/perl6/exercises/accumulate/README.md +50 -0
- data/tracks/perl6/exercises/all-your-base/README.md +50 -0
- data/tracks/perl6/exercises/allergies/README.md +52 -0
- data/tracks/perl6/exercises/anagram/README.md +28 -0
- data/tracks/perl6/exercises/atbash-cipher/README.md +49 -0
- data/tracks/perl6/exercises/binary/README.md +50 -0
- data/tracks/perl6/exercises/bob/README.md +33 -0
- data/tracks/perl6/exercises/clock/README.md +28 -0
- data/tracks/perl6/exercises/flatten-array/README.md +33 -0
- data/tracks/perl6/exercises/grade-school/README.md +57 -0
- data/tracks/perl6/exercises/grains/README.md +49 -0
- data/tracks/perl6/exercises/hello-world/README.md +36 -0
- data/tracks/perl6/exercises/leap/README.md +48 -0
- data/tracks/perl6/exercises/linked-list/README.md +49 -0
- data/tracks/perl6/exercises/linked-list/example.yaml +1 -1
- data/tracks/perl6/exercises/linked-list/linked-list.t +1 -1
- data/tracks/perl6/exercises/luhn/README.md +86 -0
- data/tracks/perl6/exercises/phone-number/README.md +49 -0
- data/tracks/perl6/exercises/raindrops/README.md +39 -0
- data/tracks/perl6/exercises/rna-transcription/README.md +40 -0
- data/tracks/perl6/exercises/robot-name/README.md +37 -0
- data/tracks/perl6/exercises/scrabble-score/README.md +59 -0
- data/tracks/perl6/exercises/space-age/README.md +39 -0
- data/tracks/perl6/exercises/trinary/README.md +43 -0
- data/tracks/perl6/exercises/word-count/README.md +34 -0
- data/tracks/perl6/exercises/wordy/README.md +78 -0
- data/tracks/php/config.json +156 -3
- data/tracks/php/config/exercise_readme.go.tmpl +16 -0
- data/tracks/php/exercises/accumulate/README.md +50 -0
- data/tracks/php/exercises/acronym/README.md +30 -0
- data/tracks/php/exercises/allergies/README.md +52 -0
- data/tracks/php/exercises/anagram/README.md +28 -0
- data/tracks/php/exercises/atbash-cipher/README.md +49 -0
- data/tracks/php/exercises/beer-song/README.md +342 -0
- data/tracks/php/exercises/binary-search/README.md +56 -0
- data/tracks/php/exercises/binary/README.md +50 -0
- data/tracks/php/exercises/bob/README.md +36 -0
- data/tracks/php/exercises/book-store/README.md +89 -0
- data/tracks/php/exercises/bowling/README.md +68 -0
- data/tracks/php/exercises/bracket-push/README.md +25 -0
- data/tracks/php/exercises/change/README.md +38 -0
- data/tracks/php/exercises/clock/README.md +28 -0
- data/tracks/php/exercises/connect/README.md +49 -0
- data/tracks/php/exercises/difference-of-squares/README.md +34 -0
- data/tracks/php/exercises/etl/README.md +66 -0
- data/tracks/php/exercises/gigasecond/README.md +26 -0
- data/tracks/php/exercises/grade-school/README.md +57 -0
- data/tracks/php/exercises/grains/README.md +49 -0
- data/tracks/php/exercises/hamming/README.md +57 -0
- data/tracks/php/exercises/hello-world/README.md +36 -0
- data/tracks/php/exercises/isogram/README.md +34 -0
- data/tracks/php/exercises/largest-series-product/README.md +35 -0
- data/tracks/php/exercises/leap/README.md +48 -0
- data/tracks/php/exercises/luhn/README.md +86 -0
- data/tracks/php/exercises/markdown/README.md +33 -0
- data/tracks/php/exercises/minesweeper/README.md +45 -0
- data/tracks/php/exercises/nth-prime/README.md +30 -0
- data/tracks/php/exercises/nucleotide-count/README.md +48 -0
- data/tracks/php/exercises/ocr-numbers/README.md +100 -0
- data/tracks/php/exercises/pangram/README.md +30 -0
- data/tracks/php/exercises/pascals-triangle/README.md +36 -0
- data/tracks/php/exercises/perfect-numbers/README.md +39 -0
- data/tracks/php/exercises/phone-number/README.md +49 -0
- data/tracks/php/exercises/pig-latin/README.md +39 -0
- data/tracks/php/exercises/prime-factors/README.md +51 -0
- data/tracks/php/exercises/queen-attack/README.md +48 -0
- data/tracks/php/exercises/raindrops/README.md +39 -0
- data/tracks/php/exercises/rna-transcription/README.md +40 -0
- data/tracks/php/exercises/robot-name/README.md +37 -0
- data/tracks/php/exercises/robot-simulator/README.md +49 -0
- data/tracks/php/exercises/roman-numerals/README.md +64 -0
- data/tracks/php/exercises/scrabble-score/README.md +59 -0
- data/tracks/php/exercises/sieve/README.md +49 -0
- data/tracks/php/exercises/space-age/README.md +39 -0
- data/tracks/php/exercises/sum-of-multiples/README.md +33 -0
- data/tracks/php/exercises/triangle/README.md +41 -0
- data/tracks/php/exercises/trinary/README.md +43 -0
- data/tracks/php/exercises/variable-length-quantity/README.md +54 -0
- data/tracks/php/exercises/word-count/README.md +34 -0
- data/tracks/php/exercises/wordy/README.md +78 -0
- data/tracks/rust/exercises/grains/tests/grains.rs +0 -1
- data/tracks/sml/config/exercise_readme.go.tmpl +16 -0
- data/tracks/sml/exercises/accumulate/README.md +49 -0
- data/tracks/sml/exercises/allergies/README.md +51 -0
- data/tracks/sml/exercises/anagram/README.md +27 -0
- data/tracks/sml/exercises/binary/README.md +49 -0
- data/tracks/sml/exercises/flatten-array/README.md +32 -0
- data/tracks/sml/exercises/hamming/README.md +56 -0
- data/tracks/sml/exercises/nth-prime/README.md +29 -0
- data/tracks/sml/exercises/raindrops/README.md +38 -0
- metadata +433 -4
- data/tracks/perl5/exercises/phone-number/cases.json +0 -44
- data/tracks/perl5/exercises/phone-number/phone.t +0 -43
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# Pascals Triangle
|
|
2
|
+
|
|
3
|
+
Compute Pascal's triangle up to a given number of rows.
|
|
4
|
+
|
|
5
|
+
In Pascal's Triangle each number is computed by adding the numbers to
|
|
6
|
+
the right and left of the current position in the previous row.
|
|
7
|
+
|
|
8
|
+
```plain
|
|
9
|
+
1
|
|
10
|
+
1 1
|
|
11
|
+
1 2 1
|
|
12
|
+
1 3 3 1
|
|
13
|
+
1 4 6 4 1
|
|
14
|
+
# ... etc
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
## Running the tests
|
|
18
|
+
|
|
19
|
+
To run the tests run the command `go test` from within the exercise directory.
|
|
20
|
+
|
|
21
|
+
If the test suite contains benchmarks, you can run these with the `-bench`
|
|
22
|
+
flag:
|
|
23
|
+
|
|
24
|
+
go test -bench .
|
|
25
|
+
|
|
26
|
+
Keep in mind that each reviewer will run benchmarks on a different machine, with
|
|
27
|
+
different specs, so the results from these benchmark tests may vary.
|
|
28
|
+
|
|
29
|
+
## Further information
|
|
30
|
+
|
|
31
|
+
For more detailed information about the Go track, including how to get help if
|
|
32
|
+
you're having trouble, please visit the exercism.io [Go language page](http://exercism.io/languages/go/about).
|
|
33
|
+
|
|
34
|
+
## Source
|
|
35
|
+
|
|
36
|
+
Pascal's Triangle at Wolfram Math World [http://mathworld.wolfram.com/PascalsTriangle.html](http://mathworld.wolfram.com/PascalsTriangle.html)
|
|
37
|
+
|
|
38
|
+
## Submitting Incomplete Solutions
|
|
39
|
+
It's possible to submit an incomplete solution so you can see how others have completed the exercise.
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
# Perfect Numbers
|
|
2
|
+
|
|
3
|
+
Determine if a number is perfect, abundant, or deficient based on
|
|
4
|
+
Nicomachus' (60 - 120 CE) classification scheme for natural numbers.
|
|
5
|
+
|
|
6
|
+
The Greek mathematician [Nicomachus](https://en.wikipedia.org/wiki/Nicomachus) devised a classification scheme for natural numbers, identifying each as belonging uniquely to the categories of **perfect**, **abundant**, or **deficient** based on their [aliquot sum](https://en.wikipedia.org/wiki/Aliquot_sum). The aliquot sum is defined as the sum of the factors of a number not including the number itself. For example, the aliquot sum of 15 is (1 + 3 + 5) = 9
|
|
7
|
+
|
|
8
|
+
- **Perfect**: aliquot sum = number
|
|
9
|
+
- 6 is a perfect number because (1 + 2 + 3) = 6
|
|
10
|
+
- 28 is a perfect number because (1 + 2 + 4 + 7 + 14) = 28
|
|
11
|
+
- **Abundant**: aliquot sum > number
|
|
12
|
+
- 12 is an abundant number because (1 + 2 + 3 + 4 + 6) = 16
|
|
13
|
+
- 24 is an abundant number because (1 + 2 + 3 + 4 + 6 + 8 + 12) = 36
|
|
14
|
+
- **Deficient**: aliquot sum < number
|
|
15
|
+
- 8 is a deficient number because (1 + 2 + 4) = 7
|
|
16
|
+
- Prime numbers are deficient
|
|
17
|
+
|
|
18
|
+
Implement a way to determine whether a given number is **perfect**. Depending on your language track, you may also need to implement a way to determine whether a given number is **abundant** or **deficient**.
|
|
19
|
+
|
|
20
|
+
## Running the tests
|
|
21
|
+
|
|
22
|
+
To run the tests run the command `go test` from within the exercise directory.
|
|
23
|
+
|
|
24
|
+
If the test suite contains benchmarks, you can run these with the `-bench`
|
|
25
|
+
flag:
|
|
26
|
+
|
|
27
|
+
go test -bench .
|
|
28
|
+
|
|
29
|
+
Keep in mind that each reviewer will run benchmarks on a different machine, with
|
|
30
|
+
different specs, so the results from these benchmark tests may vary.
|
|
31
|
+
|
|
32
|
+
## Further information
|
|
33
|
+
|
|
34
|
+
For more detailed information about the Go track, including how to get help if
|
|
35
|
+
you're having trouble, please visit the exercism.io [Go language page](http://exercism.io/languages/go/about).
|
|
36
|
+
|
|
37
|
+
## Source
|
|
38
|
+
|
|
39
|
+
Taken from Chapter 2 of Functional Thinking by Neal Ford. [http://shop.oreilly.com/product/0636920029687.do](http://shop.oreilly.com/product/0636920029687.do)
|
|
40
|
+
|
|
41
|
+
## Submitting Incomplete Solutions
|
|
42
|
+
It's possible to submit an incomplete solution so you can see how others have completed the exercise.
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
# Phone Number
|
|
2
|
+
|
|
3
|
+
Clean up user-entered phone numbers so that they can be sent SMS messages.
|
|
4
|
+
|
|
5
|
+
The **North American Numbering Plan (NANP)** is a telephone numbering system used by many countries in North America like the United States, Canada or Bermuda. All NANP-countries share the same international country code: `1`.
|
|
6
|
+
|
|
7
|
+
NANP numbers are ten-digit numbers consisting of a three-digit Numbering Plan Area code, commonly known as *area code*, followed by a seven-digit local number. The first three digits of the local number represent the *exchange code*, followed by the unique four-digit number which is the *subscriber number*.
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
The format is usually represented as
|
|
11
|
+
```
|
|
12
|
+
(NXX)-NXX-XXXX
|
|
13
|
+
```
|
|
14
|
+
where `N` is any digit from 2 through 9 and `X` is any digit from 0 through 9.
|
|
15
|
+
|
|
16
|
+
Your task is to clean up differently formated telephone numbers by removing punctuation and the country code (1) if present.
|
|
17
|
+
|
|
18
|
+
For example, the inputs
|
|
19
|
+
- `+1 (613)-995-0253`
|
|
20
|
+
- `613-995-0253`
|
|
21
|
+
- `1 613 995 0253`
|
|
22
|
+
- `613.995.0253`
|
|
23
|
+
|
|
24
|
+
should all produce the output
|
|
25
|
+
|
|
26
|
+
`6139950253`
|
|
27
|
+
|
|
28
|
+
**Note:** As this exercise only deals with telephone numbers used in NANP-countries, only 1 is considered a valid country code.
|
|
29
|
+
|
|
30
|
+
## Running the tests
|
|
31
|
+
|
|
32
|
+
To run the tests run the command `go test` from within the exercise directory.
|
|
33
|
+
|
|
34
|
+
If the test suite contains benchmarks, you can run these with the `-bench`
|
|
35
|
+
flag:
|
|
36
|
+
|
|
37
|
+
go test -bench .
|
|
38
|
+
|
|
39
|
+
Keep in mind that each reviewer will run benchmarks on a different machine, with
|
|
40
|
+
different specs, so the results from these benchmark tests may vary.
|
|
41
|
+
|
|
42
|
+
## Further information
|
|
43
|
+
|
|
44
|
+
For more detailed information about the Go track, including how to get help if
|
|
45
|
+
you're having trouble, please visit the exercism.io [Go language page](http://exercism.io/languages/go/about).
|
|
46
|
+
|
|
47
|
+
## Source
|
|
48
|
+
|
|
49
|
+
Event Manager by JumpstartLab [http://tutorials.jumpstartlab.com/projects/eventmanager.html](http://tutorials.jumpstartlab.com/projects/eventmanager.html)
|
|
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,42 @@
|
|
|
1
|
+
# Pig Latin
|
|
2
|
+
|
|
3
|
+
Implement a program that translates from English to Pig Latin.
|
|
4
|
+
|
|
5
|
+
Pig Latin is a made-up children's language that's intended to be
|
|
6
|
+
confusing. It obeys a few simple rules (below), but when it's spoken
|
|
7
|
+
quickly it's really difficult for non-children (and non-native speakers)
|
|
8
|
+
to understand.
|
|
9
|
+
|
|
10
|
+
- **Rule 1**: If a word begins with a vowel sound, add an "ay" sound to
|
|
11
|
+
the end of the word.
|
|
12
|
+
- **Rule 2**: If a word begins with a consonant sound, move it to the
|
|
13
|
+
end of the word, and then add an "ay" sound to the end of the word.
|
|
14
|
+
|
|
15
|
+
There are a few more rules for edge cases, and there are regional
|
|
16
|
+
variants too.
|
|
17
|
+
|
|
18
|
+
See <http://en.wikipedia.org/wiki/Pig_latin> for more details.
|
|
19
|
+
|
|
20
|
+
## Running the tests
|
|
21
|
+
|
|
22
|
+
To run the tests run the command `go test` from within the exercise directory.
|
|
23
|
+
|
|
24
|
+
If the test suite contains benchmarks, you can run these with the `-bench`
|
|
25
|
+
flag:
|
|
26
|
+
|
|
27
|
+
go test -bench .
|
|
28
|
+
|
|
29
|
+
Keep in mind that each reviewer will run benchmarks on a different machine, with
|
|
30
|
+
different specs, so the results from these benchmark tests may vary.
|
|
31
|
+
|
|
32
|
+
## Further information
|
|
33
|
+
|
|
34
|
+
For more detailed information about the Go track, including how to get help if
|
|
35
|
+
you're having trouble, please visit the exercism.io [Go language page](http://exercism.io/languages/go/about).
|
|
36
|
+
|
|
37
|
+
## Source
|
|
38
|
+
|
|
39
|
+
The Pig Latin exercise at Test First Teaching by Ultrasaurus [https://github.com/ultrasaurus/test-first-teaching/blob/master/learn_ruby/pig_latin/](https://github.com/ultrasaurus/test-first-teaching/blob/master/learn_ruby/pig_latin/)
|
|
40
|
+
|
|
41
|
+
## Submitting Incomplete Solutions
|
|
42
|
+
It's possible to submit an incomplete solution so you can see how others have completed the exercise.
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# Poker
|
|
2
|
+
|
|
3
|
+
Pick the best hand(s) from a list of poker hands.
|
|
4
|
+
|
|
5
|
+
See [wikipedia](https://en.wikipedia.org/wiki/List_of_poker_hands) for an
|
|
6
|
+
overview of poker hands.
|
|
7
|
+
|
|
8
|
+
## Running the tests
|
|
9
|
+
|
|
10
|
+
To run the tests run the command `go test` from within the exercise directory.
|
|
11
|
+
|
|
12
|
+
If the test suite contains benchmarks, you can run these with the `-bench`
|
|
13
|
+
flag:
|
|
14
|
+
|
|
15
|
+
go test -bench .
|
|
16
|
+
|
|
17
|
+
Keep in mind that each reviewer will run benchmarks on a different machine, with
|
|
18
|
+
different specs, so the results from these benchmark tests may vary.
|
|
19
|
+
|
|
20
|
+
## Further information
|
|
21
|
+
|
|
22
|
+
For more detailed information about the Go track, including how to get help if
|
|
23
|
+
you're having trouble, please visit the exercism.io [Go language page](http://exercism.io/languages/go/about).
|
|
24
|
+
|
|
25
|
+
## Source
|
|
26
|
+
|
|
27
|
+
Inspired by the training course from Udacity. [https://www.udacity.com/course/viewer#!/c-cs212/](https://www.udacity.com/course/viewer#!/c-cs212/)
|
|
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,64 @@
|
|
|
1
|
+
# Pov
|
|
2
|
+
|
|
3
|
+
Reparent a graph on a selected node.
|
|
4
|
+
|
|
5
|
+
# Tree Reparenting
|
|
6
|
+
|
|
7
|
+
This exercise is all about re-orientating a graph to see things from a different
|
|
8
|
+
point of view. For example family trees are usually presented from the
|
|
9
|
+
ancestor's perspective:
|
|
10
|
+
|
|
11
|
+
```
|
|
12
|
+
+------0------+
|
|
13
|
+
| | |
|
|
14
|
+
+-1-+ +-2-+ +-3-+
|
|
15
|
+
| | | | | |
|
|
16
|
+
4 5 6 7 8 9
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
But the same information can be presented from the perspective of any other node
|
|
20
|
+
in the graph, by pulling it up to the root and dragging its relationships along
|
|
21
|
+
with it. So the same graph from 6's perspective would look like:
|
|
22
|
+
|
|
23
|
+
```
|
|
24
|
+
6
|
|
25
|
+
|
|
|
26
|
+
+-----2-----+
|
|
27
|
+
| |
|
|
28
|
+
7 +-----0-----+
|
|
29
|
+
| |
|
|
30
|
+
+-1-+ +-3-+
|
|
31
|
+
| | | |
|
|
32
|
+
4 5 8 9
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
This lets us more simply describe the paths between two nodes. So for example
|
|
36
|
+
the path from 6-9 (which in the first graph goes up to the root and then down to
|
|
37
|
+
a different leaf node) can be seen to follow the path 6-2-0-3-9
|
|
38
|
+
|
|
39
|
+
This exercise involves taking an input graph and re-orientating it from the point
|
|
40
|
+
of view of one of the nodes.
|
|
41
|
+
|
|
42
|
+
## Running the tests
|
|
43
|
+
|
|
44
|
+
To run the tests run the command `go test` from within the exercise directory.
|
|
45
|
+
|
|
46
|
+
If the test suite contains benchmarks, you can run these with the `-bench`
|
|
47
|
+
flag:
|
|
48
|
+
|
|
49
|
+
go test -bench .
|
|
50
|
+
|
|
51
|
+
Keep in mind that each reviewer will run benchmarks on a different machine, with
|
|
52
|
+
different specs, so the results from these benchmark tests may vary.
|
|
53
|
+
|
|
54
|
+
## Further information
|
|
55
|
+
|
|
56
|
+
For more detailed information about the Go track, including how to get help if
|
|
57
|
+
you're having trouble, please visit the exercism.io [Go language page](http://exercism.io/languages/go/about).
|
|
58
|
+
|
|
59
|
+
## Source
|
|
60
|
+
|
|
61
|
+
Adaptation of exercise from 4clojure [https://www.4clojure.com/](https://www.4clojure.com/)
|
|
62
|
+
|
|
63
|
+
## Submitting Incomplete Solutions
|
|
64
|
+
It's possible to submit an incomplete solution so you can see how others have completed the exercise.
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
# Prime Factors
|
|
2
|
+
|
|
3
|
+
Compute the prime factors of a given natural number.
|
|
4
|
+
|
|
5
|
+
A prime number is only evenly divisible by itself and 1.
|
|
6
|
+
|
|
7
|
+
Note that 1 is not a prime number.
|
|
8
|
+
|
|
9
|
+
## Example
|
|
10
|
+
|
|
11
|
+
What are the prime factors of 60?
|
|
12
|
+
|
|
13
|
+
- Our first divisor is 2. 2 goes into 60, leaving 30.
|
|
14
|
+
- 2 goes into 30, leaving 15.
|
|
15
|
+
- 2 doesn't go cleanly into 15. So let's move on to our next divisor, 3.
|
|
16
|
+
- 3 goes cleanly into 15, leaving 5.
|
|
17
|
+
- 3 does not go cleanly into 5. The next possible factor is 4.
|
|
18
|
+
- 4 does not go cleanly into 5. The next possible factor is 5.
|
|
19
|
+
- 5 does go cleanly into 5.
|
|
20
|
+
- We're left only with 1, so now, we're done.
|
|
21
|
+
|
|
22
|
+
Our successful divisors in that computation represent the list of prime
|
|
23
|
+
factors of 60: 2, 2, 3, and 5.
|
|
24
|
+
|
|
25
|
+
You can check this yourself:
|
|
26
|
+
|
|
27
|
+
- 2 * 2 * 3 * 5
|
|
28
|
+
- = 4 * 15
|
|
29
|
+
- = 60
|
|
30
|
+
- Success!
|
|
31
|
+
|
|
32
|
+
## Running the tests
|
|
33
|
+
|
|
34
|
+
To run the tests run the command `go test` from within the exercise directory.
|
|
35
|
+
|
|
36
|
+
If the test suite contains benchmarks, you can run these with the `-bench`
|
|
37
|
+
flag:
|
|
38
|
+
|
|
39
|
+
go test -bench .
|
|
40
|
+
|
|
41
|
+
Keep in mind that each reviewer will run benchmarks on a different machine, with
|
|
42
|
+
different specs, so the results from these benchmark tests may vary.
|
|
43
|
+
|
|
44
|
+
## Further information
|
|
45
|
+
|
|
46
|
+
For more detailed information about the Go track, including how to get help if
|
|
47
|
+
you're having trouble, please visit the exercism.io [Go language page](http://exercism.io/languages/go/about).
|
|
48
|
+
|
|
49
|
+
## Source
|
|
50
|
+
|
|
51
|
+
The Prime Factors Kata by Uncle Bob [http://butunclebob.com/ArticleS.UncleBob.ThePrimeFactorsKata](http://butunclebob.com/ArticleS.UncleBob.ThePrimeFactorsKata)
|
|
52
|
+
|
|
53
|
+
## Submitting Incomplete Solutions
|
|
54
|
+
It's possible to submit an incomplete solution so you can see how others have completed the exercise.
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
# Protein Translation
|
|
2
|
+
|
|
3
|
+
Translate RNA sequences into proteins.
|
|
4
|
+
|
|
5
|
+
RNA can be broken into three nucleotide sequences called codons, and then translated to a polypeptide like so:
|
|
6
|
+
|
|
7
|
+
RNA: `"AUGUUUUCU"` => translates to
|
|
8
|
+
|
|
9
|
+
Codons: `"AUG", "UUU", "UCU"`
|
|
10
|
+
=> which become a polypeptide with the following sequence =>
|
|
11
|
+
|
|
12
|
+
Protein: `"Methionine", "Phenylalanine", "Serine"`
|
|
13
|
+
|
|
14
|
+
There are 64 codons which in turn correspond to 20 amino acids; however, all of the codon sequences and resulting amino acids are not important in this exercise. If it works for one codon, the program should work for all of them.
|
|
15
|
+
However, feel free to expand the list in the test suite to include them all.
|
|
16
|
+
|
|
17
|
+
There are also four terminating codons (also known as 'STOP' codons); if any of these codons are encountered (by the ribosome), all translation ends and the protein is terminated.
|
|
18
|
+
|
|
19
|
+
All subsequent codons after are ignored, like this:
|
|
20
|
+
|
|
21
|
+
RNA: `"AUGUUUUCUUAAAUG"` =>
|
|
22
|
+
|
|
23
|
+
Codons: `"AUG", "UUU", "UCU", "UAG", "AUG"` =>
|
|
24
|
+
|
|
25
|
+
Protein: `"Methionine", "Phenylalanine", "Serine"`
|
|
26
|
+
|
|
27
|
+
Note the stop codon terminates the translation and the final methionine is not translated into the protein sequence.
|
|
28
|
+
|
|
29
|
+
Below are the codons and resulting Amino Acids needed for the exercise.
|
|
30
|
+
|
|
31
|
+
Codon | Protein
|
|
32
|
+
:--- | :---
|
|
33
|
+
AUG | Methionine
|
|
34
|
+
UUU, UUC | Phenylalanine
|
|
35
|
+
UUA, UUG | Leucine
|
|
36
|
+
UCU, UCC, UCA, UCG | Serine
|
|
37
|
+
UAU, UAC | Tyrosine
|
|
38
|
+
UGU, UGC | Cysteine
|
|
39
|
+
UGG | Tryptophan
|
|
40
|
+
UAA, UAG, UGA | STOP
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
Learn more about [protein translation on Wikipedia](http://en.wikipedia.org/wiki/Translation_(biology))
|
|
44
|
+
|
|
45
|
+
## Running the tests
|
|
46
|
+
|
|
47
|
+
To run the tests run the command `go test` from within the exercise directory.
|
|
48
|
+
|
|
49
|
+
If the test suite contains benchmarks, you can run these with the `-bench`
|
|
50
|
+
flag:
|
|
51
|
+
|
|
52
|
+
go test -bench .
|
|
53
|
+
|
|
54
|
+
Keep in mind that each reviewer will run benchmarks on a different machine, with
|
|
55
|
+
different specs, so the results from these benchmark tests may vary.
|
|
56
|
+
|
|
57
|
+
## Further information
|
|
58
|
+
|
|
59
|
+
For more detailed information about the Go track, including how to get help if
|
|
60
|
+
you're having trouble, please visit the exercism.io [Go language page](http://exercism.io/languages/go/about).
|
|
61
|
+
|
|
62
|
+
## Source
|
|
63
|
+
|
|
64
|
+
Tyler Long
|
|
65
|
+
|
|
66
|
+
## Submitting Incomplete Solutions
|
|
67
|
+
It's possible to submit an incomplete solution so you can see how others have completed the exercise.
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
# Pythagorean Triplet
|
|
2
|
+
|
|
3
|
+
A Pythagorean triplet is a set of three natural numbers, {a, b, c}, for
|
|
4
|
+
which,
|
|
5
|
+
|
|
6
|
+
```
|
|
7
|
+
a**2 + b**2 = c**2
|
|
8
|
+
```
|
|
9
|
+
|
|
10
|
+
For example,
|
|
11
|
+
|
|
12
|
+
```
|
|
13
|
+
3**2 + 4**2 = 9 + 16 = 25 = 5**2.
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
There exists exactly one Pythagorean triplet for which a + b + c = 1000.
|
|
17
|
+
|
|
18
|
+
Find the product a * b * c.
|
|
19
|
+
|
|
20
|
+
## Running the tests
|
|
21
|
+
|
|
22
|
+
To run the tests run the command `go test` from within the exercise directory.
|
|
23
|
+
|
|
24
|
+
If the test suite contains benchmarks, you can run these with the `-bench`
|
|
25
|
+
flag:
|
|
26
|
+
|
|
27
|
+
go test -bench .
|
|
28
|
+
|
|
29
|
+
Keep in mind that each reviewer will run benchmarks on a different machine, with
|
|
30
|
+
different specs, so the results from these benchmark tests may vary.
|
|
31
|
+
|
|
32
|
+
## Further information
|
|
33
|
+
|
|
34
|
+
For more detailed information about the Go track, including how to get help if
|
|
35
|
+
you're having trouble, please visit the exercism.io [Go language page](http://exercism.io/languages/go/about).
|
|
36
|
+
|
|
37
|
+
## Source
|
|
38
|
+
|
|
39
|
+
Problem 9 at Project Euler [http://projecteuler.net/problem=9](http://projecteuler.net/problem=9)
|
|
40
|
+
|
|
41
|
+
## Submitting Incomplete Solutions
|
|
42
|
+
It's possible to submit an incomplete solution so you can see how others have completed the exercise.
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
# Queen Attack
|
|
2
|
+
|
|
3
|
+
Given the position of two queens on a chess board, indicate whether or not they
|
|
4
|
+
are positioned so that they can attack each other.
|
|
5
|
+
|
|
6
|
+
In the game of chess, a queen can attack pieces which are on the same
|
|
7
|
+
row, column, or diagonal.
|
|
8
|
+
|
|
9
|
+
A chessboard can be represented by an 8 by 8 array.
|
|
10
|
+
|
|
11
|
+
So if you're told the white queen is at (2, 3) and the black queen at
|
|
12
|
+
(5, 6), then you'd know you've got a set-up like so:
|
|
13
|
+
|
|
14
|
+
```plain
|
|
15
|
+
_ _ _ _ _ _ _ _
|
|
16
|
+
_ _ _ _ _ _ _ _
|
|
17
|
+
_ _ _ W _ _ _ _
|
|
18
|
+
_ _ _ _ _ _ _ _
|
|
19
|
+
_ _ _ _ _ _ _ _
|
|
20
|
+
_ _ _ _ _ _ B _
|
|
21
|
+
_ _ _ _ _ _ _ _
|
|
22
|
+
_ _ _ _ _ _ _ _
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
You'd also be able to answer whether the queens can attack each other.
|
|
26
|
+
In this case, that answer would be yes, they can, because both pieces
|
|
27
|
+
share a diagonal.
|
|
28
|
+
|
|
29
|
+
## Running the tests
|
|
30
|
+
|
|
31
|
+
To run the tests run the command `go test` from within the exercise directory.
|
|
32
|
+
|
|
33
|
+
If the test suite contains benchmarks, you can run these with the `-bench`
|
|
34
|
+
flag:
|
|
35
|
+
|
|
36
|
+
go test -bench .
|
|
37
|
+
|
|
38
|
+
Keep in mind that each reviewer will run benchmarks on a different machine, with
|
|
39
|
+
different specs, so the results from these benchmark tests may vary.
|
|
40
|
+
|
|
41
|
+
## Further information
|
|
42
|
+
|
|
43
|
+
For more detailed information about the Go track, including how to get help if
|
|
44
|
+
you're having trouble, please visit the exercism.io [Go language page](http://exercism.io/languages/go/about).
|
|
45
|
+
|
|
46
|
+
## Source
|
|
47
|
+
|
|
48
|
+
J Dalbey's Programming Practice problems [http://users.csc.calpoly.edu/~jdalbey/103/Projects/ProgrammingPractice.html](http://users.csc.calpoly.edu/~jdalbey/103/Projects/ProgrammingPractice.html)
|
|
49
|
+
|
|
50
|
+
## Submitting Incomplete Solutions
|
|
51
|
+
It's possible to submit an incomplete solution so you can see how others have completed the exercise.
|