trackler 2.2.1.4 → 2.2.1.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/trackler/version.rb +1 -1
- data/tracks/bash/config.json +10 -0
- data/tracks/bash/exercises/error-handling/error_handling_test.sh +31 -0
- data/tracks/bash/exercises/error-handling/example.sh +9 -0
- data/tracks/ceylon/config/maintainers.json +25 -0
- data/tracks/chapel/README.md +1 -1
- data/tracks/chapel/config/exercise_readme.go.tmpl +16 -0
- data/tracks/chapel/config/maintainers.json +5 -0
- data/tracks/chapel/config.json +0 -5
- data/tracks/coffeescript/config/exercise_readme.go.tmpl +16 -0
- data/tracks/coffeescript/config.json +84 -26
- data/tracks/coffeescript/exercises/accumulate/README.md +43 -0
- data/tracks/coffeescript/exercises/anagram/README.md +21 -0
- data/tracks/coffeescript/exercises/atbash-cipher/README.md +42 -0
- data/tracks/coffeescript/exercises/beer-song/README.md +335 -0
- data/tracks/coffeescript/exercises/binary/README.md +43 -0
- data/tracks/coffeescript/exercises/binary-search-tree/README.md +68 -0
- data/tracks/coffeescript/exercises/bob/README.md +26 -0
- data/tracks/coffeescript/exercises/clock/README.md +21 -0
- data/tracks/coffeescript/exercises/hello-world/README.md +29 -0
- data/tracks/coffeescript/exercises/hexadecimal/README.md +22 -0
- data/tracks/coffeescript/exercises/linked-list/README.md +42 -0
- data/tracks/coffeescript/exercises/luhn/README.md +79 -0
- data/tracks/coffeescript/exercises/nth-prime/README.md +23 -0
- data/tracks/coffeescript/exercises/nucleotide-count/README.md +41 -0
- data/tracks/coffeescript/exercises/palindrome-products/README.md +48 -0
- data/tracks/coffeescript/exercises/pascals-triangle/README.md +29 -0
- data/tracks/coffeescript/exercises/queen-attack/README.md +41 -0
- data/tracks/coffeescript/exercises/triangle/README.md +34 -0
- data/tracks/coffeescript/exercises/trinary/README.md +36 -0
- data/tracks/coffeescript/exercises/word-count/README.md +27 -0
- data/tracks/coffeescript/exercises/wordy/README.md +71 -0
- data/tracks/coldfusion/config/exercise_readme.go.tmpl +16 -0
- data/tracks/coldfusion/config.json +4 -6
- data/tracks/coldfusion/exercises/leap/README.md +33 -0
- data/tracks/coq/README.md +19 -32
- data/tracks/coq/config/exercise_readme.go.tmpl +16 -0
- data/tracks/coq/config.json +9 -5
- data/tracks/coq/exercises/hello-world/README.md +45 -0
- data/tracks/coq/exercises/rna-transcription/README.md +49 -0
- data/tracks/coq/exercises/tautology/README.md +33 -0
- data/tracks/cpp/config/exercise_readme.go.tmpl +16 -0
- data/tracks/cpp/config.json +144 -41
- data/tracks/cpp/exercises/allergies/README.md +69 -0
- data/tracks/cpp/exercises/anagram/README.md +45 -0
- data/tracks/cpp/exercises/atbash-cipher/README.md +66 -0
- data/tracks/cpp/exercises/beer-song/README.md +359 -0
- data/tracks/cpp/exercises/binary/README.md +67 -0
- data/tracks/cpp/exercises/bob/README.md +50 -0
- data/tracks/cpp/exercises/clock/README.md +45 -0
- data/tracks/cpp/exercises/crypto-square/README.md +106 -0
- data/tracks/cpp/exercises/difference-of-squares/README.md +51 -0
- data/tracks/cpp/exercises/etl/README.md +83 -0
- data/tracks/cpp/exercises/food-chain/README.md +102 -0
- data/tracks/cpp/exercises/gigasecond/README.md +43 -0
- data/tracks/cpp/exercises/grade-school/README.md +74 -0
- data/tracks/cpp/exercises/grains/README.md +66 -0
- data/tracks/cpp/exercises/hamming/README.md +74 -0
- data/tracks/cpp/exercises/hello-world/README.md +53 -0
- data/tracks/cpp/exercises/hexadecimal/README.md +46 -0
- data/tracks/cpp/exercises/leap/README.md +65 -0
- data/tracks/cpp/exercises/meetup/README.md +62 -0
- data/tracks/cpp/exercises/nth-prime/README.md +47 -0
- data/tracks/cpp/exercises/nucleotide-count/README.md +65 -0
- data/tracks/cpp/exercises/phone-number/README.md +66 -0
- data/tracks/cpp/exercises/prime-factors/README.md +68 -0
- data/tracks/cpp/exercises/queen-attack/README.md +65 -0
- data/tracks/cpp/exercises/raindrops/README.md +56 -0
- data/tracks/cpp/exercises/rna-transcription/README.md +57 -0
- data/tracks/cpp/exercises/robot-name/README.md +54 -0
- data/tracks/cpp/exercises/roman-numerals/README.md +81 -0
- data/tracks/cpp/exercises/say/README.md +101 -0
- data/tracks/cpp/exercises/scrabble-score/README.md +76 -0
- data/tracks/cpp/exercises/series/README.md +59 -0
- data/tracks/cpp/exercises/sieve/README.md +66 -0
- data/tracks/cpp/exercises/space-age/README.md +56 -0
- data/tracks/cpp/exercises/sum-of-multiples/README.md +50 -0
- data/tracks/cpp/exercises/triangle/README.md +58 -0
- data/tracks/cpp/exercises/trinary/README.md +60 -0
- data/tracks/cpp/exercises/word-count/README.md +51 -0
- data/tracks/crystal/config.json +69 -3
- data/tracks/d/config/exercise_readme.go.tmpl +16 -0
- data/tracks/d/config.json +54 -3
- data/tracks/d/exercises/bob/README.md +49 -0
- data/tracks/d/exercises/circular-buffer/README.md +81 -0
- data/tracks/d/exercises/crypto-square/README.md +105 -0
- data/tracks/d/exercises/difference-of-squares/README.md +50 -0
- data/tracks/d/exercises/etl/README.md +82 -0
- data/tracks/d/exercises/gigasecond/README.md +42 -0
- data/tracks/d/exercises/hamming/README.md +73 -0
- data/tracks/d/exercises/hello-world/README.md +52 -0
- data/tracks/d/exercises/leap/README.md +64 -0
- data/tracks/d/exercises/nucleotide-count/README.md +64 -0
- data/tracks/d/exercises/pangram/README.md +46 -0
- data/tracks/d/exercises/raindrops/README.md +55 -0
- data/tracks/d/exercises/react/README.md +50 -0
- data/tracks/d/exercises/rna-transcription/README.md +56 -0
- data/tracks/d/exercises/robot-name/README.md +53 -0
- data/tracks/d/exercises/roman-numerals/README.md +80 -0
- data/tracks/d/exercises/series/README.md +58 -0
- data/tracks/d/exercises/triangle/README.md +57 -0
- data/tracks/delphi/config/maintainers.json +25 -0
- data/tracks/ecmascript/config/maintainers.json +35 -0
- data/tracks/elisp/config/exercise_readme.go.tmpl +16 -0
- data/tracks/elisp/config.json +79 -22
- data/tracks/elisp/exercises/allergies/README.md +37 -0
- data/tracks/elisp/exercises/anagram/README.md +13 -0
- data/tracks/elisp/exercises/atbash-cipher/README.md +34 -0
- data/tracks/elisp/exercises/binary/README.md +35 -0
- data/tracks/elisp/exercises/bob/README.md +18 -0
- data/tracks/elisp/exercises/difference-of-squares/README.md +19 -0
- data/tracks/elisp/exercises/etl/README.md +51 -0
- data/tracks/elisp/exercises/gigasecond/README.md +11 -0
- data/tracks/elisp/exercises/grains/README.md +34 -0
- data/tracks/elisp/exercises/hamming/README.md +42 -0
- data/tracks/elisp/exercises/hello-world/README.md +21 -0
- data/tracks/elisp/exercises/leap/README.md +33 -0
- data/tracks/elisp/exercises/nucleotide-count/README.md +33 -0
- data/tracks/elisp/exercises/perfect-numbers/README.md +24 -0
- data/tracks/elisp/exercises/phone-number/README.md +34 -0
- data/tracks/elisp/exercises/raindrops/README.md +24 -0
- data/tracks/elisp/exercises/rna-transcription/README.md +25 -0
- data/tracks/elisp/exercises/robot-name/README.md +22 -0
- data/tracks/elisp/exercises/roman-numerals/README.md +49 -0
- data/tracks/elisp/exercises/word-count/README.md +19 -0
- data/tracks/elixir/config/maintainers.json +35 -0
- data/tracks/elm/config/exercise_readme.go.tmpl +16 -0
- data/tracks/elm/config.json +96 -5
- data/tracks/elm/exercises/accumulate/README.md +65 -0
- data/tracks/elm/exercises/allergies/README.md +67 -0
- data/tracks/elm/exercises/anagram/README.md +43 -0
- data/tracks/elm/exercises/atbash-cipher/README.md +64 -0
- data/tracks/elm/exercises/bob/README.md +48 -0
- data/tracks/elm/exercises/difference-of-squares/README.md +49 -0
- data/tracks/elm/exercises/etl/README.md +81 -0
- data/tracks/elm/exercises/gigasecond/README.md +41 -0
- data/tracks/elm/exercises/grade-school/README.md +72 -0
- data/tracks/elm/exercises/grains/README.md +64 -0
- data/tracks/elm/exercises/hamming/README.md +72 -0
- data/tracks/elm/exercises/hello-world/README.md +51 -0
- data/tracks/elm/exercises/largest-series-product/README.md +50 -0
- data/tracks/elm/exercises/leap/README.md +63 -0
- data/tracks/elm/exercises/list-ops/README.md +40 -0
- data/tracks/elm/exercises/nucleotide-count/README.md +63 -0
- data/tracks/elm/exercises/pangram/README.md +45 -0
- data/tracks/elm/exercises/phone-number/README.md +64 -0
- data/tracks/elm/exercises/raindrops/README.md +54 -0
- data/tracks/elm/exercises/rna-transcription/README.md +55 -0
- data/tracks/elm/exercises/robot-simulator/README.md +64 -0
- data/tracks/elm/exercises/roman-numerals/README.md +79 -0
- data/tracks/elm/exercises/run-length-encoding/README.md +60 -0
- data/tracks/elm/exercises/say/README.md +99 -0
- data/tracks/elm/exercises/scrabble-score/README.md +74 -0
- data/tracks/elm/exercises/series/README.md +57 -0
- data/tracks/elm/exercises/space-age/README.md +54 -0
- data/tracks/elm/exercises/strain/README.md +70 -0
- data/tracks/elm/exercises/sublist/README.md +51 -0
- data/tracks/elm/exercises/sum-of-multiples/README.md +48 -0
- data/tracks/elm/exercises/triangle/README.md +56 -0
- data/tracks/elm/exercises/word-count/README.md +49 -0
- data/tracks/fortran/config/exercise_readme.go.tmpl +16 -0
- data/tracks/fortran/config.json +21 -5
- data/tracks/fortran/exercises/bob/README.md +18 -0
- data/tracks/fortran/exercises/difference-of-squares/README.md +19 -0
- data/tracks/fortran/exercises/hamming/README.md +42 -0
- data/tracks/fortran/exercises/hello-world/README.md +21 -0
- data/tracks/fortran/exercises/pangram/README.md +15 -0
- data/tracks/fortran/exercises/raindrops/README.md +24 -0
- data/tracks/fortran/exercises/rna-transcription/README.md +25 -0
- data/tracks/go/config/maintainers.json +85 -0
- data/tracks/go/config.json +2 -2
- data/tracks/groovy/config/exercise_readme.go.tmpl +16 -0
- data/tracks/groovy/exercises/difference-of-squares/README.md +33 -0
- data/tracks/groovy/exercises/gigasecond/README.md +25 -0
- data/tracks/groovy/exercises/grains/README.md +48 -0
- data/tracks/groovy/exercises/hamming/README.md +56 -0
- data/tracks/groovy/exercises/hello-world/README.md +35 -0
- data/tracks/groovy/exercises/leap/README.md +47 -0
- data/tracks/groovy/exercises/nth-prime/README.md +29 -0
- data/tracks/groovy/exercises/phone-number/README.md +48 -0
- data/tracks/groovy/exercises/raindrops/README.md +38 -0
- data/tracks/groovy/exercises/rna-transcription/README.md +39 -0
- data/tracks/groovy/exercises/robot-name/README.md +36 -0
- data/tracks/groovy/exercises/roman-numerals/README.md +63 -0
- data/tracks/groovy/exercises/word-count/README.md +33 -0
- data/tracks/haxe/config/exercise_readme.go.tmpl +16 -0
- data/tracks/haxe/config.json +0 -2
- data/tracks/haxe/exercises/bob/README.md +18 -0
- data/tracks/haxe/exercises/hello-world/README.md +21 -0
- data/tracks/idris/config/exercise_readme.go.tmpl +16 -0
- data/tracks/idris/config.json +9 -3
- data/tracks/idris/exercises/hamming/README.md +42 -0
- data/tracks/idris/exercises/hello-world/README.md +21 -0
- data/tracks/idris/exercises/leap/README.md +33 -0
- data/tracks/java/config/maintainers.json +45 -0
- data/tracks/java/exercises/hello-world/TUTORIAL.md +1 -1
- data/tracks/javascript/config/maintainers.json +85 -0
- data/tracks/julia/config/exercise_readme.go.tmpl +16 -0
- data/tracks/julia/config.json +81 -5
- data/tracks/julia/exercises/anagram/README.md +13 -0
- data/tracks/julia/exercises/atbash-cipher/README.md +34 -0
- data/tracks/julia/exercises/bob/README.md +18 -0
- data/tracks/julia/exercises/complex-numbers/README.md +24 -0
- data/tracks/julia/exercises/custom-set/README.md +16 -0
- data/tracks/julia/exercises/difference-of-squares/README.md +19 -0
- data/tracks/julia/exercises/etl/README.md +51 -0
- data/tracks/julia/exercises/gigasecond/README.md +11 -0
- data/tracks/julia/exercises/hamming/README.md +42 -0
- data/tracks/julia/exercises/hello-world/README.md +21 -0
- data/tracks/julia/exercises/isogram/README.md +19 -0
- data/tracks/julia/exercises/leap/README.md +33 -0
- data/tracks/julia/exercises/luhn/README.md +71 -0
- data/tracks/julia/exercises/nucleotide-count/README.md +33 -0
- data/tracks/julia/exercises/pangram/README.md +15 -0
- data/tracks/julia/exercises/pascals-triangle/README.md +21 -0
- data/tracks/julia/exercises/raindrops/README.md +24 -0
- data/tracks/julia/exercises/rna-transcription/README.md +25 -0
- data/tracks/julia/exercises/robot-name/README.md +41 -0
- data/tracks/julia/exercises/roman-numerals/README.md +49 -0
- data/tracks/julia/exercises/rotational-cipher/README.md +59 -0
- data/tracks/julia/exercises/scrabble-score/README.md +44 -0
- data/tracks/julia/exercises/secret-handshake/README.md +35 -0
- data/tracks/julia/exercises/sieve/README.md +34 -0
- data/tracks/julia/exercises/transpose/README.md +65 -0
- data/tracks/julia/exercises/trinary/README.md +28 -0
- data/tracks/julia/exercises/word-count/README.md +19 -0
- data/tracks/lfe/config/exercise_readme.go.tmpl +16 -0
- data/tracks/lfe/config.json +125 -33
- data/tracks/lfe/exercises/accumulate/README.md +51 -0
- data/tracks/lfe/exercises/allergies/README.md +53 -0
- data/tracks/lfe/exercises/anagram/README.md +29 -0
- data/tracks/lfe/exercises/atbash-cipher/README.md +50 -0
- data/tracks/lfe/exercises/bank-account/README.md +46 -0
- data/tracks/lfe/exercises/beer-song/README.md +343 -0
- data/tracks/lfe/exercises/binary/README.md +51 -0
- data/tracks/lfe/exercises/bob/README.md +34 -0
- data/tracks/lfe/exercises/circular-buffer/README.md +66 -0
- data/tracks/lfe/exercises/clock/README.md +29 -0
- data/tracks/lfe/exercises/difference-of-squares/README.md +35 -0
- data/tracks/lfe/exercises/etl/README.md +67 -0
- data/tracks/lfe/exercises/gigasecond/README.md +27 -0
- data/tracks/lfe/exercises/grade-school/README.md +58 -0
- data/tracks/lfe/exercises/grains/README.md +50 -0
- data/tracks/lfe/exercises/hamming/README.md +58 -0
- data/tracks/lfe/exercises/largest-series-product/README.md +36 -0
- data/tracks/lfe/exercises/leap/README.md +49 -0
- data/tracks/lfe/exercises/luhn/README.md +87 -0
- data/tracks/lfe/exercises/meetup/README.md +46 -0
- data/tracks/lfe/exercises/nucleotide-count/README.md +49 -0
- data/tracks/lfe/exercises/parallel-letter-frequency/README.md +27 -0
- data/tracks/lfe/exercises/phone-number/README.md +50 -0
- data/tracks/lfe/exercises/rna-transcription/README.md +41 -0
- data/tracks/lfe/exercises/robot-simulator/README.md +50 -0
- data/tracks/lfe/exercises/series/README.md +43 -0
- data/tracks/lfe/exercises/space-age/README.md +40 -0
- data/tracks/lfe/exercises/strain/README.md +56 -0
- data/tracks/lfe/exercises/sum-of-multiples/README.md +34 -0
- data/tracks/lfe/exercises/trinary/README.md +44 -0
- data/tracks/lfe/exercises/word-count/README.md +35 -0
- data/tracks/lua/config/maintainers.json +35 -0
- data/tracks/lua/config.json +225 -3
- data/tracks/nasm/config/exercise_readme.go.tmpl +16 -0
- data/tracks/nasm/config.json +0 -5
- data/tracks/nim/config/exercise_readme.go.tmpl +16 -0
- data/tracks/nim/config.json +56 -19
- data/tracks/nim/exercises/anagram/README.md +13 -0
- data/tracks/nim/exercises/binary/README.md +35 -0
- data/tracks/nim/exercises/bob/README.md +18 -0
- data/tracks/nim/exercises/difference-of-squares/README.md +19 -0
- data/tracks/nim/exercises/hamming/README.md +42 -0
- data/tracks/nim/exercises/hello-world/README.md +21 -0
- data/tracks/nim/exercises/leap/README.md +33 -0
- data/tracks/nim/exercises/nucleotide-count/README.md +33 -0
- data/tracks/nim/exercises/queen-attack/README.md +33 -0
- data/tracks/nim/exercises/raindrops/README.md +24 -0
- data/tracks/nim/exercises/react/README.md +19 -0
- data/tracks/nim/exercises/rna-transcription/README.md +25 -0
- data/tracks/nim/exercises/triangle/README.md +26 -0
- data/tracks/nim/exercises/word-count/README.md +19 -0
- data/tracks/objective-c/config/exercise_readme.go.tmpl +16 -0
- data/tracks/objective-c/config/maintainers.json +35 -0
- data/tracks/objective-c/config.json +168 -47
- data/tracks/objective-c/exercises/acronym/README.md +32 -0
- data/tracks/objective-c/exercises/all-your-base/README.md +52 -0
- data/tracks/objective-c/exercises/allergies/README.md +54 -0
- data/tracks/objective-c/exercises/anagram/README.md +30 -0
- data/tracks/objective-c/exercises/atbash-cipher/README.md +51 -0
- data/tracks/objective-c/exercises/beer-song/README.md +344 -0
- data/tracks/objective-c/exercises/binary-search/README.md +58 -0
- data/tracks/objective-c/exercises/bob/README.md +35 -0
- data/tracks/objective-c/exercises/bracket-push/README.md +27 -0
- data/tracks/objective-c/exercises/clock/README.md +30 -0
- data/tracks/objective-c/exercises/crypto-square/README.md +91 -0
- data/tracks/objective-c/exercises/difference-of-squares/README.md +36 -0
- data/tracks/objective-c/exercises/etl/README.md +68 -0
- data/tracks/objective-c/exercises/flatten-array/README.md +35 -0
- data/tracks/objective-c/exercises/gigasecond/README.md +28 -0
- data/tracks/objective-c/exercises/grade-school/README.md +59 -0
- data/tracks/objective-c/exercises/hamming/README.md +59 -0
- data/tracks/objective-c/exercises/hello-world/README.md +38 -0
- data/tracks/objective-c/exercises/isogram/README.md +36 -0
- data/tracks/objective-c/exercises/largest-series-product/README.md +37 -0
- data/tracks/objective-c/exercises/leap/README.md +50 -0
- data/tracks/objective-c/exercises/luhn/README.md +88 -0
- data/tracks/objective-c/exercises/meetup/README.md +47 -0
- data/tracks/objective-c/exercises/nucleotide-count/README.md +50 -0
- data/tracks/objective-c/exercises/pangram/README.md +32 -0
- data/tracks/objective-c/exercises/pascals-triangle/README.md +38 -0
- data/tracks/objective-c/exercises/perfect-numbers/README.md +41 -0
- data/tracks/objective-c/exercises/phone-number/README.md +51 -0
- data/tracks/objective-c/exercises/raindrops/README.md +41 -0
- data/tracks/objective-c/exercises/rna-transcription/README.md +42 -0
- data/tracks/objective-c/exercises/robot-name/README.md +39 -0
- data/tracks/objective-c/exercises/roman-numerals/README.md +66 -0
- data/tracks/objective-c/exercises/run-length-encoding/README.md +47 -0
- data/tracks/objective-c/exercises/scrabble-score/README.md +61 -0
- data/tracks/objective-c/exercises/secret-handshake/README.md +52 -0
- data/tracks/objective-c/exercises/sieve/README.md +51 -0
- data/tracks/objective-c/exercises/space-age/README.md +41 -0
- data/tracks/objective-c/exercises/sublist/README.md +38 -0
- data/tracks/objective-c/exercises/sum-of-multiples/README.md +35 -0
- data/tracks/objective-c/exercises/transpose/README.md +82 -0
- data/tracks/objective-c/exercises/triangle/README.md +43 -0
- data/tracks/objective-c/exercises/word-count/README.md +36 -0
- data/tracks/plsql/config/exercise_readme.go.tmpl +16 -0
- data/tracks/plsql/config.json +0 -2
- data/tracks/plsql/exercises/binary/README.md +55 -0
- data/tracks/plsql/exercises/difference-of-squares/README.md +39 -0
- data/tracks/plsql/exercises/gigasecond/README.md +31 -0
- data/tracks/plsql/exercises/grains/README.md +54 -0
- data/tracks/plsql/exercises/hamming/README.md +62 -0
- data/tracks/plsql/exercises/leap/README.md +53 -0
- data/tracks/plsql/exercises/nth-prime/README.md +35 -0
- data/tracks/plsql/exercises/raindrops/README.md +44 -0
- data/tracks/plsql/exercises/rna-transcription/README.md +45 -0
- data/tracks/plsql/exercises/roman-numerals/README.md +69 -0
- data/tracks/powershell/config.json +8 -5
- data/tracks/prolog/config/exercise_readme.go.tmpl +16 -0
- data/tracks/prolog/config.json +33 -5
- data/tracks/prolog/exercises/anagram/README.md +13 -0
- data/tracks/prolog/exercises/binary/README.md +35 -0
- data/tracks/prolog/exercises/grains/README.md +34 -0
- data/tracks/prolog/exercises/hamming/README.md +42 -0
- data/tracks/prolog/exercises/hello-world/README.md +21 -0
- data/tracks/prolog/exercises/leap/README.md +33 -0
- data/tracks/prolog/exercises/nucleotide-count/README.md +33 -0
- data/tracks/prolog/exercises/rna-transcription/README.md +25 -0
- data/tracks/prolog/exercises/space-age/README.md +24 -0
- data/tracks/prolog/exercises/sum-of-multiples/README.md +18 -0
- data/tracks/prolog/exercises/triangle/README.md +26 -0
- data/tracks/python/requirements-travis.txt +1 -1
- data/tracks/r/config/maintainers.json +35 -0
- data/tracks/r/config.json +1 -1
- data/tracks/racket/README.md +1 -1
- data/tracks/racket/config/exercise_readme.go.tmpl +16 -0
- data/tracks/racket/config.json +93 -25
- data/tracks/racket/exercises/accumulate/README.md +60 -0
- data/tracks/racket/exercises/acronym/README.md +40 -0
- data/tracks/racket/exercises/allergies/README.md +62 -0
- data/tracks/racket/exercises/anagram/README.md +38 -0
- data/tracks/racket/exercises/bob/README.md +43 -0
- data/tracks/racket/exercises/difference-of-squares/README.md +44 -0
- data/tracks/racket/exercises/etl/README.md +76 -0
- data/tracks/racket/exercises/gigasecond/README.md +36 -0
- data/tracks/racket/exercises/grains/README.md +59 -0
- data/tracks/racket/exercises/grep/README.md +96 -0
- data/tracks/racket/exercises/hamming/README.md +67 -0
- data/tracks/racket/exercises/hello-world/README.md +46 -0
- data/tracks/racket/exercises/leap/README.md +58 -0
- data/tracks/racket/exercises/list-ops/README.md +35 -0
- data/tracks/racket/exercises/nucleotide-count/README.md +58 -0
- data/tracks/racket/exercises/perfect-numbers/README.md +49 -0
- data/tracks/racket/exercises/phone-number/README.md +59 -0
- data/tracks/racket/exercises/raindrops/README.md +49 -0
- data/tracks/racket/exercises/rna-transcription/README.md +50 -0
- data/tracks/racket/exercises/roman-numerals/README.md +74 -0
- data/tracks/racket/exercises/say/README.md +94 -0
- data/tracks/racket/exercises/scrabble-score/README.md +69 -0
- data/tracks/racket/exercises/word-count/README.md +44 -0
- data/tracks/ruby/exercises/binary-search-tree/.meta/solutions/binary_search_tree.rb +4 -2
- data/tracks/ruby/exercises/binary-search-tree/binary_search_tree_test.rb +13 -4
- data/tracks/scala/config/maintainers.json +29 -0
- data/tracks/scala/exercises/atbash-cipher/example.scala +4 -1
- data/tracks/scala/exercises/atbash-cipher/src/test/scala/AtbashCipherTest.scala +64 -0
- data/tracks/scala/exercises/roman-numerals/example.scala +2 -2
- data/tracks/scala/exercises/roman-numerals/src/test/scala/RomanNumeralsTest.scala +40 -39
- data/tracks/scala/testgen/src/main/scala/AtbashCipherTestGenerator.scala +16 -0
- data/tracks/scala/testgen/src/main/scala/RomanNumeralsTestGenerator.scala +15 -0
- data/tracks/scheme/config/exercise_readme.go.tmpl +16 -0
- data/tracks/scheme/config.json +42 -3
- data/tracks/scheme/exercises/anagram/README.md +13 -0
- data/tracks/scheme/exercises/bob/README.md +18 -0
- data/tracks/scheme/exercises/difference-of-squares/README.md +19 -0
- data/tracks/scheme/exercises/grains/README.md +34 -0
- data/tracks/scheme/exercises/hamming/README.md +42 -0
- data/tracks/scheme/exercises/hello-world/README.md +21 -0
- data/tracks/scheme/exercises/leap/README.md +33 -0
- data/tracks/scheme/exercises/list-ops/README.md +10 -0
- data/tracks/scheme/exercises/nucleotide-count/README.md +33 -0
- data/tracks/scheme/exercises/phone-number/README.md +34 -0
- data/tracks/scheme/exercises/raindrops/README.md +24 -0
- data/tracks/scheme/exercises/rna-transcription/README.md +25 -0
- data/tracks/scheme/exercises/robot-name/README.md +22 -0
- data/tracks/scheme/exercises/scrabble-score/README.md +44 -0
- data/tracks/sml/config/maintainers.json +25 -0
- data/tracks/typescript/config/exercise_readme.go.tmpl +16 -0
- data/tracks/typescript/config/maintainers.json +25 -0
- data/tracks/typescript/config.json +0 -2
- data/tracks/typescript/exercises/anagram/README.md +39 -0
- data/tracks/typescript/exercises/beer-song/README.md +353 -0
- data/tracks/typescript/exercises/bob/README.md +44 -0
- data/tracks/typescript/exercises/difference-of-squares/README.md +45 -0
- data/tracks/typescript/exercises/etl/README.md +77 -0
- data/tracks/typescript/exercises/food-chain/README.md +96 -0
- data/tracks/typescript/exercises/gigasecond/README.md +37 -0
- data/tracks/typescript/exercises/grade-school/README.md +68 -0
- data/tracks/typescript/exercises/hamming/README.md +68 -0
- data/tracks/typescript/exercises/hello-world/README.md +47 -0
- data/tracks/typescript/exercises/leap/README.md +59 -0
- data/tracks/typescript/exercises/pangram/README.md +41 -0
- data/tracks/typescript/exercises/phone-number/README.md +60 -0
- data/tracks/typescript/exercises/raindrops/README.md +50 -0
- data/tracks/typescript/exercises/rna-transcription/README.md +51 -0
- data/tracks/typescript/exercises/robot-name/README.md +48 -0
- data/tracks/typescript/exercises/say/README.md +95 -0
- data/tracks/typescript/exercises/scrabble-score/README.md +70 -0
- data/tracks/typescript/exercises/space-age/README.md +50 -0
- data/tracks/typescript/exercises/word-count/README.md +45 -0
- data/tracks/typescript/exercises/wordy/README.md +89 -0
- data/tracks/vbnet/config/exercise_readme.go.tmpl +16 -0
- data/tracks/vbnet/config.json +28 -12
- data/tracks/vbnet/exercises/accumulate/README.md +41 -0
- data/tracks/vbnet/exercises/allergies/README.md +43 -0
- data/tracks/vbnet/exercises/anagram/README.md +19 -0
- data/tracks/vbnet/exercises/atbash-cipher/README.md +40 -0
- data/tracks/vbnet/exercises/binary/README.md +41 -0
- data/tracks/vbnet/exercises/bob/README.md +24 -0
- data/tracks/vbnet/exercises/crypto-square/README.md +80 -0
- metadata +401 -4
- data/tracks/scala/exercises/atbash-cipher/src/main/scala/Atbash.scala +0 -3
- data/tracks/scala/exercises/atbash-cipher/src/test/scala/atbash_test.scala +0 -48
|
@@ -0,0 +1,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.
|