trackler 2.2.1.4 → 2.2.1.5
Sign up to get free protection for your applications and to get access to all the features.
- 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,70 @@
|
|
1
|
+
# Strain
|
2
|
+
|
3
|
+
Implement the `keep` and `discard` operation on collections. Given a collection
|
4
|
+
and a predicate on the collection's elements, `keep` returns a new collection
|
5
|
+
containing those elements where the predicate is true, while `discard` returns
|
6
|
+
a new collection containing those elements where the predicate is false.
|
7
|
+
|
8
|
+
For example, given the collection of numbers:
|
9
|
+
|
10
|
+
- 1, 2, 3, 4, 5
|
11
|
+
|
12
|
+
And the predicate:
|
13
|
+
|
14
|
+
- is the number even?
|
15
|
+
|
16
|
+
Then your keep operation should produce:
|
17
|
+
|
18
|
+
- 2, 4
|
19
|
+
|
20
|
+
While your discard operation should produce:
|
21
|
+
|
22
|
+
- 1, 3, 5
|
23
|
+
|
24
|
+
Note that the union of keep and discard is all the elements.
|
25
|
+
|
26
|
+
The functions may be called `keep` and `discard`, or they may need different
|
27
|
+
names in order to not clash with existing functions or concepts in your
|
28
|
+
language.
|
29
|
+
|
30
|
+
## Restrictions
|
31
|
+
|
32
|
+
Keep your hands off that filter/reject/whatchamacallit functionality
|
33
|
+
provided by your standard library! Solve this one yourself using other
|
34
|
+
basic tools instead.
|
35
|
+
|
36
|
+
## Elm Installation
|
37
|
+
|
38
|
+
Refer to the [Exercism help page](http://exercism.io/languages/elm) for Elm
|
39
|
+
installation and learning resources.
|
40
|
+
|
41
|
+
## Writing the Code
|
42
|
+
|
43
|
+
The first time you start an exercise, you'll need to ensure you have the
|
44
|
+
appropriate dependencies installed.
|
45
|
+
|
46
|
+
```bash
|
47
|
+
$ npm install
|
48
|
+
```
|
49
|
+
|
50
|
+
Execute the tests with:
|
51
|
+
|
52
|
+
```bash
|
53
|
+
$ npm test
|
54
|
+
```
|
55
|
+
|
56
|
+
Automatically run tests again when you save changes:
|
57
|
+
|
58
|
+
```bash
|
59
|
+
$ npm run watch
|
60
|
+
```
|
61
|
+
|
62
|
+
As you work your way through the test suite, be sure to remove the `skip <|`
|
63
|
+
calls from each test until you get them all passing!
|
64
|
+
|
65
|
+
## Source
|
66
|
+
|
67
|
+
Conversation with James Edward Gray II [https://twitter.com/jeg2](https://twitter.com/jeg2)
|
68
|
+
|
69
|
+
## Submitting Incomplete Solutions
|
70
|
+
It's possible to submit an incomplete solution so you can see how others have completed the exercise.
|
@@ -0,0 +1,51 @@
|
|
1
|
+
# Sublist
|
2
|
+
|
3
|
+
Given two lists determine if the first list is contained within the second
|
4
|
+
list, if the second list is contained within the first list, if both lists are
|
5
|
+
contained within each other or if none of these are true.
|
6
|
+
|
7
|
+
Specifically, a list A is a sublist of list B if by dropping 0 or more elements
|
8
|
+
from the front of B and 0 or more elements from the back of B you get a list
|
9
|
+
that's completely equal to A.
|
10
|
+
|
11
|
+
Examples:
|
12
|
+
|
13
|
+
* A = [1, 2, 3], B = [1, 2, 3, 4, 5], A is a sublist of B
|
14
|
+
* A = [3, 4, 5], B = [1, 2, 3, 4, 5], A is a sublist of B
|
15
|
+
* A = [3, 4], B = [1, 2, 3, 4, 5], A is a sublist of B
|
16
|
+
* A = [1, 2, 3], B = [1, 2, 3], A is equal to B
|
17
|
+
* A = [1, 2, 3, 4, 5], B = [2, 3, 4], A is a superlist of B
|
18
|
+
* A = [1, 2, 4], B = [1, 2, 3, 4, 5], A is not a superlist of, sublist of or equal to B
|
19
|
+
|
20
|
+
## Elm Installation
|
21
|
+
|
22
|
+
Refer to the [Exercism help page](http://exercism.io/languages/elm) for Elm
|
23
|
+
installation and learning resources.
|
24
|
+
|
25
|
+
## Writing the Code
|
26
|
+
|
27
|
+
The first time you start an exercise, you'll need to ensure you have the
|
28
|
+
appropriate dependencies installed.
|
29
|
+
|
30
|
+
```bash
|
31
|
+
$ npm install
|
32
|
+
```
|
33
|
+
|
34
|
+
Execute the tests with:
|
35
|
+
|
36
|
+
```bash
|
37
|
+
$ npm test
|
38
|
+
```
|
39
|
+
|
40
|
+
Automatically run tests again when you save changes:
|
41
|
+
|
42
|
+
```bash
|
43
|
+
$ npm run watch
|
44
|
+
```
|
45
|
+
|
46
|
+
As you work your way through the test suite, be sure to remove the `skip <|`
|
47
|
+
calls from each test until you get them all passing!
|
48
|
+
|
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
|
+
# 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
|
+
|
14
|
+
## Elm Installation
|
15
|
+
|
16
|
+
Refer to the [Exercism help page](http://exercism.io/languages/elm) for Elm
|
17
|
+
installation and learning resources.
|
18
|
+
|
19
|
+
## Writing the Code
|
20
|
+
|
21
|
+
The first time you start an exercise, you'll need to ensure you have the
|
22
|
+
appropriate dependencies installed.
|
23
|
+
|
24
|
+
```bash
|
25
|
+
$ npm install
|
26
|
+
```
|
27
|
+
|
28
|
+
Execute the tests with:
|
29
|
+
|
30
|
+
```bash
|
31
|
+
$ npm test
|
32
|
+
```
|
33
|
+
|
34
|
+
Automatically run tests again when you save changes:
|
35
|
+
|
36
|
+
```bash
|
37
|
+
$ npm run watch
|
38
|
+
```
|
39
|
+
|
40
|
+
As you work your way through the test suite, be sure to remove the `skip <|`
|
41
|
+
calls from each test until you get them all passing!
|
42
|
+
|
43
|
+
## Source
|
44
|
+
|
45
|
+
A variation on Problem 1 at Project Euler [http://projecteuler.net/problem=1](http://projecteuler.net/problem=1)
|
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,56 @@
|
|
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.
|
22
|
+
## Elm Installation
|
23
|
+
|
24
|
+
Refer to the [Exercism help page](http://exercism.io/languages/elm) for Elm
|
25
|
+
installation and learning resources.
|
26
|
+
|
27
|
+
## Writing the Code
|
28
|
+
|
29
|
+
The first time you start an exercise, you'll need to ensure you have the
|
30
|
+
appropriate dependencies installed.
|
31
|
+
|
32
|
+
```bash
|
33
|
+
$ npm install
|
34
|
+
```
|
35
|
+
|
36
|
+
Execute the tests with:
|
37
|
+
|
38
|
+
```bash
|
39
|
+
$ npm test
|
40
|
+
```
|
41
|
+
|
42
|
+
Automatically run tests again when you save changes:
|
43
|
+
|
44
|
+
```bash
|
45
|
+
$ npm run watch
|
46
|
+
```
|
47
|
+
|
48
|
+
As you work your way through the test suite, be sure to remove the `skip <|`
|
49
|
+
calls from each test until you get them all passing!
|
50
|
+
|
51
|
+
## Source
|
52
|
+
|
53
|
+
The Ruby Koans triangle project, parts 1 & 2 [http://rubykoans.com](http://rubykoans.com)
|
54
|
+
|
55
|
+
## Submitting Incomplete Solutions
|
56
|
+
It's possible to submit an incomplete solution so you can see how others have completed the exercise.
|
@@ -0,0 +1,49 @@
|
|
1
|
+
# Word Count
|
2
|
+
|
3
|
+
Given a phrase, count the occurrences of each word in that phrase.
|
4
|
+
|
5
|
+
For example for the input `"olly olly in come free"`
|
6
|
+
|
7
|
+
```plain
|
8
|
+
olly: 2
|
9
|
+
in: 1
|
10
|
+
come: 1
|
11
|
+
free: 1
|
12
|
+
```
|
13
|
+
|
14
|
+
|
15
|
+
## Elm Installation
|
16
|
+
|
17
|
+
Refer to the [Exercism help page](http://exercism.io/languages/elm) for Elm
|
18
|
+
installation and learning resources.
|
19
|
+
|
20
|
+
## Writing the Code
|
21
|
+
|
22
|
+
The first time you start an exercise, you'll need to ensure you have the
|
23
|
+
appropriate dependencies installed.
|
24
|
+
|
25
|
+
```bash
|
26
|
+
$ npm install
|
27
|
+
```
|
28
|
+
|
29
|
+
Execute the tests with:
|
30
|
+
|
31
|
+
```bash
|
32
|
+
$ npm test
|
33
|
+
```
|
34
|
+
|
35
|
+
Automatically run tests again when you save changes:
|
36
|
+
|
37
|
+
```bash
|
38
|
+
$ npm run watch
|
39
|
+
```
|
40
|
+
|
41
|
+
As you work your way through the test suite, be sure to remove the `skip <|`
|
42
|
+
calls from each test until you get them all passing!
|
43
|
+
|
44
|
+
## Source
|
45
|
+
|
46
|
+
This is a classic toy problem, but we were reminded of it by seeing it in the Go Tour.
|
47
|
+
|
48
|
+
## Submitting Incomplete Solutions
|
49
|
+
It's possible to submit an incomplete solution so you can see how others have completed the exercise.
|
@@ -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/fortran/config.json
CHANGED
@@ -1,63 +1,79 @@
|
|
1
1
|
{
|
2
|
-
"slug": "fortran",
|
3
2
|
"language": "Fortran",
|
4
|
-
"repository": "https://github.com/exercism/fortran",
|
5
3
|
"active": false,
|
6
4
|
"test_pattern": ".*\\.fun",
|
7
5
|
"solution_pattern": "example.f90",
|
8
6
|
"exercises": [
|
9
7
|
{
|
8
|
+
"uuid": "b71d9258-78ef-4986-b9ed-ebf93b72d399",
|
10
9
|
"slug": "hello-world",
|
10
|
+
"core": false,
|
11
|
+
"unlocked_by": null,
|
11
12
|
"difficulty": 1,
|
12
13
|
"topics": [
|
13
14
|
|
14
15
|
]
|
15
16
|
},
|
16
17
|
{
|
18
|
+
"uuid": "c0657767-1d7f-4262-b932-50ab53b9c220",
|
17
19
|
"slug": "bob",
|
20
|
+
"core": false,
|
21
|
+
"unlocked_by": null,
|
18
22
|
"difficulty": 1,
|
19
23
|
"topics": [
|
20
24
|
|
21
25
|
]
|
22
26
|
},
|
23
27
|
{
|
28
|
+
"uuid": "c4b23221-b6a8-452c-9816-c30501fc690f",
|
24
29
|
"slug": "hamming",
|
30
|
+
"core": false,
|
31
|
+
"unlocked_by": null,
|
25
32
|
"difficulty": 1,
|
26
33
|
"topics": [
|
27
34
|
|
28
35
|
]
|
29
36
|
},
|
30
37
|
{
|
38
|
+
"uuid": "6fa09622-b92d-42ae-aeba-b68717c0b51c",
|
31
39
|
"slug": "rna-transcription",
|
40
|
+
"core": false,
|
41
|
+
"unlocked_by": null,
|
32
42
|
"difficulty": 1,
|
33
43
|
"topics": [
|
34
44
|
|
35
45
|
]
|
36
46
|
},
|
37
47
|
{
|
48
|
+
"uuid": "15bab787-1566-45e9-9e26-0bb7f57bbcd5",
|
38
49
|
"slug": "raindrops",
|
50
|
+
"core": false,
|
51
|
+
"unlocked_by": null,
|
39
52
|
"difficulty": 1,
|
40
53
|
"topics": [
|
41
54
|
|
42
55
|
]
|
43
56
|
},
|
44
57
|
{
|
58
|
+
"uuid": "dd6c972e-3c85-4a92-b8e5-d58ea3cadfa0",
|
45
59
|
"slug": "difference-of-squares",
|
60
|
+
"core": false,
|
61
|
+
"unlocked_by": null,
|
46
62
|
"difficulty": 1,
|
47
63
|
"topics": [
|
48
64
|
|
49
65
|
]
|
50
66
|
},
|
51
67
|
{
|
68
|
+
"uuid": "c9100446-6e8a-4171-9c1c-61f2b86ba24f",
|
52
69
|
"slug": "pangram",
|
70
|
+
"core": false,
|
71
|
+
"unlocked_by": null,
|
53
72
|
"difficulty": 1,
|
54
73
|
"topics": [
|
55
74
|
|
56
75
|
]
|
57
76
|
}
|
58
|
-
],
|
59
|
-
"deprecated": [
|
60
|
-
|
61
77
|
],
|
62
78
|
"foregone": [
|
63
79
|
|
@@ -0,0 +1,18 @@
|
|
1
|
+
# Bob
|
2
|
+
|
3
|
+
Bob is a lackadaisical teenager. In conversation, his responses are very limited.
|
4
|
+
|
5
|
+
Bob answers 'Sure.' if you ask him a question.
|
6
|
+
|
7
|
+
He answers 'Whoa, chill out!' if you yell at him.
|
8
|
+
|
9
|
+
He says 'Fine. Be that way!' if you address him without actually saying
|
10
|
+
anything.
|
11
|
+
|
12
|
+
He answers 'Whatever.' to anything else.
|
13
|
+
## Source
|
14
|
+
|
15
|
+
Inspired by the 'Deaf Grandma' exercise in Chris Pine's Learn to Program tutorial. [http://pine.fm/LearnToProgram/?Chapter=06](http://pine.fm/LearnToProgram/?Chapter=06)
|
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,19 @@
|
|
1
|
+
# Difference Of Squares
|
2
|
+
|
3
|
+
Find the difference between the square of the sum and the sum of the squares of the first N natural numbers.
|
4
|
+
|
5
|
+
The square of the sum of the first ten natural numbers is
|
6
|
+
(1 + 2 + ... + 10)² = 55² = 3025.
|
7
|
+
|
8
|
+
The sum of the squares of the first ten natural numbers is
|
9
|
+
1² + 2² + ... + 10² = 385.
|
10
|
+
|
11
|
+
Hence the difference between the square of the sum of the first
|
12
|
+
ten natural numbers and the sum of the squares of the first ten
|
13
|
+
natural numbers is 3025 - 385 = 2640.
|
14
|
+
## Source
|
15
|
+
|
16
|
+
Problem 6 at Project Euler [http://projecteuler.net/problem=6](http://projecteuler.net/problem=6)
|
17
|
+
|
18
|
+
## Submitting Incomplete Solutions
|
19
|
+
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,15 @@
|
|
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
|
+
## Source
|
11
|
+
|
12
|
+
Wikipedia [https://en.wikipedia.org/wiki/Pangram](https://en.wikipedia.org/wiki/Pangram)
|
13
|
+
|
14
|
+
## Submitting Incomplete Solutions
|
15
|
+
It's possible to submit an incomplete solution so you can see how others have completed the exercise.
|
@@ -0,0 +1,24 @@
|
|
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
|
+
## Source
|
20
|
+
|
21
|
+
A variation on a famous interview question intended to weed out potential candidates. [http://jumpstartlab.com](http://jumpstartlab.com)
|
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,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,85 @@
|
|
1
|
+
{
|
2
|
+
"maintainers": [
|
3
|
+
{
|
4
|
+
"github_username": "bmatsuo",
|
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": "kytrinyx",
|
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": "petertseng",
|
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
|
+
"github_username": "ferhatelmas",
|
35
|
+
"show_on_website": false,
|
36
|
+
"alumnus": false,
|
37
|
+
"name": null,
|
38
|
+
"bio": null,
|
39
|
+
"link_text": null,
|
40
|
+
"link_url": null,
|
41
|
+
"avatar_url": null
|
42
|
+
},
|
43
|
+
{
|
44
|
+
"github_username": "tleen",
|
45
|
+
"show_on_website": false,
|
46
|
+
"alumnus": false,
|
47
|
+
"name": null,
|
48
|
+
"bio": null,
|
49
|
+
"link_text": null,
|
50
|
+
"link_url": null,
|
51
|
+
"avatar_url": null
|
52
|
+
},
|
53
|
+
{
|
54
|
+
"github_username": "soniakeys",
|
55
|
+
"show_on_website": false,
|
56
|
+
"alumnus": false,
|
57
|
+
"name": null,
|
58
|
+
"bio": null,
|
59
|
+
"link_text": null,
|
60
|
+
"link_url": null,
|
61
|
+
"avatar_url": null
|
62
|
+
},
|
63
|
+
{
|
64
|
+
"github_username": "robphoenix",
|
65
|
+
"show_on_website": false,
|
66
|
+
"alumnus": false,
|
67
|
+
"name": null,
|
68
|
+
"bio": null,
|
69
|
+
"link_text": null,
|
70
|
+
"link_url": null,
|
71
|
+
"avatar_url": null
|
72
|
+
},
|
73
|
+
{
|
74
|
+
"github_username": "leenipper",
|
75
|
+
"show_on_website": false,
|
76
|
+
"alumnus": false,
|
77
|
+
"name": null,
|
78
|
+
"bio": null,
|
79
|
+
"link_text": null,
|
80
|
+
"link_url": null,
|
81
|
+
"avatar_url": null
|
82
|
+
}
|
83
|
+
],
|
84
|
+
"docs_url": "https://github.com/exercism/docs/blob/master/maintaining-a-track/maintainer-configuration.md"
|
85
|
+
}
|
data/tracks/go/config.json
CHANGED
@@ -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.
|