trackler 2.2.1.4 → 2.2.1.5
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/tracks/bash/config.json +10 -0
- data/tracks/bash/exercises/error-handling/error_handling_test.sh +31 -0
- data/tracks/bash/exercises/error-handling/example.sh +9 -0
- data/tracks/ceylon/config/maintainers.json +25 -0
- data/tracks/chapel/README.md +1 -1
- data/tracks/chapel/config/exercise_readme.go.tmpl +16 -0
- data/tracks/chapel/config/maintainers.json +5 -0
- data/tracks/chapel/config.json +0 -5
- data/tracks/coffeescript/config/exercise_readme.go.tmpl +16 -0
- data/tracks/coffeescript/config.json +84 -26
- data/tracks/coffeescript/exercises/accumulate/README.md +43 -0
- data/tracks/coffeescript/exercises/anagram/README.md +21 -0
- data/tracks/coffeescript/exercises/atbash-cipher/README.md +42 -0
- data/tracks/coffeescript/exercises/beer-song/README.md +335 -0
- data/tracks/coffeescript/exercises/binary/README.md +43 -0
- data/tracks/coffeescript/exercises/binary-search-tree/README.md +68 -0
- data/tracks/coffeescript/exercises/bob/README.md +26 -0
- data/tracks/coffeescript/exercises/clock/README.md +21 -0
- data/tracks/coffeescript/exercises/hello-world/README.md +29 -0
- data/tracks/coffeescript/exercises/hexadecimal/README.md +22 -0
- data/tracks/coffeescript/exercises/linked-list/README.md +42 -0
- data/tracks/coffeescript/exercises/luhn/README.md +79 -0
- data/tracks/coffeescript/exercises/nth-prime/README.md +23 -0
- data/tracks/coffeescript/exercises/nucleotide-count/README.md +41 -0
- data/tracks/coffeescript/exercises/palindrome-products/README.md +48 -0
- data/tracks/coffeescript/exercises/pascals-triangle/README.md +29 -0
- data/tracks/coffeescript/exercises/queen-attack/README.md +41 -0
- data/tracks/coffeescript/exercises/triangle/README.md +34 -0
- data/tracks/coffeescript/exercises/trinary/README.md +36 -0
- data/tracks/coffeescript/exercises/word-count/README.md +27 -0
- data/tracks/coffeescript/exercises/wordy/README.md +71 -0
- data/tracks/coldfusion/config/exercise_readme.go.tmpl +16 -0
- data/tracks/coldfusion/config.json +4 -6
- data/tracks/coldfusion/exercises/leap/README.md +33 -0
- data/tracks/coq/README.md +19 -32
- data/tracks/coq/config/exercise_readme.go.tmpl +16 -0
- data/tracks/coq/config.json +9 -5
- data/tracks/coq/exercises/hello-world/README.md +45 -0
- data/tracks/coq/exercises/rna-transcription/README.md +49 -0
- data/tracks/coq/exercises/tautology/README.md +33 -0
- data/tracks/cpp/config/exercise_readme.go.tmpl +16 -0
- data/tracks/cpp/config.json +144 -41
- data/tracks/cpp/exercises/allergies/README.md +69 -0
- data/tracks/cpp/exercises/anagram/README.md +45 -0
- data/tracks/cpp/exercises/atbash-cipher/README.md +66 -0
- data/tracks/cpp/exercises/beer-song/README.md +359 -0
- data/tracks/cpp/exercises/binary/README.md +67 -0
- data/tracks/cpp/exercises/bob/README.md +50 -0
- data/tracks/cpp/exercises/clock/README.md +45 -0
- data/tracks/cpp/exercises/crypto-square/README.md +106 -0
- data/tracks/cpp/exercises/difference-of-squares/README.md +51 -0
- data/tracks/cpp/exercises/etl/README.md +83 -0
- data/tracks/cpp/exercises/food-chain/README.md +102 -0
- data/tracks/cpp/exercises/gigasecond/README.md +43 -0
- data/tracks/cpp/exercises/grade-school/README.md +74 -0
- data/tracks/cpp/exercises/grains/README.md +66 -0
- data/tracks/cpp/exercises/hamming/README.md +74 -0
- data/tracks/cpp/exercises/hello-world/README.md +53 -0
- data/tracks/cpp/exercises/hexadecimal/README.md +46 -0
- data/tracks/cpp/exercises/leap/README.md +65 -0
- data/tracks/cpp/exercises/meetup/README.md +62 -0
- data/tracks/cpp/exercises/nth-prime/README.md +47 -0
- data/tracks/cpp/exercises/nucleotide-count/README.md +65 -0
- data/tracks/cpp/exercises/phone-number/README.md +66 -0
- data/tracks/cpp/exercises/prime-factors/README.md +68 -0
- data/tracks/cpp/exercises/queen-attack/README.md +65 -0
- data/tracks/cpp/exercises/raindrops/README.md +56 -0
- data/tracks/cpp/exercises/rna-transcription/README.md +57 -0
- data/tracks/cpp/exercises/robot-name/README.md +54 -0
- data/tracks/cpp/exercises/roman-numerals/README.md +81 -0
- data/tracks/cpp/exercises/say/README.md +101 -0
- data/tracks/cpp/exercises/scrabble-score/README.md +76 -0
- data/tracks/cpp/exercises/series/README.md +59 -0
- data/tracks/cpp/exercises/sieve/README.md +66 -0
- data/tracks/cpp/exercises/space-age/README.md +56 -0
- data/tracks/cpp/exercises/sum-of-multiples/README.md +50 -0
- data/tracks/cpp/exercises/triangle/README.md +58 -0
- data/tracks/cpp/exercises/trinary/README.md +60 -0
- data/tracks/cpp/exercises/word-count/README.md +51 -0
- data/tracks/crystal/config.json +69 -3
- data/tracks/d/config/exercise_readme.go.tmpl +16 -0
- data/tracks/d/config.json +54 -3
- data/tracks/d/exercises/bob/README.md +49 -0
- data/tracks/d/exercises/circular-buffer/README.md +81 -0
- data/tracks/d/exercises/crypto-square/README.md +105 -0
- data/tracks/d/exercises/difference-of-squares/README.md +50 -0
- data/tracks/d/exercises/etl/README.md +82 -0
- data/tracks/d/exercises/gigasecond/README.md +42 -0
- data/tracks/d/exercises/hamming/README.md +73 -0
- data/tracks/d/exercises/hello-world/README.md +52 -0
- data/tracks/d/exercises/leap/README.md +64 -0
- data/tracks/d/exercises/nucleotide-count/README.md +64 -0
- data/tracks/d/exercises/pangram/README.md +46 -0
- data/tracks/d/exercises/raindrops/README.md +55 -0
- data/tracks/d/exercises/react/README.md +50 -0
- data/tracks/d/exercises/rna-transcription/README.md +56 -0
- data/tracks/d/exercises/robot-name/README.md +53 -0
- data/tracks/d/exercises/roman-numerals/README.md +80 -0
- data/tracks/d/exercises/series/README.md +58 -0
- data/tracks/d/exercises/triangle/README.md +57 -0
- data/tracks/delphi/config/maintainers.json +25 -0
- data/tracks/ecmascript/config/maintainers.json +35 -0
- data/tracks/elisp/config/exercise_readme.go.tmpl +16 -0
- data/tracks/elisp/config.json +79 -22
- data/tracks/elisp/exercises/allergies/README.md +37 -0
- data/tracks/elisp/exercises/anagram/README.md +13 -0
- data/tracks/elisp/exercises/atbash-cipher/README.md +34 -0
- data/tracks/elisp/exercises/binary/README.md +35 -0
- data/tracks/elisp/exercises/bob/README.md +18 -0
- data/tracks/elisp/exercises/difference-of-squares/README.md +19 -0
- data/tracks/elisp/exercises/etl/README.md +51 -0
- data/tracks/elisp/exercises/gigasecond/README.md +11 -0
- data/tracks/elisp/exercises/grains/README.md +34 -0
- data/tracks/elisp/exercises/hamming/README.md +42 -0
- data/tracks/elisp/exercises/hello-world/README.md +21 -0
- data/tracks/elisp/exercises/leap/README.md +33 -0
- data/tracks/elisp/exercises/nucleotide-count/README.md +33 -0
- data/tracks/elisp/exercises/perfect-numbers/README.md +24 -0
- data/tracks/elisp/exercises/phone-number/README.md +34 -0
- data/tracks/elisp/exercises/raindrops/README.md +24 -0
- data/tracks/elisp/exercises/rna-transcription/README.md +25 -0
- data/tracks/elisp/exercises/robot-name/README.md +22 -0
- data/tracks/elisp/exercises/roman-numerals/README.md +49 -0
- data/tracks/elisp/exercises/word-count/README.md +19 -0
- data/tracks/elixir/config/maintainers.json +35 -0
- data/tracks/elm/config/exercise_readme.go.tmpl +16 -0
- data/tracks/elm/config.json +96 -5
- data/tracks/elm/exercises/accumulate/README.md +65 -0
- data/tracks/elm/exercises/allergies/README.md +67 -0
- data/tracks/elm/exercises/anagram/README.md +43 -0
- data/tracks/elm/exercises/atbash-cipher/README.md +64 -0
- data/tracks/elm/exercises/bob/README.md +48 -0
- data/tracks/elm/exercises/difference-of-squares/README.md +49 -0
- data/tracks/elm/exercises/etl/README.md +81 -0
- data/tracks/elm/exercises/gigasecond/README.md +41 -0
- data/tracks/elm/exercises/grade-school/README.md +72 -0
- data/tracks/elm/exercises/grains/README.md +64 -0
- data/tracks/elm/exercises/hamming/README.md +72 -0
- data/tracks/elm/exercises/hello-world/README.md +51 -0
- data/tracks/elm/exercises/largest-series-product/README.md +50 -0
- data/tracks/elm/exercises/leap/README.md +63 -0
- data/tracks/elm/exercises/list-ops/README.md +40 -0
- data/tracks/elm/exercises/nucleotide-count/README.md +63 -0
- data/tracks/elm/exercises/pangram/README.md +45 -0
- data/tracks/elm/exercises/phone-number/README.md +64 -0
- data/tracks/elm/exercises/raindrops/README.md +54 -0
- data/tracks/elm/exercises/rna-transcription/README.md +55 -0
- data/tracks/elm/exercises/robot-simulator/README.md +64 -0
- data/tracks/elm/exercises/roman-numerals/README.md +79 -0
- data/tracks/elm/exercises/run-length-encoding/README.md +60 -0
- data/tracks/elm/exercises/say/README.md +99 -0
- data/tracks/elm/exercises/scrabble-score/README.md +74 -0
- data/tracks/elm/exercises/series/README.md +57 -0
- data/tracks/elm/exercises/space-age/README.md +54 -0
- data/tracks/elm/exercises/strain/README.md +70 -0
- data/tracks/elm/exercises/sublist/README.md +51 -0
- data/tracks/elm/exercises/sum-of-multiples/README.md +48 -0
- data/tracks/elm/exercises/triangle/README.md +56 -0
- data/tracks/elm/exercises/word-count/README.md +49 -0
- data/tracks/fortran/config/exercise_readme.go.tmpl +16 -0
- data/tracks/fortran/config.json +21 -5
- data/tracks/fortran/exercises/bob/README.md +18 -0
- data/tracks/fortran/exercises/difference-of-squares/README.md +19 -0
- data/tracks/fortran/exercises/hamming/README.md +42 -0
- data/tracks/fortran/exercises/hello-world/README.md +21 -0
- data/tracks/fortran/exercises/pangram/README.md +15 -0
- data/tracks/fortran/exercises/raindrops/README.md +24 -0
- data/tracks/fortran/exercises/rna-transcription/README.md +25 -0
- data/tracks/go/config/maintainers.json +85 -0
- data/tracks/go/config.json +2 -2
- data/tracks/groovy/config/exercise_readme.go.tmpl +16 -0
- data/tracks/groovy/exercises/difference-of-squares/README.md +33 -0
- data/tracks/groovy/exercises/gigasecond/README.md +25 -0
- data/tracks/groovy/exercises/grains/README.md +48 -0
- data/tracks/groovy/exercises/hamming/README.md +56 -0
- data/tracks/groovy/exercises/hello-world/README.md +35 -0
- data/tracks/groovy/exercises/leap/README.md +47 -0
- data/tracks/groovy/exercises/nth-prime/README.md +29 -0
- data/tracks/groovy/exercises/phone-number/README.md +48 -0
- data/tracks/groovy/exercises/raindrops/README.md +38 -0
- data/tracks/groovy/exercises/rna-transcription/README.md +39 -0
- data/tracks/groovy/exercises/robot-name/README.md +36 -0
- data/tracks/groovy/exercises/roman-numerals/README.md +63 -0
- data/tracks/groovy/exercises/word-count/README.md +33 -0
- data/tracks/haxe/config/exercise_readme.go.tmpl +16 -0
- data/tracks/haxe/config.json +0 -2
- data/tracks/haxe/exercises/bob/README.md +18 -0
- data/tracks/haxe/exercises/hello-world/README.md +21 -0
- data/tracks/idris/config/exercise_readme.go.tmpl +16 -0
- data/tracks/idris/config.json +9 -3
- data/tracks/idris/exercises/hamming/README.md +42 -0
- data/tracks/idris/exercises/hello-world/README.md +21 -0
- data/tracks/idris/exercises/leap/README.md +33 -0
- data/tracks/java/config/maintainers.json +45 -0
- data/tracks/java/exercises/hello-world/TUTORIAL.md +1 -1
- data/tracks/javascript/config/maintainers.json +85 -0
- data/tracks/julia/config/exercise_readme.go.tmpl +16 -0
- data/tracks/julia/config.json +81 -5
- data/tracks/julia/exercises/anagram/README.md +13 -0
- data/tracks/julia/exercises/atbash-cipher/README.md +34 -0
- data/tracks/julia/exercises/bob/README.md +18 -0
- data/tracks/julia/exercises/complex-numbers/README.md +24 -0
- data/tracks/julia/exercises/custom-set/README.md +16 -0
- data/tracks/julia/exercises/difference-of-squares/README.md +19 -0
- data/tracks/julia/exercises/etl/README.md +51 -0
- data/tracks/julia/exercises/gigasecond/README.md +11 -0
- data/tracks/julia/exercises/hamming/README.md +42 -0
- data/tracks/julia/exercises/hello-world/README.md +21 -0
- data/tracks/julia/exercises/isogram/README.md +19 -0
- data/tracks/julia/exercises/leap/README.md +33 -0
- data/tracks/julia/exercises/luhn/README.md +71 -0
- data/tracks/julia/exercises/nucleotide-count/README.md +33 -0
- data/tracks/julia/exercises/pangram/README.md +15 -0
- data/tracks/julia/exercises/pascals-triangle/README.md +21 -0
- data/tracks/julia/exercises/raindrops/README.md +24 -0
- data/tracks/julia/exercises/rna-transcription/README.md +25 -0
- data/tracks/julia/exercises/robot-name/README.md +41 -0
- data/tracks/julia/exercises/roman-numerals/README.md +49 -0
- data/tracks/julia/exercises/rotational-cipher/README.md +59 -0
- data/tracks/julia/exercises/scrabble-score/README.md +44 -0
- data/tracks/julia/exercises/secret-handshake/README.md +35 -0
- data/tracks/julia/exercises/sieve/README.md +34 -0
- data/tracks/julia/exercises/transpose/README.md +65 -0
- data/tracks/julia/exercises/trinary/README.md +28 -0
- data/tracks/julia/exercises/word-count/README.md +19 -0
- data/tracks/lfe/config/exercise_readme.go.tmpl +16 -0
- data/tracks/lfe/config.json +125 -33
- data/tracks/lfe/exercises/accumulate/README.md +51 -0
- data/tracks/lfe/exercises/allergies/README.md +53 -0
- data/tracks/lfe/exercises/anagram/README.md +29 -0
- data/tracks/lfe/exercises/atbash-cipher/README.md +50 -0
- data/tracks/lfe/exercises/bank-account/README.md +46 -0
- data/tracks/lfe/exercises/beer-song/README.md +343 -0
- data/tracks/lfe/exercises/binary/README.md +51 -0
- data/tracks/lfe/exercises/bob/README.md +34 -0
- data/tracks/lfe/exercises/circular-buffer/README.md +66 -0
- data/tracks/lfe/exercises/clock/README.md +29 -0
- data/tracks/lfe/exercises/difference-of-squares/README.md +35 -0
- data/tracks/lfe/exercises/etl/README.md +67 -0
- data/tracks/lfe/exercises/gigasecond/README.md +27 -0
- data/tracks/lfe/exercises/grade-school/README.md +58 -0
- data/tracks/lfe/exercises/grains/README.md +50 -0
- data/tracks/lfe/exercises/hamming/README.md +58 -0
- data/tracks/lfe/exercises/largest-series-product/README.md +36 -0
- data/tracks/lfe/exercises/leap/README.md +49 -0
- data/tracks/lfe/exercises/luhn/README.md +87 -0
- data/tracks/lfe/exercises/meetup/README.md +46 -0
- data/tracks/lfe/exercises/nucleotide-count/README.md +49 -0
- data/tracks/lfe/exercises/parallel-letter-frequency/README.md +27 -0
- data/tracks/lfe/exercises/phone-number/README.md +50 -0
- data/tracks/lfe/exercises/rna-transcription/README.md +41 -0
- data/tracks/lfe/exercises/robot-simulator/README.md +50 -0
- data/tracks/lfe/exercises/series/README.md +43 -0
- data/tracks/lfe/exercises/space-age/README.md +40 -0
- data/tracks/lfe/exercises/strain/README.md +56 -0
- data/tracks/lfe/exercises/sum-of-multiples/README.md +34 -0
- data/tracks/lfe/exercises/trinary/README.md +44 -0
- data/tracks/lfe/exercises/word-count/README.md +35 -0
- data/tracks/lua/config/maintainers.json +35 -0
- data/tracks/lua/config.json +225 -3
- data/tracks/nasm/config/exercise_readme.go.tmpl +16 -0
- data/tracks/nasm/config.json +0 -5
- data/tracks/nim/config/exercise_readme.go.tmpl +16 -0
- data/tracks/nim/config.json +56 -19
- data/tracks/nim/exercises/anagram/README.md +13 -0
- data/tracks/nim/exercises/binary/README.md +35 -0
- data/tracks/nim/exercises/bob/README.md +18 -0
- data/tracks/nim/exercises/difference-of-squares/README.md +19 -0
- data/tracks/nim/exercises/hamming/README.md +42 -0
- data/tracks/nim/exercises/hello-world/README.md +21 -0
- data/tracks/nim/exercises/leap/README.md +33 -0
- data/tracks/nim/exercises/nucleotide-count/README.md +33 -0
- data/tracks/nim/exercises/queen-attack/README.md +33 -0
- data/tracks/nim/exercises/raindrops/README.md +24 -0
- data/tracks/nim/exercises/react/README.md +19 -0
- data/tracks/nim/exercises/rna-transcription/README.md +25 -0
- data/tracks/nim/exercises/triangle/README.md +26 -0
- data/tracks/nim/exercises/word-count/README.md +19 -0
- data/tracks/objective-c/config/exercise_readme.go.tmpl +16 -0
- data/tracks/objective-c/config/maintainers.json +35 -0
- data/tracks/objective-c/config.json +168 -47
- data/tracks/objective-c/exercises/acronym/README.md +32 -0
- data/tracks/objective-c/exercises/all-your-base/README.md +52 -0
- data/tracks/objective-c/exercises/allergies/README.md +54 -0
- data/tracks/objective-c/exercises/anagram/README.md +30 -0
- data/tracks/objective-c/exercises/atbash-cipher/README.md +51 -0
- data/tracks/objective-c/exercises/beer-song/README.md +344 -0
- data/tracks/objective-c/exercises/binary-search/README.md +58 -0
- data/tracks/objective-c/exercises/bob/README.md +35 -0
- data/tracks/objective-c/exercises/bracket-push/README.md +27 -0
- data/tracks/objective-c/exercises/clock/README.md +30 -0
- data/tracks/objective-c/exercises/crypto-square/README.md +91 -0
- data/tracks/objective-c/exercises/difference-of-squares/README.md +36 -0
- data/tracks/objective-c/exercises/etl/README.md +68 -0
- data/tracks/objective-c/exercises/flatten-array/README.md +35 -0
- data/tracks/objective-c/exercises/gigasecond/README.md +28 -0
- data/tracks/objective-c/exercises/grade-school/README.md +59 -0
- data/tracks/objective-c/exercises/hamming/README.md +59 -0
- data/tracks/objective-c/exercises/hello-world/README.md +38 -0
- data/tracks/objective-c/exercises/isogram/README.md +36 -0
- data/tracks/objective-c/exercises/largest-series-product/README.md +37 -0
- data/tracks/objective-c/exercises/leap/README.md +50 -0
- data/tracks/objective-c/exercises/luhn/README.md +88 -0
- data/tracks/objective-c/exercises/meetup/README.md +47 -0
- data/tracks/objective-c/exercises/nucleotide-count/README.md +50 -0
- data/tracks/objective-c/exercises/pangram/README.md +32 -0
- data/tracks/objective-c/exercises/pascals-triangle/README.md +38 -0
- data/tracks/objective-c/exercises/perfect-numbers/README.md +41 -0
- data/tracks/objective-c/exercises/phone-number/README.md +51 -0
- data/tracks/objective-c/exercises/raindrops/README.md +41 -0
- data/tracks/objective-c/exercises/rna-transcription/README.md +42 -0
- data/tracks/objective-c/exercises/robot-name/README.md +39 -0
- data/tracks/objective-c/exercises/roman-numerals/README.md +66 -0
- data/tracks/objective-c/exercises/run-length-encoding/README.md +47 -0
- data/tracks/objective-c/exercises/scrabble-score/README.md +61 -0
- data/tracks/objective-c/exercises/secret-handshake/README.md +52 -0
- data/tracks/objective-c/exercises/sieve/README.md +51 -0
- data/tracks/objective-c/exercises/space-age/README.md +41 -0
- data/tracks/objective-c/exercises/sublist/README.md +38 -0
- data/tracks/objective-c/exercises/sum-of-multiples/README.md +35 -0
- data/tracks/objective-c/exercises/transpose/README.md +82 -0
- data/tracks/objective-c/exercises/triangle/README.md +43 -0
- data/tracks/objective-c/exercises/word-count/README.md +36 -0
- data/tracks/plsql/config/exercise_readme.go.tmpl +16 -0
- data/tracks/plsql/config.json +0 -2
- data/tracks/plsql/exercises/binary/README.md +55 -0
- data/tracks/plsql/exercises/difference-of-squares/README.md +39 -0
- data/tracks/plsql/exercises/gigasecond/README.md +31 -0
- data/tracks/plsql/exercises/grains/README.md +54 -0
- data/tracks/plsql/exercises/hamming/README.md +62 -0
- data/tracks/plsql/exercises/leap/README.md +53 -0
- data/tracks/plsql/exercises/nth-prime/README.md +35 -0
- data/tracks/plsql/exercises/raindrops/README.md +44 -0
- data/tracks/plsql/exercises/rna-transcription/README.md +45 -0
- data/tracks/plsql/exercises/roman-numerals/README.md +69 -0
- data/tracks/powershell/config.json +8 -5
- data/tracks/prolog/config/exercise_readme.go.tmpl +16 -0
- data/tracks/prolog/config.json +33 -5
- data/tracks/prolog/exercises/anagram/README.md +13 -0
- data/tracks/prolog/exercises/binary/README.md +35 -0
- data/tracks/prolog/exercises/grains/README.md +34 -0
- data/tracks/prolog/exercises/hamming/README.md +42 -0
- data/tracks/prolog/exercises/hello-world/README.md +21 -0
- data/tracks/prolog/exercises/leap/README.md +33 -0
- data/tracks/prolog/exercises/nucleotide-count/README.md +33 -0
- data/tracks/prolog/exercises/rna-transcription/README.md +25 -0
- data/tracks/prolog/exercises/space-age/README.md +24 -0
- data/tracks/prolog/exercises/sum-of-multiples/README.md +18 -0
- data/tracks/prolog/exercises/triangle/README.md +26 -0
- data/tracks/python/requirements-travis.txt +1 -1
- data/tracks/r/config/maintainers.json +35 -0
- data/tracks/r/config.json +1 -1
- data/tracks/racket/README.md +1 -1
- data/tracks/racket/config/exercise_readme.go.tmpl +16 -0
- data/tracks/racket/config.json +93 -25
- data/tracks/racket/exercises/accumulate/README.md +60 -0
- data/tracks/racket/exercises/acronym/README.md +40 -0
- data/tracks/racket/exercises/allergies/README.md +62 -0
- data/tracks/racket/exercises/anagram/README.md +38 -0
- data/tracks/racket/exercises/bob/README.md +43 -0
- data/tracks/racket/exercises/difference-of-squares/README.md +44 -0
- data/tracks/racket/exercises/etl/README.md +76 -0
- data/tracks/racket/exercises/gigasecond/README.md +36 -0
- data/tracks/racket/exercises/grains/README.md +59 -0
- data/tracks/racket/exercises/grep/README.md +96 -0
- data/tracks/racket/exercises/hamming/README.md +67 -0
- data/tracks/racket/exercises/hello-world/README.md +46 -0
- data/tracks/racket/exercises/leap/README.md +58 -0
- data/tracks/racket/exercises/list-ops/README.md +35 -0
- data/tracks/racket/exercises/nucleotide-count/README.md +58 -0
- data/tracks/racket/exercises/perfect-numbers/README.md +49 -0
- data/tracks/racket/exercises/phone-number/README.md +59 -0
- data/tracks/racket/exercises/raindrops/README.md +49 -0
- data/tracks/racket/exercises/rna-transcription/README.md +50 -0
- data/tracks/racket/exercises/roman-numerals/README.md +74 -0
- data/tracks/racket/exercises/say/README.md +94 -0
- data/tracks/racket/exercises/scrabble-score/README.md +69 -0
- data/tracks/racket/exercises/word-count/README.md +44 -0
- data/tracks/ruby/exercises/binary-search-tree/.meta/solutions/binary_search_tree.rb +4 -2
- data/tracks/ruby/exercises/binary-search-tree/binary_search_tree_test.rb +13 -4
- data/tracks/scala/config/maintainers.json +29 -0
- data/tracks/scala/exercises/atbash-cipher/example.scala +4 -1
- data/tracks/scala/exercises/atbash-cipher/src/test/scala/AtbashCipherTest.scala +64 -0
- data/tracks/scala/exercises/roman-numerals/example.scala +2 -2
- data/tracks/scala/exercises/roman-numerals/src/test/scala/RomanNumeralsTest.scala +40 -39
- data/tracks/scala/testgen/src/main/scala/AtbashCipherTestGenerator.scala +16 -0
- data/tracks/scala/testgen/src/main/scala/RomanNumeralsTestGenerator.scala +15 -0
- data/tracks/scheme/config/exercise_readme.go.tmpl +16 -0
- data/tracks/scheme/config.json +42 -3
- data/tracks/scheme/exercises/anagram/README.md +13 -0
- data/tracks/scheme/exercises/bob/README.md +18 -0
- data/tracks/scheme/exercises/difference-of-squares/README.md +19 -0
- data/tracks/scheme/exercises/grains/README.md +34 -0
- data/tracks/scheme/exercises/hamming/README.md +42 -0
- data/tracks/scheme/exercises/hello-world/README.md +21 -0
- data/tracks/scheme/exercises/leap/README.md +33 -0
- data/tracks/scheme/exercises/list-ops/README.md +10 -0
- data/tracks/scheme/exercises/nucleotide-count/README.md +33 -0
- data/tracks/scheme/exercises/phone-number/README.md +34 -0
- data/tracks/scheme/exercises/raindrops/README.md +24 -0
- data/tracks/scheme/exercises/rna-transcription/README.md +25 -0
- data/tracks/scheme/exercises/robot-name/README.md +22 -0
- data/tracks/scheme/exercises/scrabble-score/README.md +44 -0
- data/tracks/sml/config/maintainers.json +25 -0
- data/tracks/typescript/config/exercise_readme.go.tmpl +16 -0
- data/tracks/typescript/config/maintainers.json +25 -0
- data/tracks/typescript/config.json +0 -2
- data/tracks/typescript/exercises/anagram/README.md +39 -0
- data/tracks/typescript/exercises/beer-song/README.md +353 -0
- data/tracks/typescript/exercises/bob/README.md +44 -0
- data/tracks/typescript/exercises/difference-of-squares/README.md +45 -0
- data/tracks/typescript/exercises/etl/README.md +77 -0
- data/tracks/typescript/exercises/food-chain/README.md +96 -0
- data/tracks/typescript/exercises/gigasecond/README.md +37 -0
- data/tracks/typescript/exercises/grade-school/README.md +68 -0
- data/tracks/typescript/exercises/hamming/README.md +68 -0
- data/tracks/typescript/exercises/hello-world/README.md +47 -0
- data/tracks/typescript/exercises/leap/README.md +59 -0
- data/tracks/typescript/exercises/pangram/README.md +41 -0
- data/tracks/typescript/exercises/phone-number/README.md +60 -0
- data/tracks/typescript/exercises/raindrops/README.md +50 -0
- data/tracks/typescript/exercises/rna-transcription/README.md +51 -0
- data/tracks/typescript/exercises/robot-name/README.md +48 -0
- data/tracks/typescript/exercises/say/README.md +95 -0
- data/tracks/typescript/exercises/scrabble-score/README.md +70 -0
- data/tracks/typescript/exercises/space-age/README.md +50 -0
- data/tracks/typescript/exercises/word-count/README.md +45 -0
- data/tracks/typescript/exercises/wordy/README.md +89 -0
- data/tracks/vbnet/config/exercise_readme.go.tmpl +16 -0
- data/tracks/vbnet/config.json +28 -12
- data/tracks/vbnet/exercises/accumulate/README.md +41 -0
- data/tracks/vbnet/exercises/allergies/README.md +43 -0
- data/tracks/vbnet/exercises/anagram/README.md +19 -0
- data/tracks/vbnet/exercises/atbash-cipher/README.md +40 -0
- data/tracks/vbnet/exercises/binary/README.md +41 -0
- data/tracks/vbnet/exercises/bob/README.md +24 -0
- data/tracks/vbnet/exercises/crypto-square/README.md +80 -0
- metadata +401 -4
- data/tracks/scala/exercises/atbash-cipher/src/main/scala/Atbash.scala +0 -3
- data/tracks/scala/exercises/atbash-cipher/src/test/scala/atbash_test.scala +0 -48
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
# Grade School
|
|
2
|
+
|
|
3
|
+
Given students' names along with the grade that they are in, create a roster
|
|
4
|
+
for the school.
|
|
5
|
+
|
|
6
|
+
In the end, you should be able to:
|
|
7
|
+
|
|
8
|
+
- Add a student's name to the roster for a grade
|
|
9
|
+
- "Add Jim to grade 2."
|
|
10
|
+
- "OK."
|
|
11
|
+
- Get a list of all students enrolled in a grade
|
|
12
|
+
- "Which students are in grade 2?"
|
|
13
|
+
- "We've only got Jim just now."
|
|
14
|
+
- Get a sorted list of all students in all grades. Grades should sort
|
|
15
|
+
as 1, 2, 3, etc., and students within a grade should be sorted
|
|
16
|
+
alphabetically by name.
|
|
17
|
+
- "Who all is enrolled in school right now?"
|
|
18
|
+
- "Grade 1: Anna, Barb, and Charlie. Grade 2: Alex, Peter, and Zoe.
|
|
19
|
+
Grade 3…"
|
|
20
|
+
|
|
21
|
+
Note that all our students only have one name. (It's a small town, what
|
|
22
|
+
do you want?)
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
## For bonus points
|
|
26
|
+
|
|
27
|
+
Did you get the tests passing and the code clean? If you want to, these
|
|
28
|
+
are some additional things you could try:
|
|
29
|
+
|
|
30
|
+
- If you're working in a language with mutable data structures and your
|
|
31
|
+
implementation allows outside code to mutate the school's internal DB
|
|
32
|
+
directly, see if you can prevent this. Feel free to introduce additional
|
|
33
|
+
tests.
|
|
34
|
+
|
|
35
|
+
Then please share your thoughts in a comment on the submission. Did this
|
|
36
|
+
experiment make the code better? Worse? Did you learn anything from it?
|
|
37
|
+
|
|
38
|
+
## Setup
|
|
39
|
+
|
|
40
|
+
Go through the setup instructions for TypeScript to
|
|
41
|
+
install the necessary dependencies:
|
|
42
|
+
|
|
43
|
+
http://exercism.io/languages/typescript
|
|
44
|
+
|
|
45
|
+
## Requirements
|
|
46
|
+
|
|
47
|
+
Install assignment dependencies:
|
|
48
|
+
|
|
49
|
+
```bash
|
|
50
|
+
$ yarn install
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
## Making the test suite pass
|
|
54
|
+
|
|
55
|
+
Execute the tests with:
|
|
56
|
+
|
|
57
|
+
```bash
|
|
58
|
+
$ yarn test
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
## Source
|
|
64
|
+
|
|
65
|
+
A pairing session with Phil Battos at gSchool [http://gschool.it](http://gschool.it)
|
|
66
|
+
|
|
67
|
+
## Submitting Incomplete Solutions
|
|
68
|
+
It's possible to submit an incomplete solution so you can see how others have completed the exercise.
|
|
@@ -0,0 +1,68 @@
|
|
|
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
|
+
## Setup
|
|
39
|
+
|
|
40
|
+
Go through the setup instructions for TypeScript to
|
|
41
|
+
install the necessary dependencies:
|
|
42
|
+
|
|
43
|
+
http://exercism.io/languages/typescript
|
|
44
|
+
|
|
45
|
+
## Requirements
|
|
46
|
+
|
|
47
|
+
Install assignment dependencies:
|
|
48
|
+
|
|
49
|
+
```bash
|
|
50
|
+
$ yarn install
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
## Making the test suite pass
|
|
54
|
+
|
|
55
|
+
Execute the tests with:
|
|
56
|
+
|
|
57
|
+
```bash
|
|
58
|
+
$ yarn test
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
## Source
|
|
64
|
+
|
|
65
|
+
The Calculating Point Mutations problem at Rosalind [http://rosalind.info/problems/hamm/](http://rosalind.info/problems/hamm/)
|
|
66
|
+
|
|
67
|
+
## Submitting Incomplete Solutions
|
|
68
|
+
It's possible to submit an incomplete solution so you can see how others have completed the exercise.
|
|
@@ -0,0 +1,47 @@
|
|
|
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
|
+
## Setup
|
|
18
|
+
|
|
19
|
+
Go through the setup instructions for TypeScript to
|
|
20
|
+
install the necessary dependencies:
|
|
21
|
+
|
|
22
|
+
http://exercism.io/languages/typescript
|
|
23
|
+
|
|
24
|
+
## Requirements
|
|
25
|
+
|
|
26
|
+
Install assignment dependencies:
|
|
27
|
+
|
|
28
|
+
```bash
|
|
29
|
+
$ yarn install
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
## Making the test suite pass
|
|
33
|
+
|
|
34
|
+
Execute the tests with:
|
|
35
|
+
|
|
36
|
+
```bash
|
|
37
|
+
$ yarn test
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
## Source
|
|
43
|
+
|
|
44
|
+
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)
|
|
45
|
+
|
|
46
|
+
## Submitting Incomplete Solutions
|
|
47
|
+
It's possible to submit an incomplete solution so you can see how others have completed the exercise.
|
|
@@ -0,0 +1,59 @@
|
|
|
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
|
+
## Setup
|
|
30
|
+
|
|
31
|
+
Go through the setup instructions for TypeScript to
|
|
32
|
+
install the necessary dependencies:
|
|
33
|
+
|
|
34
|
+
http://exercism.io/languages/typescript
|
|
35
|
+
|
|
36
|
+
## Requirements
|
|
37
|
+
|
|
38
|
+
Install assignment dependencies:
|
|
39
|
+
|
|
40
|
+
```bash
|
|
41
|
+
$ yarn install
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
## Making the test suite pass
|
|
45
|
+
|
|
46
|
+
Execute the tests with:
|
|
47
|
+
|
|
48
|
+
```bash
|
|
49
|
+
$ yarn test
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
## Source
|
|
55
|
+
|
|
56
|
+
JavaRanch Cattle Drive, exercise 3 [http://www.javaranch.com/leap.jsp](http://www.javaranch.com/leap.jsp)
|
|
57
|
+
|
|
58
|
+
## Submitting Incomplete Solutions
|
|
59
|
+
It's possible to submit an incomplete solution so you can see how others have completed the exercise.
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# Pangram
|
|
2
|
+
|
|
3
|
+
Determine if a sentence is a pangram. A pangram (Greek: παν γράμμα, pan gramma,
|
|
4
|
+
"every letter") is a sentence using every letter of the alphabet at least once.
|
|
5
|
+
The best known English pangram is:
|
|
6
|
+
> The quick brown fox jumps over the lazy dog.
|
|
7
|
+
|
|
8
|
+
The alphabet used consists of ASCII letters `a` to `z`, inclusive, and is case
|
|
9
|
+
insensitive. Input will not contain non-ASCII symbols.
|
|
10
|
+
|
|
11
|
+
## Setup
|
|
12
|
+
|
|
13
|
+
Go through the setup instructions for TypeScript to
|
|
14
|
+
install the necessary dependencies:
|
|
15
|
+
|
|
16
|
+
http://exercism.io/languages/typescript
|
|
17
|
+
|
|
18
|
+
## Requirements
|
|
19
|
+
|
|
20
|
+
Install assignment dependencies:
|
|
21
|
+
|
|
22
|
+
```bash
|
|
23
|
+
$ yarn install
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
## Making the test suite pass
|
|
27
|
+
|
|
28
|
+
Execute the tests with:
|
|
29
|
+
|
|
30
|
+
```bash
|
|
31
|
+
$ yarn test
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
## Source
|
|
37
|
+
|
|
38
|
+
Wikipedia [https://en.wikipedia.org/wiki/Pangram](https://en.wikipedia.org/wiki/Pangram)
|
|
39
|
+
|
|
40
|
+
## Submitting Incomplete Solutions
|
|
41
|
+
It's possible to submit an incomplete solution so you can see how others have completed the exercise.
|
|
@@ -0,0 +1,60 @@
|
|
|
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
|
+
## Setup
|
|
31
|
+
|
|
32
|
+
Go through the setup instructions for TypeScript to
|
|
33
|
+
install the necessary dependencies:
|
|
34
|
+
|
|
35
|
+
http://exercism.io/languages/typescript
|
|
36
|
+
|
|
37
|
+
## Requirements
|
|
38
|
+
|
|
39
|
+
Install assignment dependencies:
|
|
40
|
+
|
|
41
|
+
```bash
|
|
42
|
+
$ yarn install
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
## Making the test suite pass
|
|
46
|
+
|
|
47
|
+
Execute the tests with:
|
|
48
|
+
|
|
49
|
+
```bash
|
|
50
|
+
$ yarn test
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
## Source
|
|
56
|
+
|
|
57
|
+
Event Manager by JumpstartLab [http://tutorials.jumpstartlab.com/projects/eventmanager.html](http://tutorials.jumpstartlab.com/projects/eventmanager.html)
|
|
58
|
+
|
|
59
|
+
## Submitting Incomplete Solutions
|
|
60
|
+
It's possible to submit an incomplete solution so you can see how others have completed the exercise.
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
# Raindrops
|
|
2
|
+
|
|
3
|
+
Convert a number to a string, the contents of which depend on the number's factors.
|
|
4
|
+
|
|
5
|
+
- If the number has 3 as a factor, output 'Pling'.
|
|
6
|
+
- If the number has 5 as a factor, output 'Plang'.
|
|
7
|
+
- If the number has 7 as a factor, output 'Plong'.
|
|
8
|
+
- If the number does not have 3, 5, or 7 as a factor,
|
|
9
|
+
just pass the number's digits straight through.
|
|
10
|
+
|
|
11
|
+
## Examples
|
|
12
|
+
|
|
13
|
+
- 28's factors are 1, 2, 4, **7**, 14, 28.
|
|
14
|
+
- In raindrop-speak, this would be a simple "Plong".
|
|
15
|
+
- 30's factors are 1, 2, **3**, **5**, 6, 10, 15, 30.
|
|
16
|
+
- In raindrop-speak, this would be a "PlingPlang".
|
|
17
|
+
- 34 has four factors: 1, 2, 17, and 34.
|
|
18
|
+
- In raindrop-speak, this would be "34".
|
|
19
|
+
|
|
20
|
+
## Setup
|
|
21
|
+
|
|
22
|
+
Go through the setup instructions for TypeScript to
|
|
23
|
+
install the necessary dependencies:
|
|
24
|
+
|
|
25
|
+
http://exercism.io/languages/typescript
|
|
26
|
+
|
|
27
|
+
## Requirements
|
|
28
|
+
|
|
29
|
+
Install assignment dependencies:
|
|
30
|
+
|
|
31
|
+
```bash
|
|
32
|
+
$ yarn install
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
## Making the test suite pass
|
|
36
|
+
|
|
37
|
+
Execute the tests with:
|
|
38
|
+
|
|
39
|
+
```bash
|
|
40
|
+
$ yarn test
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
## Source
|
|
46
|
+
|
|
47
|
+
A variation on a famous interview question intended to weed out potential candidates. [http://jumpstartlab.com](http://jumpstartlab.com)
|
|
48
|
+
|
|
49
|
+
## Submitting Incomplete Solutions
|
|
50
|
+
It's possible to submit an incomplete solution so you can see how others have completed the exercise.
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
# Rna Transcription
|
|
2
|
+
|
|
3
|
+
Given a DNA strand, return its RNA complement (per RNA transcription).
|
|
4
|
+
|
|
5
|
+
Both DNA and RNA strands are a sequence of nucleotides.
|
|
6
|
+
|
|
7
|
+
The four nucleotides found in DNA are adenine (**A**), cytosine (**C**),
|
|
8
|
+
guanine (**G**) and thymine (**T**).
|
|
9
|
+
|
|
10
|
+
The four nucleotides found in RNA are adenine (**A**), cytosine (**C**),
|
|
11
|
+
guanine (**G**) and uracil (**U**).
|
|
12
|
+
|
|
13
|
+
Given a DNA strand, its transcribed RNA strand is formed by replacing
|
|
14
|
+
each nucleotide with its complement:
|
|
15
|
+
|
|
16
|
+
* `G` -> `C`
|
|
17
|
+
* `C` -> `G`
|
|
18
|
+
* `T` -> `A`
|
|
19
|
+
* `A` -> `U`
|
|
20
|
+
|
|
21
|
+
## Setup
|
|
22
|
+
|
|
23
|
+
Go through the setup instructions for TypeScript to
|
|
24
|
+
install the necessary dependencies:
|
|
25
|
+
|
|
26
|
+
http://exercism.io/languages/typescript
|
|
27
|
+
|
|
28
|
+
## Requirements
|
|
29
|
+
|
|
30
|
+
Install assignment dependencies:
|
|
31
|
+
|
|
32
|
+
```bash
|
|
33
|
+
$ yarn install
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
## Making the test suite pass
|
|
37
|
+
|
|
38
|
+
Execute the tests with:
|
|
39
|
+
|
|
40
|
+
```bash
|
|
41
|
+
$ yarn test
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
## Source
|
|
47
|
+
|
|
48
|
+
Rosalind [http://rosalind.info/problems/rna](http://rosalind.info/problems/rna)
|
|
49
|
+
|
|
50
|
+
## Submitting Incomplete Solutions
|
|
51
|
+
It's possible to submit an incomplete solution so you can see how others have completed the exercise.
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
# Robot Name
|
|
2
|
+
|
|
3
|
+
Manage robot factory settings.
|
|
4
|
+
|
|
5
|
+
When robots come off the factory floor, they have no name.
|
|
6
|
+
|
|
7
|
+
The first time you boot them up, a random name is generated in the format
|
|
8
|
+
of two uppercase letters followed by three digits, such as RX837 or BC811.
|
|
9
|
+
|
|
10
|
+
Every once in a while we need to reset a robot to its factory settings,
|
|
11
|
+
which means that their name gets wiped. The next time you ask, it will
|
|
12
|
+
respond with a new random name.
|
|
13
|
+
|
|
14
|
+
The names must be random: they should not follow a predictable sequence.
|
|
15
|
+
Random names means a risk of collisions. Your solution must ensure that
|
|
16
|
+
every existing robot has a unique name.
|
|
17
|
+
|
|
18
|
+
## Setup
|
|
19
|
+
|
|
20
|
+
Go through the setup instructions for TypeScript to
|
|
21
|
+
install the necessary dependencies:
|
|
22
|
+
|
|
23
|
+
http://exercism.io/languages/typescript
|
|
24
|
+
|
|
25
|
+
## Requirements
|
|
26
|
+
|
|
27
|
+
Install assignment dependencies:
|
|
28
|
+
|
|
29
|
+
```bash
|
|
30
|
+
$ yarn install
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
## Making the test suite pass
|
|
34
|
+
|
|
35
|
+
Execute the tests with:
|
|
36
|
+
|
|
37
|
+
```bash
|
|
38
|
+
$ yarn test
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
## Source
|
|
44
|
+
|
|
45
|
+
A debugging session with Paul Blackwell at gSchool. [http://gschool.it](http://gschool.it)
|
|
46
|
+
|
|
47
|
+
## Submitting Incomplete Solutions
|
|
48
|
+
It's possible to submit an incomplete solution so you can see how others have completed the exercise.
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
# Say
|
|
2
|
+
|
|
3
|
+
Given a number from 0 to 999,999,999,999, spell out that number in English.
|
|
4
|
+
|
|
5
|
+
## Step 1
|
|
6
|
+
|
|
7
|
+
Handle the basic case of 0 through 99.
|
|
8
|
+
|
|
9
|
+
If the input to the program is `22`, then the output should be
|
|
10
|
+
`'twenty-two'`.
|
|
11
|
+
|
|
12
|
+
Your program should complain loudly if given a number outside the
|
|
13
|
+
blessed range.
|
|
14
|
+
|
|
15
|
+
Some good test cases for this program are:
|
|
16
|
+
|
|
17
|
+
- 0
|
|
18
|
+
- 14
|
|
19
|
+
- 50
|
|
20
|
+
- 98
|
|
21
|
+
- -1
|
|
22
|
+
- 100
|
|
23
|
+
|
|
24
|
+
### Extension
|
|
25
|
+
|
|
26
|
+
If you're on a Mac, shell out to Mac OS X's `say` program to talk out
|
|
27
|
+
loud.
|
|
28
|
+
|
|
29
|
+
## Step 2
|
|
30
|
+
|
|
31
|
+
Implement breaking a number up into chunks of thousands.
|
|
32
|
+
|
|
33
|
+
So `1234567890` should yield a list like 1, 234, 567, and 890, while the
|
|
34
|
+
far simpler `1000` should yield just 1 and 0.
|
|
35
|
+
|
|
36
|
+
The program must also report any values that are out of range.
|
|
37
|
+
|
|
38
|
+
## Step 3
|
|
39
|
+
|
|
40
|
+
Now handle inserting the appropriate scale word between those chunks.
|
|
41
|
+
|
|
42
|
+
So `1234567890` should yield `'1 billion 234 million 567 thousand 890'`
|
|
43
|
+
|
|
44
|
+
The program must also report any values that are out of range. It's
|
|
45
|
+
fine to stop at "trillion".
|
|
46
|
+
|
|
47
|
+
## Step 4
|
|
48
|
+
|
|
49
|
+
Put it all together to get nothing but plain English.
|
|
50
|
+
|
|
51
|
+
`12345` should give `twelve thousand three hundred forty-five`.
|
|
52
|
+
|
|
53
|
+
The program must also report any values that are out of range.
|
|
54
|
+
|
|
55
|
+
### Extensions
|
|
56
|
+
|
|
57
|
+
Use _and_ (correctly) when spelling out the number in English:
|
|
58
|
+
|
|
59
|
+
- 14 becomes "fourteen".
|
|
60
|
+
- 100 becomes "one hundred".
|
|
61
|
+
- 120 becomes "one hundred and twenty".
|
|
62
|
+
- 1002 becomes "one thousand and two".
|
|
63
|
+
- 1323 becomes "one thousand three hundred and twenty-three".
|
|
64
|
+
|
|
65
|
+
## Setup
|
|
66
|
+
|
|
67
|
+
Go through the setup instructions for TypeScript to
|
|
68
|
+
install the necessary dependencies:
|
|
69
|
+
|
|
70
|
+
http://exercism.io/languages/typescript
|
|
71
|
+
|
|
72
|
+
## Requirements
|
|
73
|
+
|
|
74
|
+
Install assignment dependencies:
|
|
75
|
+
|
|
76
|
+
```bash
|
|
77
|
+
$ yarn install
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
## Making the test suite pass
|
|
81
|
+
|
|
82
|
+
Execute the tests with:
|
|
83
|
+
|
|
84
|
+
```bash
|
|
85
|
+
$ yarn test
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
|
|
89
|
+
|
|
90
|
+
## Source
|
|
91
|
+
|
|
92
|
+
A variation on JavaRanch CattleDrive, exercise 4a [http://www.javaranch.com/say.jsp](http://www.javaranch.com/say.jsp)
|
|
93
|
+
|
|
94
|
+
## Submitting Incomplete Solutions
|
|
95
|
+
It's possible to submit an incomplete solution so you can see how others have completed the exercise.
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
# Scrabble Score
|
|
2
|
+
|
|
3
|
+
Given a word, compute the scrabble score for that word.
|
|
4
|
+
|
|
5
|
+
## Letter Values
|
|
6
|
+
|
|
7
|
+
You'll need these:
|
|
8
|
+
|
|
9
|
+
```plain
|
|
10
|
+
Letter Value
|
|
11
|
+
A, E, I, O, U, L, N, R, S, T 1
|
|
12
|
+
D, G 2
|
|
13
|
+
B, C, M, P 3
|
|
14
|
+
F, H, V, W, Y 4
|
|
15
|
+
K 5
|
|
16
|
+
J, X 8
|
|
17
|
+
Q, Z 10
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
## Examples
|
|
21
|
+
"cabbage" should be scored as worth 14 points:
|
|
22
|
+
|
|
23
|
+
- 3 points for C
|
|
24
|
+
- 1 point for A, twice
|
|
25
|
+
- 3 points for B, twice
|
|
26
|
+
- 2 points for G
|
|
27
|
+
- 1 point for E
|
|
28
|
+
|
|
29
|
+
And to total:
|
|
30
|
+
|
|
31
|
+
- `3 + 2*1 + 2*3 + 2 + 1`
|
|
32
|
+
- = `3 + 2 + 6 + 3`
|
|
33
|
+
- = `5 + 9`
|
|
34
|
+
- = 14
|
|
35
|
+
|
|
36
|
+
## Extensions
|
|
37
|
+
- You can play a double or a triple letter.
|
|
38
|
+
- You can play a double or a triple word.
|
|
39
|
+
|
|
40
|
+
## Setup
|
|
41
|
+
|
|
42
|
+
Go through the setup instructions for TypeScript to
|
|
43
|
+
install the necessary dependencies:
|
|
44
|
+
|
|
45
|
+
http://exercism.io/languages/typescript
|
|
46
|
+
|
|
47
|
+
## Requirements
|
|
48
|
+
|
|
49
|
+
Install assignment dependencies:
|
|
50
|
+
|
|
51
|
+
```bash
|
|
52
|
+
$ yarn install
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
## Making the test suite pass
|
|
56
|
+
|
|
57
|
+
Execute the tests with:
|
|
58
|
+
|
|
59
|
+
```bash
|
|
60
|
+
$ yarn test
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
|
|
65
|
+
## Source
|
|
66
|
+
|
|
67
|
+
Inspired by the Extreme Startup game [https://github.com/rchatley/extreme_startup](https://github.com/rchatley/extreme_startup)
|
|
68
|
+
|
|
69
|
+
## Submitting Incomplete Solutions
|
|
70
|
+
It's possible to submit an incomplete solution so you can see how others have completed the exercise.
|