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,65 @@
|
|
1
|
+
# Transpose
|
2
|
+
|
3
|
+
Given an input text output it transposed.
|
4
|
+
|
5
|
+
Roughly explained, the transpose of a matrix:
|
6
|
+
|
7
|
+
```
|
8
|
+
ABC
|
9
|
+
DEF
|
10
|
+
```
|
11
|
+
|
12
|
+
is given by:
|
13
|
+
|
14
|
+
```
|
15
|
+
AD
|
16
|
+
BE
|
17
|
+
CF
|
18
|
+
```
|
19
|
+
|
20
|
+
Rows become columns and columns become rows. See <https://en.wikipedia.org/wiki/Transpose>.
|
21
|
+
|
22
|
+
If the input has rows of different lengths, this is to be solved as follows:
|
23
|
+
|
24
|
+
- Pad to the left with spaces.
|
25
|
+
- Don't pad to the right.
|
26
|
+
|
27
|
+
Therefore, transposing this matrix:
|
28
|
+
|
29
|
+
```
|
30
|
+
ABC
|
31
|
+
DE
|
32
|
+
```
|
33
|
+
|
34
|
+
results in:
|
35
|
+
|
36
|
+
```
|
37
|
+
AD
|
38
|
+
BE
|
39
|
+
C
|
40
|
+
```
|
41
|
+
|
42
|
+
And transposing:
|
43
|
+
|
44
|
+
```
|
45
|
+
AB
|
46
|
+
DEF
|
47
|
+
```
|
48
|
+
|
49
|
+
results in:
|
50
|
+
|
51
|
+
```
|
52
|
+
AD
|
53
|
+
BE
|
54
|
+
F
|
55
|
+
```
|
56
|
+
|
57
|
+
In general, all characters from the input should also be present in the transposed output.
|
58
|
+
That means that if a column in the input text contains only spaces on its bottom-most row(s),
|
59
|
+
the corresponding output row should contain the spaces in its right-most column(s).
|
60
|
+
## Source
|
61
|
+
|
62
|
+
Reddit r/dailyprogrammer challenge #270 [Easy]. [https://www.reddit.com/r/dailyprogrammer/comments/4msu2x/challenge_270_easy_transpose_the_input_text](https://www.reddit.com/r/dailyprogrammer/comments/4msu2x/challenge_270_easy_transpose_the_input_text)
|
63
|
+
|
64
|
+
## Submitting Incomplete Solutions
|
65
|
+
It's possible to submit an incomplete solution so you can see how others have completed the exercise.
|
@@ -0,0 +1,28 @@
|
|
1
|
+
# Trinary
|
2
|
+
|
3
|
+
Convert a trinary number, represented as a string (e.g. '102012'), to its
|
4
|
+
decimal equivalent using first principles.
|
5
|
+
|
6
|
+
The program should consider strings specifying an invalid trinary as the
|
7
|
+
value 0.
|
8
|
+
|
9
|
+
Trinary numbers contain three symbols: 0, 1, and 2.
|
10
|
+
|
11
|
+
The last place in a trinary number is the 1's place. The second to last
|
12
|
+
is the 3's place, the third to last is the 9's place, etc.
|
13
|
+
|
14
|
+
```bash
|
15
|
+
# "102012"
|
16
|
+
1 0 2 0 1 2 # the number
|
17
|
+
1*3^5 + 0*3^4 + 2*3^3 + 0*3^2 + 1*3^1 + 2*3^0 # the value
|
18
|
+
243 + 0 + 54 + 0 + 3 + 2 = 302
|
19
|
+
```
|
20
|
+
|
21
|
+
If your language provides a method in the standard library to perform the
|
22
|
+
conversion, pretend it doesn't exist and implement it yourself.
|
23
|
+
## Source
|
24
|
+
|
25
|
+
All of Computer Science [http://www.wolframalpha.com/input/?i=binary&a=*C.binary-_*MathWorld-](http://www.wolframalpha.com/input/?i=binary&a=*C.binary-_*MathWorld-)
|
26
|
+
|
27
|
+
## Submitting Incomplete Solutions
|
28
|
+
It's possible to submit an incomplete solution so you can see how others have completed the exercise.
|
@@ -0,0 +1,19 @@
|
|
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
|
+
## Source
|
15
|
+
|
16
|
+
This is a classic toy problem, but we were reminded of it by seeing it in the Go Tour.
|
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,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/lfe/config.json
CHANGED
@@ -1,222 +1,314 @@
|
|
1
1
|
{
|
2
2
|
"language": "Lisp Flavoured Erlang (LFE)",
|
3
3
|
"active": true,
|
4
|
-
"deprecated": [
|
5
|
-
"accumulate"
|
6
|
-
],
|
7
4
|
"foregone": [
|
8
5
|
|
9
6
|
],
|
10
7
|
"exercises": [
|
11
8
|
{
|
12
|
-
"
|
9
|
+
"uuid": "5617bcf3-dc58-437a-8e56-56d04ff8ddfb",
|
13
10
|
"slug": "leap",
|
11
|
+
"core": false,
|
12
|
+
"unlocked_by": null,
|
13
|
+
"difficulty": 1,
|
14
14
|
"topics": [
|
15
15
|
|
16
16
|
]
|
17
17
|
},
|
18
18
|
{
|
19
|
-
"
|
19
|
+
"uuid": "8db0d097-9758-4671-81ff-fd8111c4fd7d",
|
20
20
|
"slug": "rna-transcription",
|
21
|
+
"core": false,
|
22
|
+
"unlocked_by": null,
|
23
|
+
"difficulty": 1,
|
21
24
|
"topics": [
|
22
25
|
|
23
26
|
]
|
24
27
|
},
|
25
28
|
{
|
26
|
-
"
|
29
|
+
"uuid": "58764b96-7033-45f2-90a6-dd5e41a27ede",
|
27
30
|
"slug": "bob",
|
31
|
+
"core": false,
|
32
|
+
"unlocked_by": null,
|
33
|
+
"difficulty": 1,
|
28
34
|
"topics": [
|
29
35
|
|
30
36
|
]
|
31
37
|
},
|
32
38
|
{
|
33
|
-
"
|
39
|
+
"uuid": "8f8697e6-2e8b-47dc-8bd0-747f29b93ae7",
|
34
40
|
"slug": "sum-of-multiples",
|
41
|
+
"core": false,
|
42
|
+
"unlocked_by": null,
|
43
|
+
"difficulty": 1,
|
35
44
|
"topics": [
|
36
45
|
|
37
46
|
]
|
38
47
|
},
|
39
48
|
{
|
40
|
-
"
|
49
|
+
"uuid": "fe975ff0-e374-44c9-910b-740cc3cff4ad",
|
41
50
|
"slug": "strain",
|
51
|
+
"core": false,
|
52
|
+
"unlocked_by": null,
|
53
|
+
"difficulty": 1,
|
42
54
|
"topics": [
|
43
55
|
|
44
56
|
]
|
45
57
|
},
|
46
58
|
{
|
47
|
-
"
|
59
|
+
"uuid": "8583b88b-03e4-4bba-bc7b-767f2298d67e",
|
48
60
|
"slug": "hamming",
|
61
|
+
"core": false,
|
62
|
+
"unlocked_by": null,
|
63
|
+
"difficulty": 1,
|
49
64
|
"topics": [
|
50
65
|
|
51
66
|
]
|
52
67
|
},
|
53
68
|
{
|
54
|
-
"
|
69
|
+
"uuid": "dfb7c4aa-dc52-4973-8c50-f5153ab51406",
|
55
70
|
"slug": "space-age",
|
71
|
+
"core": false,
|
72
|
+
"unlocked_by": null,
|
73
|
+
"difficulty": 1,
|
56
74
|
"topics": [
|
57
75
|
|
58
76
|
]
|
59
77
|
},
|
60
78
|
{
|
61
|
-
"
|
79
|
+
"uuid": "0669f6eb-f740-431e-a4fc-70bc3d4cf498",
|
62
80
|
"slug": "grains",
|
81
|
+
"core": false,
|
82
|
+
"unlocked_by": null,
|
83
|
+
"difficulty": 1,
|
63
84
|
"topics": [
|
64
85
|
|
65
86
|
]
|
66
87
|
},
|
67
88
|
{
|
68
|
-
"
|
89
|
+
"uuid": "9bc1f720-ccd0-449f-99a7-1790b30690f1",
|
69
90
|
"slug": "anagram",
|
91
|
+
"core": false,
|
92
|
+
"unlocked_by": null,
|
93
|
+
"difficulty": 1,
|
70
94
|
"topics": [
|
71
95
|
|
72
96
|
]
|
73
97
|
},
|
74
98
|
{
|
75
|
-
"
|
99
|
+
"uuid": "9b1ae897-b15d-4180-af45-1c69f98a8f34",
|
76
100
|
"slug": "nucleotide-count",
|
101
|
+
"core": false,
|
102
|
+
"unlocked_by": null,
|
103
|
+
"difficulty": 1,
|
77
104
|
"topics": [
|
78
105
|
|
79
106
|
]
|
80
107
|
},
|
81
108
|
{
|
82
|
-
"
|
109
|
+
"uuid": "78c7360b-1460-4f16-8efe-5efcbd2cb863",
|
83
110
|
"slug": "atbash-cipher",
|
111
|
+
"core": false,
|
112
|
+
"unlocked_by": null,
|
113
|
+
"difficulty": 1,
|
84
114
|
"topics": [
|
85
115
|
|
86
116
|
]
|
87
117
|
},
|
88
118
|
{
|
89
|
-
"
|
119
|
+
"uuid": "c1e07140-0566-4b50-aca1-3eddaa87d4d2",
|
90
120
|
"slug": "phone-number",
|
121
|
+
"core": false,
|
122
|
+
"unlocked_by": null,
|
123
|
+
"difficulty": 1,
|
91
124
|
"topics": [
|
92
125
|
|
93
126
|
]
|
94
127
|
},
|
95
128
|
{
|
96
|
-
"
|
129
|
+
"uuid": "88c6dbe6-f672-4dba-950c-483e55ebd252",
|
97
130
|
"slug": "robot-simulator",
|
131
|
+
"core": false,
|
132
|
+
"unlocked_by": null,
|
133
|
+
"difficulty": 1,
|
98
134
|
"topics": [
|
99
135
|
|
100
136
|
]
|
101
137
|
},
|
102
138
|
{
|
103
|
-
"
|
139
|
+
"uuid": "d9013304-cc50-4a56-a645-51c4a80f1c82",
|
104
140
|
"slug": "grade-school",
|
141
|
+
"core": false,
|
142
|
+
"unlocked_by": null,
|
143
|
+
"difficulty": 1,
|
105
144
|
"topics": [
|
106
145
|
|
107
146
|
]
|
108
147
|
},
|
109
148
|
{
|
110
|
-
"
|
149
|
+
"uuid": "8eec3db3-b0e8-49b0-abc2-74b8e5691cb4",
|
111
150
|
"slug": "binary",
|
151
|
+
"core": false,
|
152
|
+
"unlocked_by": null,
|
153
|
+
"difficulty": 1,
|
112
154
|
"topics": [
|
113
155
|
|
114
156
|
]
|
115
157
|
},
|
116
158
|
{
|
117
|
-
"
|
159
|
+
"uuid": "5fca0d45-2bf5-486e-9c57-25cff5e4a9c5",
|
118
160
|
"slug": "word-count",
|
161
|
+
"core": false,
|
162
|
+
"unlocked_by": null,
|
163
|
+
"difficulty": 1,
|
119
164
|
"topics": [
|
120
165
|
|
121
166
|
]
|
122
167
|
},
|
123
168
|
{
|
124
|
-
"
|
169
|
+
"uuid": "ea131235-e238-4c8a-98b2-bb6191a89312",
|
125
170
|
"slug": "circular-buffer",
|
171
|
+
"core": false,
|
172
|
+
"unlocked_by": null,
|
173
|
+
"difficulty": 1,
|
126
174
|
"topics": [
|
127
175
|
|
128
176
|
]
|
129
177
|
},
|
130
178
|
{
|
131
|
-
"
|
179
|
+
"uuid": "049c088d-a0e6-4a19-8040-0a470c838e42",
|
132
180
|
"slug": "etl",
|
181
|
+
"core": false,
|
182
|
+
"unlocked_by": null,
|
183
|
+
"difficulty": 1,
|
133
184
|
"topics": [
|
134
185
|
|
135
186
|
]
|
136
187
|
},
|
137
188
|
{
|
138
|
-
"
|
189
|
+
"uuid": "0a75c71e-b634-4b49-b374-718528e21075",
|
139
190
|
"slug": "clock",
|
191
|
+
"core": false,
|
192
|
+
"unlocked_by": null,
|
193
|
+
"difficulty": 1,
|
140
194
|
"topics": [
|
141
195
|
|
142
196
|
]
|
143
197
|
},
|
144
198
|
{
|
145
|
-
"
|
199
|
+
"uuid": "63099375-19fa-462f-9e82-960508c229a4",
|
146
200
|
"slug": "gigasecond",
|
201
|
+
"core": false,
|
202
|
+
"unlocked_by": null,
|
203
|
+
"difficulty": 1,
|
147
204
|
"topics": [
|
148
205
|
|
149
206
|
]
|
150
207
|
},
|
151
208
|
{
|
152
|
-
"
|
209
|
+
"uuid": "b3581dfe-27c4-4356-a1d9-1e13759db736",
|
153
210
|
"slug": "beer-song",
|
211
|
+
"core": false,
|
212
|
+
"unlocked_by": null,
|
213
|
+
"difficulty": 1,
|
154
214
|
"topics": [
|
155
215
|
|
156
216
|
]
|
157
217
|
},
|
158
218
|
{
|
159
|
-
"
|
219
|
+
"uuid": "a84e2796-4c0b-4eaf-b836-b10cc3c7cff4",
|
160
220
|
"slug": "difference-of-squares",
|
221
|
+
"core": false,
|
222
|
+
"unlocked_by": null,
|
223
|
+
"difficulty": 1,
|
161
224
|
"topics": [
|
162
225
|
|
163
226
|
]
|
164
227
|
},
|
165
228
|
{
|
166
|
-
"
|
229
|
+
"uuid": "68eec796-a269-4e66-84b5-e26574ff614e",
|
167
230
|
"slug": "allergies",
|
231
|
+
"core": false,
|
232
|
+
"unlocked_by": null,
|
233
|
+
"difficulty": 1,
|
168
234
|
"topics": [
|
169
235
|
|
170
236
|
]
|
171
237
|
},
|
172
238
|
{
|
173
|
-
"
|
239
|
+
"uuid": "b5091e1d-c950-4cad-b583-c6b90c50c02e",
|
174
240
|
"slug": "bank-account",
|
241
|
+
"core": false,
|
242
|
+
"unlocked_by": null,
|
243
|
+
"difficulty": 1,
|
175
244
|
"topics": [
|
176
245
|
|
177
246
|
]
|
178
247
|
},
|
179
248
|
{
|
180
|
-
"
|
249
|
+
"uuid": "ee67a9ed-aad7-49db-bb00-a09925e48ffa",
|
181
250
|
"slug": "luhn",
|
251
|
+
"core": false,
|
252
|
+
"unlocked_by": null,
|
253
|
+
"difficulty": 1,
|
182
254
|
"topics": [
|
183
255
|
|
184
256
|
]
|
185
257
|
},
|
186
258
|
{
|
187
|
-
"
|
259
|
+
"uuid": "f2ca089e-66db-4b85-8275-5932952a36bf",
|
188
260
|
"slug": "series",
|
261
|
+
"core": false,
|
262
|
+
"unlocked_by": null,
|
263
|
+
"difficulty": 1,
|
189
264
|
"topics": [
|
190
265
|
|
191
266
|
]
|
192
267
|
},
|
193
268
|
{
|
194
|
-
"
|
269
|
+
"uuid": "db8c35d3-5203-4b3c-bb58-bd7a42ab2e5d",
|
195
270
|
"slug": "trinary",
|
271
|
+
"core": false,
|
272
|
+
"unlocked_by": null,
|
273
|
+
"difficulty": 1,
|
196
274
|
"topics": [
|
197
275
|
|
198
276
|
]
|
199
277
|
},
|
200
278
|
{
|
201
|
-
"
|
279
|
+
"uuid": "49005564-d4d3-4b49-991c-1a3f63e71f58",
|
202
280
|
"slug": "largest-series-product",
|
281
|
+
"core": false,
|
282
|
+
"unlocked_by": null,
|
283
|
+
"difficulty": 1,
|
203
284
|
"topics": [
|
204
285
|
|
205
286
|
]
|
206
287
|
},
|
207
288
|
{
|
208
|
-
"
|
289
|
+
"uuid": "1a93aacc-160f-4121-b03a-742e20f7c073",
|
209
290
|
"slug": "meetup",
|
291
|
+
"core": false,
|
292
|
+
"unlocked_by": null,
|
293
|
+
"difficulty": 1,
|
210
294
|
"topics": [
|
211
295
|
|
212
296
|
]
|
213
297
|
},
|
214
298
|
{
|
215
|
-
"
|
299
|
+
"uuid": "b41a9294-5d21-49f2-9c7e-9506662a80d2",
|
216
300
|
"slug": "parallel-letter-frequency",
|
301
|
+
"core": false,
|
302
|
+
"unlocked_by": null,
|
303
|
+
"difficulty": 1,
|
217
304
|
"topics": [
|
218
305
|
|
219
306
|
]
|
307
|
+
},
|
308
|
+
{
|
309
|
+
"uuid": "d706e999-482a-42de-8492-0a65e6258c19",
|
310
|
+
"slug": "accumulate",
|
311
|
+
"deprecated": true
|
220
312
|
}
|
221
313
|
]
|
222
314
|
}
|
@@ -0,0 +1,51 @@
|
|
1
|
+
# Accumulate
|
2
|
+
|
3
|
+
Implement the `accumulate` operation, which, given a collection and an
|
4
|
+
operation to perform on each element of the collection, returns a new
|
5
|
+
collection containing the result of applying that operation to each element of
|
6
|
+
the input collection.
|
7
|
+
|
8
|
+
Given the collection of numbers:
|
9
|
+
|
10
|
+
- 1, 2, 3, 4, 5
|
11
|
+
|
12
|
+
And the operation:
|
13
|
+
|
14
|
+
- square a number (`x => x * x`)
|
15
|
+
|
16
|
+
Your code should be able to produce the collection of squares:
|
17
|
+
|
18
|
+
- 1, 4, 9, 16, 25
|
19
|
+
|
20
|
+
Check out the test suite to see the expected function signature.
|
21
|
+
|
22
|
+
## Restrictions
|
23
|
+
|
24
|
+
Keep your hands off that collect/map/fmap/whatchamacallit functionality
|
25
|
+
provided by your standard library!
|
26
|
+
Solve this one yourself using other basic tools instead.
|
27
|
+
|
28
|
+
Lisp specific: it's perfectly fine to use `MAPCAR` or the equivalent,
|
29
|
+
as this is idiomatic Lisp, not a library function.
|
30
|
+
|
31
|
+
* * * *
|
32
|
+
|
33
|
+
For installation and learning resources, refer to the [exercism help page][].
|
34
|
+
|
35
|
+
[exercism help page]: http://exercism.io/languages/lfe
|
36
|
+
|
37
|
+
To run the provided tests, you will need `make`.
|
38
|
+
Open a terminal window and run the following from the exercise directory:
|
39
|
+
|
40
|
+
```sh
|
41
|
+
make test
|
42
|
+
```
|
43
|
+
|
44
|
+
You should now be able to see the results of the test suite for the exercise.
|
45
|
+
|
46
|
+
## Source
|
47
|
+
|
48
|
+
Conversation with James Edward Gray II [https://twitter.com/jeg2](https://twitter.com/jeg2)
|
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,53 @@
|
|
1
|
+
# Allergies
|
2
|
+
|
3
|
+
Given a person's allergy score, determine whether or not they're allergic to a given item, and their full list of allergies.
|
4
|
+
|
5
|
+
An allergy test produces a single numeric score which contains the
|
6
|
+
information about all the allergies the person has (that they were
|
7
|
+
tested for).
|
8
|
+
|
9
|
+
The list of items (and their value) that were tested are:
|
10
|
+
|
11
|
+
* eggs (1)
|
12
|
+
* peanuts (2)
|
13
|
+
* shellfish (4)
|
14
|
+
* strawberries (8)
|
15
|
+
* tomatoes (16)
|
16
|
+
* chocolate (32)
|
17
|
+
* pollen (64)
|
18
|
+
* cats (128)
|
19
|
+
|
20
|
+
So if Tom is allergic to peanuts and chocolate, he gets a score of 34.
|
21
|
+
|
22
|
+
Now, given just that score of 34, your program should be able to say:
|
23
|
+
|
24
|
+
- Whether Tom is allergic to any one of those allergens listed above.
|
25
|
+
- All the allergens Tom is allergic to.
|
26
|
+
|
27
|
+
Note: a given score may include allergens **not** listed above (i.e.
|
28
|
+
allergens that score 256, 512, 1024, etc.). Your program should
|
29
|
+
ignore those components of the score. For example, if the allergy
|
30
|
+
score is 257, your program should only report the eggs (1) allergy.
|
31
|
+
|
32
|
+
|
33
|
+
* * * *
|
34
|
+
|
35
|
+
For installation and learning resources, refer to the [exercism help page][].
|
36
|
+
|
37
|
+
[exercism help page]: http://exercism.io/languages/lfe
|
38
|
+
|
39
|
+
To run the provided tests, you will need `make`.
|
40
|
+
Open a terminal window and run the following from the exercise directory:
|
41
|
+
|
42
|
+
```sh
|
43
|
+
make test
|
44
|
+
```
|
45
|
+
|
46
|
+
You should now be able to see the results of the test suite for the exercise.
|
47
|
+
|
48
|
+
## Source
|
49
|
+
|
50
|
+
Jumpstart Lab Warm-up [http://jumpstartlab.com](http://jumpstartlab.com)
|
51
|
+
|
52
|
+
## Submitting Incomplete Solutions
|
53
|
+
It's possible to submit an incomplete solution so you can see how others have completed the exercise.
|
@@ -0,0 +1,29 @@
|
|
1
|
+
# Anagram
|
2
|
+
|
3
|
+
Given a word and a list of possible anagrams, select the correct sublist.
|
4
|
+
|
5
|
+
Given `"listen"` and a list of candidates like `"enlists" "google"
|
6
|
+
"inlets" "banana"` the program should return a list containing
|
7
|
+
`"inlets"`.
|
8
|
+
|
9
|
+
* * * *
|
10
|
+
|
11
|
+
For installation and learning resources, refer to the [exercism help page][].
|
12
|
+
|
13
|
+
[exercism help page]: http://exercism.io/languages/lfe
|
14
|
+
|
15
|
+
To run the provided tests, you will need `make`.
|
16
|
+
Open a terminal window and run the following from the exercise directory:
|
17
|
+
|
18
|
+
```sh
|
19
|
+
make test
|
20
|
+
```
|
21
|
+
|
22
|
+
You should now be able to see the results of the test suite for the exercise.
|
23
|
+
|
24
|
+
## Source
|
25
|
+
|
26
|
+
Inspired by the Extreme Startup game [https://github.com/rchatley/extreme_startup](https://github.com/rchatley/extreme_startup)
|
27
|
+
|
28
|
+
## Submitting Incomplete Solutions
|
29
|
+
It's possible to submit an incomplete solution so you can see how others have completed the exercise.
|
@@ -0,0 +1,50 @@
|
|
1
|
+
# Atbash Cipher
|
2
|
+
|
3
|
+
Create an implementation of the atbash cipher, an ancient encryption system created in the Middle East.
|
4
|
+
|
5
|
+
The Atbash cipher is a simple substitution cipher that relies on
|
6
|
+
transposing all the letters in the alphabet such that the resulting
|
7
|
+
alphabet is backwards. The first letter is replaced with the last
|
8
|
+
letter, the second with the second-last, and so on.
|
9
|
+
|
10
|
+
An Atbash cipher for the Latin alphabet would be as follows:
|
11
|
+
|
12
|
+
```plain
|
13
|
+
Plain: abcdefghijklmnopqrstuvwxyz
|
14
|
+
Cipher: zyxwvutsrqponmlkjihgfedcba
|
15
|
+
```
|
16
|
+
|
17
|
+
It is a very weak cipher because it only has one possible key, and it is
|
18
|
+
a simple monoalphabetic substitution cipher. However, this may not have
|
19
|
+
been an issue in the cipher's time.
|
20
|
+
|
21
|
+
Ciphertext is written out in groups of fixed length, the traditional group size
|
22
|
+
being 5 letters, and punctuation is excluded. This is to make it harder to guess
|
23
|
+
things based on word boundaries.
|
24
|
+
|
25
|
+
## Examples
|
26
|
+
- Encoding `test` gives `gvhg`
|
27
|
+
- Decoding `gvhg` gives `test`
|
28
|
+
- Decoding `gsvjf rxpyi ldmul cqfnk hlevi gsvoz abwlt` gives `thequickbrownfoxjumpsoverthelazydog`
|
29
|
+
|
30
|
+
* * * *
|
31
|
+
|
32
|
+
For installation and learning resources, refer to the [exercism help page][].
|
33
|
+
|
34
|
+
[exercism help page]: http://exercism.io/languages/lfe
|
35
|
+
|
36
|
+
To run the provided tests, you will need `make`.
|
37
|
+
Open a terminal window and run the following from the exercise directory:
|
38
|
+
|
39
|
+
```sh
|
40
|
+
make test
|
41
|
+
```
|
42
|
+
|
43
|
+
You should now be able to see the results of the test suite for the exercise.
|
44
|
+
|
45
|
+
## Source
|
46
|
+
|
47
|
+
Wikipedia [http://en.wikipedia.org/wiki/Atbash](http://en.wikipedia.org/wiki/Atbash)
|
48
|
+
|
49
|
+
## Submitting Incomplete Solutions
|
50
|
+
It's possible to submit an incomplete solution so you can see how others have completed the exercise.
|