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
|
@@ -2,23 +2,26 @@
|
|
|
2
2
|
"language": "Windows PowerShell",
|
|
3
3
|
"checklist_issue": 4,
|
|
4
4
|
"active": false,
|
|
5
|
-
"deprecated": [
|
|
6
|
-
|
|
7
|
-
],
|
|
8
5
|
"foregone": [
|
|
9
6
|
|
|
10
7
|
],
|
|
11
8
|
"exercises": [
|
|
12
9
|
{
|
|
13
|
-
"
|
|
10
|
+
"uuid": "83c215e6-4a4e-4302-8d68-47f367478d2c",
|
|
14
11
|
"slug": "hello-world",
|
|
12
|
+
"core": false,
|
|
13
|
+
"unlocked_by": null,
|
|
14
|
+
"difficulty": 1,
|
|
15
15
|
"topics": [
|
|
16
16
|
|
|
17
17
|
]
|
|
18
18
|
},
|
|
19
19
|
{
|
|
20
|
-
"
|
|
20
|
+
"uuid": "f55b2158-a8f0-4593-b44a-6e750ebac0a5",
|
|
21
21
|
"slug": "hamming",
|
|
22
|
+
"core": false,
|
|
23
|
+
"unlocked_by": null,
|
|
24
|
+
"difficulty": 1,
|
|
22
25
|
"topics": [
|
|
23
26
|
|
|
24
27
|
]
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
# {{ .Spec.Name }}
|
|
2
|
+
|
|
3
|
+
{{ .Spec.Description -}}
|
|
4
|
+
{{- with .Hints }}
|
|
5
|
+
{{ . }}
|
|
6
|
+
{{ end }}
|
|
7
|
+
{{- with .TrackInsert }}
|
|
8
|
+
{{ . }}
|
|
9
|
+
{{ end }}
|
|
10
|
+
{{- with .Spec.Credits -}}
|
|
11
|
+
## Source
|
|
12
|
+
|
|
13
|
+
{{ . }}
|
|
14
|
+
{{ end }}
|
|
15
|
+
## Submitting Incomplete Solutions
|
|
16
|
+
It's possible to submit an incomplete solution so you can see how others have completed the exercise.
|
data/tracks/prolog/config.json
CHANGED
|
@@ -1,89 +1,117 @@
|
|
|
1
1
|
{
|
|
2
|
-
"slug": "prolog",
|
|
3
2
|
"language": "Prolog",
|
|
4
|
-
"repository": "https://github.com/exercism/prolog",
|
|
5
3
|
"active": false,
|
|
6
4
|
"exercises": [
|
|
7
5
|
{
|
|
6
|
+
"uuid": "68a85ec5-acdd-4f4f-9b9e-a5e39f1f7ac0",
|
|
8
7
|
"slug": "hello-world",
|
|
8
|
+
"core": false,
|
|
9
|
+
"unlocked_by": null,
|
|
9
10
|
"difficulty": 1,
|
|
10
11
|
"topics": [
|
|
11
12
|
|
|
12
13
|
]
|
|
13
14
|
},
|
|
14
15
|
{
|
|
16
|
+
"uuid": "609b17f6-49d9-4c77-8ec4-99a5ca065163",
|
|
15
17
|
"slug": "sum-of-multiples",
|
|
18
|
+
"core": false,
|
|
19
|
+
"unlocked_by": null,
|
|
16
20
|
"difficulty": 1,
|
|
17
21
|
"topics": [
|
|
18
22
|
|
|
19
23
|
]
|
|
20
24
|
},
|
|
21
25
|
{
|
|
26
|
+
"uuid": "ee8e835f-1cbf-4ff4-a8f2-c641bc4045cc",
|
|
22
27
|
"slug": "binary",
|
|
28
|
+
"core": false,
|
|
29
|
+
"unlocked_by": null,
|
|
23
30
|
"difficulty": 1,
|
|
24
31
|
"topics": [
|
|
25
32
|
|
|
26
33
|
]
|
|
27
34
|
},
|
|
28
35
|
{
|
|
36
|
+
"uuid": "9b6c4536-8f84-46cd-80cc-e80d77803a7b",
|
|
29
37
|
"slug": "leap",
|
|
38
|
+
"core": false,
|
|
39
|
+
"unlocked_by": null,
|
|
30
40
|
"difficulty": 1,
|
|
31
41
|
"topics": [
|
|
32
42
|
|
|
33
43
|
]
|
|
34
44
|
},
|
|
35
45
|
{
|
|
46
|
+
"uuid": "a3c467cd-b2f2-43a8-9a81-d60490645c59",
|
|
36
47
|
"slug": "triangle",
|
|
48
|
+
"core": false,
|
|
49
|
+
"unlocked_by": null,
|
|
37
50
|
"difficulty": 1,
|
|
38
51
|
"topics": [
|
|
39
52
|
|
|
40
53
|
]
|
|
41
54
|
},
|
|
42
55
|
{
|
|
56
|
+
"uuid": "2b72a411-b07f-4e89-bfdf-2ed3fce256fe",
|
|
43
57
|
"slug": "space-age",
|
|
58
|
+
"core": false,
|
|
59
|
+
"unlocked_by": null,
|
|
44
60
|
"difficulty": 1,
|
|
45
61
|
"topics": [
|
|
46
62
|
|
|
47
63
|
]
|
|
48
64
|
},
|
|
49
65
|
{
|
|
66
|
+
"uuid": "acd10394-f609-4047-9f5f-e3303d8ca2fd",
|
|
50
67
|
"slug": "grains",
|
|
68
|
+
"core": false,
|
|
69
|
+
"unlocked_by": null,
|
|
51
70
|
"difficulty": 1,
|
|
52
71
|
"topics": [
|
|
53
72
|
|
|
54
73
|
]
|
|
55
74
|
},
|
|
56
75
|
{
|
|
76
|
+
"uuid": "09ed3b8e-d093-44e2-9f3a-5e5fc3172e71",
|
|
57
77
|
"slug": "nucleotide-count",
|
|
78
|
+
"core": false,
|
|
79
|
+
"unlocked_by": null,
|
|
58
80
|
"difficulty": 1,
|
|
59
81
|
"topics": [
|
|
60
82
|
|
|
61
83
|
]
|
|
62
84
|
},
|
|
63
85
|
{
|
|
86
|
+
"uuid": "8449608f-b55e-452f-b65a-720914dde9af",
|
|
64
87
|
"slug": "hamming",
|
|
88
|
+
"core": false,
|
|
89
|
+
"unlocked_by": null,
|
|
65
90
|
"difficulty": 1,
|
|
66
91
|
"topics": [
|
|
67
92
|
|
|
68
93
|
]
|
|
69
94
|
},
|
|
70
95
|
{
|
|
96
|
+
"uuid": "3e059acb-37dc-44ed-bd06-91c5e1fdd8ba",
|
|
71
97
|
"slug": "anagram",
|
|
98
|
+
"core": false,
|
|
99
|
+
"unlocked_by": null,
|
|
72
100
|
"difficulty": 1,
|
|
73
101
|
"topics": [
|
|
74
102
|
|
|
75
103
|
]
|
|
76
104
|
},
|
|
77
105
|
{
|
|
106
|
+
"uuid": "e5e2ed3c-d93c-4e8f-a395-53ce6d7135f1",
|
|
78
107
|
"slug": "rna-transcription",
|
|
108
|
+
"core": false,
|
|
109
|
+
"unlocked_by": null,
|
|
79
110
|
"difficulty": 1,
|
|
80
111
|
"topics": [
|
|
81
112
|
|
|
82
113
|
]
|
|
83
114
|
}
|
|
84
|
-
],
|
|
85
|
-
"deprecated": [
|
|
86
|
-
|
|
87
115
|
],
|
|
88
116
|
"foregone": [
|
|
89
117
|
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# Anagram
|
|
2
|
+
|
|
3
|
+
Given a word and a list of possible anagrams, select the correct sublist.
|
|
4
|
+
|
|
5
|
+
Given `"listen"` and a list of candidates like `"enlists" "google"
|
|
6
|
+
"inlets" "banana"` the program should return a list containing
|
|
7
|
+
`"inlets"`.
|
|
8
|
+
## Source
|
|
9
|
+
|
|
10
|
+
Inspired by the Extreme Startup game [https://github.com/rchatley/extreme_startup](https://github.com/rchatley/extreme_startup)
|
|
11
|
+
|
|
12
|
+
## Submitting Incomplete Solutions
|
|
13
|
+
It's possible to submit an incomplete solution so you can see how others have completed the exercise.
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
# Binary
|
|
2
|
+
|
|
3
|
+
Convert a binary number, represented as a string (e.g. '101010'), to its decimal equivalent using first principles.
|
|
4
|
+
|
|
5
|
+
Implement binary to decimal conversion. Given a binary input
|
|
6
|
+
string, your program should produce a decimal output. The
|
|
7
|
+
program should handle invalid inputs.
|
|
8
|
+
|
|
9
|
+
## Note
|
|
10
|
+
- Implement the conversion yourself.
|
|
11
|
+
Do not use something else to perform the conversion for you.
|
|
12
|
+
|
|
13
|
+
## About Binary (Base-2)
|
|
14
|
+
Decimal is a base-10 system.
|
|
15
|
+
|
|
16
|
+
A number 23 in base 10 notation can be understood
|
|
17
|
+
as a linear combination of powers of 10:
|
|
18
|
+
|
|
19
|
+
- The rightmost digit gets multiplied by 10^0 = 1
|
|
20
|
+
- The next number gets multiplied by 10^1 = 10
|
|
21
|
+
- ...
|
|
22
|
+
- The *n*th number gets multiplied by 10^*(n-1)*.
|
|
23
|
+
- All these values are summed.
|
|
24
|
+
|
|
25
|
+
So: `23 => 2*10^1 + 3*10^0 => 2*10 + 3*1 = 23 base 10`
|
|
26
|
+
|
|
27
|
+
Binary is similar, but uses powers of 2 rather than powers of 10.
|
|
28
|
+
|
|
29
|
+
So: `101 => 1*2^2 + 0*2^1 + 1*2^0 => 1*4 + 0*2 + 1*1 => 4 + 1 => 5 base 10`.
|
|
30
|
+
## Source
|
|
31
|
+
|
|
32
|
+
All of Computer Science [http://www.wolframalpha.com/input/?i=binary&a=*C.binary-_*MathWorld-](http://www.wolframalpha.com/input/?i=binary&a=*C.binary-_*MathWorld-)
|
|
33
|
+
|
|
34
|
+
## Submitting Incomplete Solutions
|
|
35
|
+
It's possible to submit an incomplete solution so you can see how others have completed the exercise.
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# Grains
|
|
2
|
+
|
|
3
|
+
Calculate the number of grains of wheat on a chessboard given that the number
|
|
4
|
+
on each square doubles.
|
|
5
|
+
|
|
6
|
+
There once was a wise servant who saved the life of a prince. The king
|
|
7
|
+
promised to pay whatever the servant could dream up. Knowing that the
|
|
8
|
+
king loved chess, the servant told the king he would like to have grains
|
|
9
|
+
of wheat. One grain on the first square of a chess board. Two grains on
|
|
10
|
+
the next. Four on the third, and so on.
|
|
11
|
+
|
|
12
|
+
There are 64 squares on a chessboard.
|
|
13
|
+
|
|
14
|
+
Write code that shows:
|
|
15
|
+
- how many grains were on each square, and
|
|
16
|
+
- the total number of grains
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
## For bonus points
|
|
20
|
+
|
|
21
|
+
Did you get the tests passing and the code clean? If you want to, these
|
|
22
|
+
are some additional things you could try:
|
|
23
|
+
|
|
24
|
+
- Optimize for speed.
|
|
25
|
+
- Optimize for readability.
|
|
26
|
+
|
|
27
|
+
Then please share your thoughts in a comment on the submission. Did this
|
|
28
|
+
experiment make the code better? Worse? Did you learn anything from it?
|
|
29
|
+
## Source
|
|
30
|
+
|
|
31
|
+
JavaRanch Cattle Drive, exercise 6 [http://www.javaranch.com/grains.jsp](http://www.javaranch.com/grains.jsp)
|
|
32
|
+
|
|
33
|
+
## Submitting Incomplete Solutions
|
|
34
|
+
It's possible to submit an incomplete solution so you can see how others have completed the exercise.
|
|
@@ -0,0 +1,42 @@
|
|
|
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
|
+
## Source
|
|
38
|
+
|
|
39
|
+
The Calculating Point Mutations problem at Rosalind [http://rosalind.info/problems/hamm/](http://rosalind.info/problems/hamm/)
|
|
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,21 @@
|
|
|
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
|
+
## Source
|
|
17
|
+
|
|
18
|
+
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)
|
|
19
|
+
|
|
20
|
+
## Submitting Incomplete Solutions
|
|
21
|
+
It's possible to submit an incomplete solution so you can see how others have completed the exercise.
|
|
@@ -0,0 +1,33 @@
|
|
|
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
|
+
## Source
|
|
29
|
+
|
|
30
|
+
JavaRanch Cattle Drive, exercise 3 [http://www.javaranch.com/leap.jsp](http://www.javaranch.com/leap.jsp)
|
|
31
|
+
|
|
32
|
+
## Submitting Incomplete Solutions
|
|
33
|
+
It's possible to submit an incomplete solution so you can see how others have completed the exercise.
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# Nucleotide Count
|
|
2
|
+
|
|
3
|
+
Given a DNA string, compute how many times each nucleotide occurs in the string.
|
|
4
|
+
|
|
5
|
+
DNA is represented by an alphabet of the following symbols: 'A', 'C',
|
|
6
|
+
'G', and 'T'.
|
|
7
|
+
|
|
8
|
+
Each symbol represents a nucleotide, which is a fancy name for the
|
|
9
|
+
particular molecules that happen to make up a large part of DNA.
|
|
10
|
+
|
|
11
|
+
Shortest intro to biochemistry EVAR:
|
|
12
|
+
|
|
13
|
+
- twigs are to birds nests as
|
|
14
|
+
- nucleotides are to DNA and RNA as
|
|
15
|
+
- amino acids are to proteins as
|
|
16
|
+
- sugar is to starch as
|
|
17
|
+
- oh crap lipids
|
|
18
|
+
|
|
19
|
+
I'm not going to talk about lipids because they're crazy complex.
|
|
20
|
+
|
|
21
|
+
So back to nucleotides.
|
|
22
|
+
|
|
23
|
+
DNA contains four types of them: adenine (`A`), cytosine (`C`), guanine
|
|
24
|
+
(`G`), and thymine (`T`).
|
|
25
|
+
|
|
26
|
+
RNA contains a slightly different set of nucleotides, but we don't care
|
|
27
|
+
about that for now.
|
|
28
|
+
## Source
|
|
29
|
+
|
|
30
|
+
The Calculating DNA Nucleotides_problem at Rosalind [http://rosalind.info/problems/dna/](http://rosalind.info/problems/dna/)
|
|
31
|
+
|
|
32
|
+
## Submitting Incomplete Solutions
|
|
33
|
+
It's possible to submit an incomplete solution so you can see how others have completed the exercise.
|
|
@@ -0,0 +1,25 @@
|
|
|
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
|
+
## Source
|
|
21
|
+
|
|
22
|
+
Rosalind [http://rosalind.info/problems/rna](http://rosalind.info/problems/rna)
|
|
23
|
+
|
|
24
|
+
## Submitting Incomplete Solutions
|
|
25
|
+
It's possible to submit an incomplete solution so you can see how others have completed the exercise.
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# Space Age
|
|
2
|
+
|
|
3
|
+
Given an age in seconds, calculate how old someone would be on:
|
|
4
|
+
|
|
5
|
+
- Earth: orbital period 365.25 Earth days, or 31557600 seconds
|
|
6
|
+
- Mercury: orbital period 0.2408467 Earth years
|
|
7
|
+
- Venus: orbital period 0.61519726 Earth years
|
|
8
|
+
- Mars: orbital period 1.8808158 Earth years
|
|
9
|
+
- Jupiter: orbital period 11.862615 Earth years
|
|
10
|
+
- Saturn: orbital period 29.447498 Earth years
|
|
11
|
+
- Uranus: orbital period 84.016846 Earth years
|
|
12
|
+
- Neptune: orbital period 164.79132 Earth years
|
|
13
|
+
|
|
14
|
+
So if you were told someone were 1,000,000,000 seconds old, you should
|
|
15
|
+
be able to say that they're 31 Earth-years old.
|
|
16
|
+
|
|
17
|
+
If you're wondering why Pluto didn't make the cut, go watch [this
|
|
18
|
+
youtube video](http://www.youtube.com/watch?v=Z_2gbGXzFbs).
|
|
19
|
+
## Source
|
|
20
|
+
|
|
21
|
+
Partially inspired by Chapter 1 in Chris Pine's online Learn to Program tutorial. [http://pine.fm/LearnToProgram/?Chapter=01](http://pine.fm/LearnToProgram/?Chapter=01)
|
|
22
|
+
|
|
23
|
+
## Submitting Incomplete Solutions
|
|
24
|
+
It's possible to submit an incomplete solution so you can see how others have completed the exercise.
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# Sum Of Multiples
|
|
2
|
+
|
|
3
|
+
Given a number, find the sum of all the multiples of particular numbers up to
|
|
4
|
+
but not including that number.
|
|
5
|
+
|
|
6
|
+
If we list all the natural numbers up to but not including 20 that are
|
|
7
|
+
multiples of either 3 or 5, we get 3, 5, 6 and 9, 10, 12, 15, and 18.
|
|
8
|
+
|
|
9
|
+
The sum of these multiples is 78.
|
|
10
|
+
|
|
11
|
+
Given a number, find the sum of the multiples of a given set of numbers,
|
|
12
|
+
up to but not including that number.
|
|
13
|
+
## Source
|
|
14
|
+
|
|
15
|
+
A variation on Problem 1 at Project Euler [http://projecteuler.net/problem=1](http://projecteuler.net/problem=1)
|
|
16
|
+
|
|
17
|
+
## Submitting Incomplete Solutions
|
|
18
|
+
It's possible to submit an incomplete solution so you can see how others have completed the exercise.
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# Triangle
|
|
2
|
+
|
|
3
|
+
Determine if a triangle is equilateral, isosceles, or scalene.
|
|
4
|
+
|
|
5
|
+
An _equilateral_ triangle has all three sides the same length.<br/>
|
|
6
|
+
An _isosceles_ triangle has at least two sides the same length. (It is sometimes
|
|
7
|
+
specified as having exactly two sides the same length, but for the purposes of
|
|
8
|
+
this exercise we'll say at least two.)<br/>
|
|
9
|
+
A _scalene_ triangle has all sides of different lengths.
|
|
10
|
+
|
|
11
|
+
## Note
|
|
12
|
+
|
|
13
|
+
For a shape to be a triangle at all, all sides have to be of length > 0, and
|
|
14
|
+
the sum of the lengths of any two sides must be greater than or equal to the
|
|
15
|
+
length of the third side. See [Triangle Inequality](https://en.wikipedia.org/wiki/Triangle_inequality).
|
|
16
|
+
|
|
17
|
+
## Dig Deeper
|
|
18
|
+
|
|
19
|
+
The case where the sum of the lengths of two sides _equals_ that of the
|
|
20
|
+
third is known as a _degenerate_ triangle - it has zero area and looks like
|
|
21
|
+
a single line. Feel free to add your own code/tests to check for degenerate triangles.## Source
|
|
22
|
+
|
|
23
|
+
The Ruby Koans triangle project, parts 1 & 2 [http://rubykoans.com](http://rubykoans.com)
|
|
24
|
+
|
|
25
|
+
## Submitting Incomplete Solutions
|
|
26
|
+
It's possible to submit an incomplete solution so you can see how others have completed the exercise.
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
{
|
|
2
|
+
"maintainers": [
|
|
3
|
+
{
|
|
4
|
+
"github_username": "jonmcalder",
|
|
5
|
+
"show_on_website": false,
|
|
6
|
+
"alumnus": false,
|
|
7
|
+
"name": null,
|
|
8
|
+
"bio": null,
|
|
9
|
+
"link_text": null,
|
|
10
|
+
"link_url": null,
|
|
11
|
+
"avatar_url": null
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
"github_username": "katrinleinweber",
|
|
15
|
+
"show_on_website": false,
|
|
16
|
+
"alumnus": false,
|
|
17
|
+
"name": null,
|
|
18
|
+
"bio": null,
|
|
19
|
+
"link_text": null,
|
|
20
|
+
"link_url": null,
|
|
21
|
+
"avatar_url": null
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
"github_username": "jonboiser",
|
|
25
|
+
"show_on_website": false,
|
|
26
|
+
"alumnus": false,
|
|
27
|
+
"name": null,
|
|
28
|
+
"bio": null,
|
|
29
|
+
"link_text": null,
|
|
30
|
+
"link_url": null,
|
|
31
|
+
"avatar_url": null
|
|
32
|
+
}
|
|
33
|
+
],
|
|
34
|
+
"docs_url": "https://github.com/exercism/docs/blob/master/maintaining-a-track/maintainer-configuration.md"
|
|
35
|
+
}
|
data/tracks/r/config.json
CHANGED
data/tracks/racket/README.md
CHANGED
|
@@ -64,7 +64,7 @@ bin/configlet lint .
|
|
|
64
64
|
```
|
|
65
65
|
Your pull request won't pass the Travis CI build if either of those fail.
|
|
66
66
|
|
|
67
|
-
If you're new to Git, take a look at [this short guide](https://github.com/exercism/
|
|
67
|
+
If you're new to Git, take a look at [this short guide](https://github.com/exercism/docs/blob/master/contributing-to-language-tracks/README.md#git-basics).
|
|
68
68
|
|
|
69
69
|
## READMEs
|
|
70
70
|
Please do not add a README or README.md file to the problem directory. The READMEs are constructed using shared metadata, which lives in the [exercism/x-common](https://github.com/exercism/x-common) repository.
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
# {{ .Spec.Name }}
|
|
2
|
+
|
|
3
|
+
{{ .Spec.Description -}}
|
|
4
|
+
{{- with .Hints }}
|
|
5
|
+
{{ . }}
|
|
6
|
+
{{ end }}
|
|
7
|
+
{{- with .TrackInsert }}
|
|
8
|
+
{{ . }}
|
|
9
|
+
{{ end }}
|
|
10
|
+
{{- with .Spec.Credits -}}
|
|
11
|
+
## Source
|
|
12
|
+
|
|
13
|
+
{{ . }}
|
|
14
|
+
{{ end }}
|
|
15
|
+
## Submitting Incomplete Solutions
|
|
16
|
+
It's possible to submit an incomplete solution so you can see how others have completed the exercise.
|