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,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.
|