trackler 2.2.1.110 → 2.2.1.111
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/problem-specifications/exercises/house/canonical-data.json +28 -200
- data/problem-specifications/exercises/react/canonical-data.json +49 -2
- data/tracks/c/config.json +49 -0
- data/tracks/c/exercises/crypto-square/README.md +69 -0
- data/tracks/c/exercises/crypto-square/makefile +25 -0
- data/tracks/c/exercises/crypto-square/src/example.c +87 -0
- data/tracks/c/exercises/crypto-square/src/example.h +6 -0
- data/tracks/c/exercises/crypto-square/test/test_crypto_square.c +99 -0
- data/tracks/c/exercises/crypto-square/test/vendor/unity.c +1300 -0
- data/tracks/c/exercises/crypto-square/test/vendor/unity.h +274 -0
- data/tracks/c/exercises/crypto-square/test/vendor/unity_internals.h +701 -0
- data/tracks/c/exercises/pig-latin/README.md +17 -0
- data/tracks/c/exercises/pig-latin/makefile +25 -0
- data/tracks/c/exercises/pig-latin/src/example.c +128 -0
- data/tracks/c/exercises/pig-latin/src/example.h +6 -0
- data/tracks/c/exercises/pig-latin/test/test_pig_latin.c +239 -0
- data/tracks/c/exercises/pig-latin/test/vendor/unity.c +1300 -0
- data/tracks/c/exercises/pig-latin/test/vendor/unity.h +274 -0
- data/tracks/c/exercises/pig-latin/test/vendor/unity_internals.h +701 -0
- data/tracks/c/exercises/say/README.md +62 -0
- data/tracks/c/exercises/say/makefile +27 -0
- data/tracks/c/exercises/say/src/example.c +144 -0
- data/tracks/c/exercises/say/src/example.h +7 -0
- data/tracks/c/exercises/say/test/test_say.c +185 -0
- data/tracks/c/exercises/say/test/vendor/unity.c +1300 -0
- data/tracks/c/exercises/say/test/vendor/unity.h +274 -0
- data/tracks/c/exercises/say/test/vendor/unity_internals.h +701 -0
- data/tracks/c/exercises/secret-handshake/README.md +28 -0
- data/tracks/c/exercises/secret-handshake/makefile +25 -0
- data/tracks/c/exercises/secret-handshake/src/example.c +60 -0
- data/tracks/c/exercises/secret-handshake/src/example.h +7 -0
- data/tracks/c/exercises/secret-handshake/test/test_secret_handshake.c +133 -0
- data/tracks/c/exercises/secret-handshake/test/vendor/unity.c +1300 -0
- data/tracks/c/exercises/secret-handshake/test/vendor/unity.h +274 -0
- data/tracks/c/exercises/secret-handshake/test/vendor/unity_internals.h +701 -0
- data/tracks/coffeescript/config/exercise_readme.go.tmpl +7 -4
- data/tracks/coffeescript/exercises/accumulate/README.md +0 -3
- data/tracks/coffeescript/exercises/atbash-cipher/README.md +2 -1
- data/tracks/coffeescript/exercises/beer-song/README.md +2 -2
- data/tracks/coffeescript/exercises/binary/README.md +2 -0
- data/tracks/coffeescript/exercises/linked-list/README.md +10 -10
- data/tracks/coffeescript/exercises/luhn/README.md +7 -7
- data/tracks/coffeescript/exercises/nucleotide-count/README.md +8 -22
- data/tracks/coffeescript/exercises/palindrome-products/README.md +15 -16
- data/tracks/coffeescript/exercises/pascals-triangle/README.md +2 -2
- data/tracks/coffeescript/exercises/queen-attack/README.md +1 -1
- data/tracks/coffeescript/exercises/triangle/README.md +9 -6
- data/tracks/coffeescript/exercises/trinary/README.md +1 -1
- data/tracks/coffeescript/exercises/word-count/README.md +1 -2
- data/tracks/coffeescript/exercises/wordy/README.md +0 -5
- data/tracks/coq/config/exercise_readme.go.tmpl +23 -4
- data/tracks/coq/exercises/rna-transcription/README.md +2 -2
- data/tracks/cpp/config/exercise_readme.go.tmpl +31 -4
- data/tracks/cpp/exercises/allergies/README.md +0 -1
- data/tracks/cpp/exercises/atbash-cipher/README.md +2 -1
- data/tracks/cpp/exercises/beer-song/README.md +2 -2
- data/tracks/cpp/exercises/binary/README.md +2 -0
- data/tracks/cpp/exercises/crypto-square/README.md +10 -8
- data/tracks/cpp/exercises/etl/README.md +3 -1
- data/tracks/cpp/exercises/food-chain/README.md +1 -1
- data/tracks/cpp/exercises/grade-school/README.md +0 -1
- data/tracks/cpp/exercises/grains/README.md +0 -1
- data/tracks/cpp/exercises/leap/README.md +1 -1
- data/tracks/cpp/exercises/meetup/README.md +16 -13
- data/tracks/cpp/exercises/nucleotide-count/README.md +2 -4
- data/tracks/cpp/exercises/pangram/README.md +1 -1
- data/tracks/cpp/exercises/phone-number/README.md +4 -3
- data/tracks/cpp/exercises/queen-attack/README.md +1 -1
- data/tracks/cpp/exercises/rna-transcription/README.md +2 -2
- data/tracks/cpp/exercises/roman-numerals/README.md +1 -1
- data/tracks/cpp/exercises/scrabble-score/README.md +3 -1
- data/tracks/cpp/exercises/space-age/README.md +1 -2
- data/tracks/cpp/exercises/sum-of-multiples/README.md +3 -6
- data/tracks/cpp/exercises/triangle/README.md +9 -6
- data/tracks/cpp/exercises/trinary/README.md +1 -1
- data/tracks/cpp/exercises/word-count/README.md +1 -2
- data/tracks/d/config/exercise_readme.go.tmpl +30 -4
- data/tracks/d/exercises/circular-buffer/README.md +13 -6
- data/tracks/d/exercises/crypto-square/README.md +10 -8
- data/tracks/d/exercises/etl/README.md +3 -1
- data/tracks/d/exercises/leap/README.md +1 -1
- data/tracks/d/exercises/nucleotide-count/README.md +8 -22
- data/tracks/d/exercises/pangram/README.md +1 -1
- data/tracks/d/exercises/react/README.md +0 -1
- data/tracks/d/exercises/rna-transcription/README.md +2 -2
- data/tracks/d/exercises/roman-numerals/README.md +1 -1
- data/tracks/d/exercises/triangle/README.md +9 -6
- data/tracks/ecmascript/config/exercise_readme.go.tmpl +29 -4
- data/tracks/ecmascript/exercises/accumulate/README.md +1 -4
- data/tracks/ecmascript/exercises/acronym/README.md +1 -2
- data/tracks/ecmascript/exercises/all-your-base/README.md +2 -3
- data/tracks/ecmascript/exercises/allergies/README.md +1 -2
- data/tracks/ecmascript/exercises/alphametics/README.md +3 -4
- data/tracks/ecmascript/exercises/anagram/README.md +1 -1
- data/tracks/ecmascript/exercises/atbash-cipher/README.md +3 -2
- data/tracks/ecmascript/exercises/beer-song/README.md +3 -3
- data/tracks/ecmascript/exercises/binary-search-tree/README.md +1 -1
- data/tracks/ecmascript/exercises/binary-search/README.md +1 -1
- data/tracks/ecmascript/exercises/binary/README.md +3 -1
- data/tracks/ecmascript/exercises/bowling/README.md +32 -15
- data/tracks/ecmascript/exercises/bracket-push/README.md +1 -1
- data/tracks/ecmascript/exercises/change/README.md +19 -10
- data/tracks/ecmascript/exercises/circular-buffer/README.md +14 -7
- data/tracks/ecmascript/exercises/clock/README.md +1 -1
- data/tracks/ecmascript/exercises/collatz-conjecture/README.md +5 -1
- data/tracks/ecmascript/exercises/complex-numbers/README.md +2 -2
- data/tracks/ecmascript/exercises/connect/README.md +2 -3
- data/tracks/ecmascript/exercises/crypto-square/README.md +11 -9
- data/tracks/ecmascript/exercises/custom-set/README.md +1 -2
- data/tracks/ecmascript/exercises/diamond/README.md +7 -7
- data/tracks/ecmascript/exercises/difference-of-squares/README.md +1 -1
- data/tracks/ecmascript/exercises/diffie-hellman/README.md +1 -1
- data/tracks/ecmascript/exercises/etl/README.md +4 -2
- data/tracks/ecmascript/exercises/flatten-array/README.md +2 -3
- data/tracks/ecmascript/exercises/food-chain/README.md +2 -2
- data/tracks/ecmascript/exercises/gigasecond/README.md +1 -1
- data/tracks/ecmascript/exercises/grade-school/README.md +1 -2
- data/tracks/ecmascript/exercises/grains/README.md +1 -2
- data/tracks/ecmascript/exercises/hamming/README.md +1 -1
- data/tracks/ecmascript/exercises/hello-world/README.md +1 -1
- data/tracks/ecmascript/exercises/hexadecimal/README.md +1 -1
- data/tracks/ecmascript/exercises/house/README.md +1 -5
- data/tracks/ecmascript/exercises/isbn-verifier/README.md +32 -17
- data/tracks/ecmascript/exercises/isogram/README.md +3 -2
- data/tracks/ecmascript/exercises/kindergarten-garden/README.md +14 -14
- data/tracks/ecmascript/exercises/largest-series-product/README.md +1 -1
- data/tracks/ecmascript/exercises/leap/README.md +2 -2
- data/tracks/ecmascript/exercises/linked-list/README.md +11 -11
- data/tracks/ecmascript/exercises/list-ops/README.md +1 -2
- data/tracks/ecmascript/exercises/luhn/README.md +8 -8
- data/tracks/ecmascript/exercises/matrix/README.md +7 -5
- data/tracks/ecmascript/exercises/meetup/README.md +17 -14
- data/tracks/ecmascript/exercises/minesweeper/README.md +1 -2
- data/tracks/ecmascript/exercises/nth-prime/README.md +1 -1
- data/tracks/ecmascript/exercises/ocr-numbers/README.md +7 -7
- data/tracks/ecmascript/exercises/octal/README.md +7 -3
- data/tracks/ecmascript/exercises/palindrome-products/README.md +16 -17
- data/tracks/ecmascript/exercises/pangram/README.md +2 -2
- data/tracks/ecmascript/exercises/pascals-triangle/README.md +3 -3
- data/tracks/ecmascript/exercises/perfect-numbers/README.md +3 -3
- data/tracks/ecmascript/exercises/phone-number/README.md +5 -4
- data/tracks/ecmascript/exercises/pig-latin/README.md +1 -1
- data/tracks/ecmascript/exercises/prime-factors/README.md +1 -1
- data/tracks/ecmascript/exercises/protein-translation/README.md +8 -8
- data/tracks/ecmascript/exercises/proverb/README.md +17 -27
- data/tracks/ecmascript/exercises/pythagorean-triplet/README.md +4 -4
- data/tracks/ecmascript/exercises/queen-attack/README.md +2 -2
- data/tracks/ecmascript/exercises/raindrops/README.md +1 -1
- data/tracks/ecmascript/exercises/react/README.md +8 -1
- data/tracks/ecmascript/exercises/rectangles/README.md +11 -10
- data/tracks/ecmascript/exercises/rna-transcription/README.md +3 -3
- data/tracks/ecmascript/exercises/robot-name/README.md +1 -1
- data/tracks/ecmascript/exercises/robot-simulator/README.md +1 -1
- data/tracks/ecmascript/exercises/roman-numerals/README.md +2 -2
- data/tracks/ecmascript/exercises/rotational-cipher/README.md +3 -2
- data/tracks/ecmascript/exercises/run-length-encoding/README.md +9 -8
- data/tracks/ecmascript/exercises/saddle-points/README.md +3 -3
- data/tracks/ecmascript/exercises/say/README.md +1 -1
- data/tracks/ecmascript/exercises/scrabble-score/README.md +4 -2
- data/tracks/ecmascript/exercises/secret-handshake/README.md +3 -3
- data/tracks/ecmascript/exercises/series/README.md +1 -1
- data/tracks/ecmascript/exercises/sieve/README.md +1 -1
- data/tracks/ecmascript/exercises/simple-cipher/README.md +6 -8
- data/tracks/ecmascript/exercises/simple-linked-list/README.md +2 -1
- data/tracks/ecmascript/exercises/space-age/README.md +2 -2
- data/tracks/ecmascript/exercises/spiral-matrix/README.md +4 -3
- data/tracks/ecmascript/exercises/strain/README.md +1 -1
- data/tracks/ecmascript/exercises/sublist/README.md +1 -1
- data/tracks/ecmascript/exercises/sum-of-multiples/README.md +4 -7
- data/tracks/ecmascript/exercises/transpose/README.md +3 -2
- data/tracks/ecmascript/exercises/triangle/README.md +10 -7
- data/tracks/ecmascript/exercises/trinary/README.md +2 -2
- data/tracks/ecmascript/exercises/twelve-days/README.md +3 -4
- data/tracks/ecmascript/exercises/two-bucket/README.md +11 -11
- data/tracks/ecmascript/exercises/two-fer/README.md +8 -6
- data/tracks/ecmascript/exercises/word-count/README.md +2 -3
- data/tracks/ecmascript/exercises/word-search/README.md +2 -1
- data/tracks/ecmascript/exercises/wordy/README.md +1 -6
- data/tracks/elixir/exercises/bob/bob_test.exs +1 -1
- data/tracks/elixir/exercises/bob/example.exs +13 -9
- data/tracks/elm/config.json +28 -0
- data/tracks/elm/config/exercise_readme.go.tmpl +3 -3
- data/tracks/elm/docs/INSTALLATION.md +6 -2
- data/tracks/elm/exercises/accumulate/README.md +3 -3
- data/tracks/elm/exercises/acronym/Acronym.elm +1 -0
- data/tracks/elm/exercises/acronym/Acronym.example.elm +22 -0
- data/tracks/elm/exercises/acronym/README.md +44 -0
- data/tracks/elm/exercises/acronym/elm-package.json +15 -0
- data/tracks/elm/exercises/acronym/tests/Tests.elm +35 -0
- data/tracks/elm/exercises/acronym/tests/elm-package.json +16 -0
- data/tracks/elm/exercises/all-your-base/README.md +3 -3
- data/tracks/elm/exercises/allergies/README.md +3 -3
- data/tracks/elm/exercises/anagram/README.md +3 -3
- data/tracks/elm/exercises/atbash-cipher/README.md +3 -3
- data/tracks/elm/exercises/binary-search/README.md +3 -3
- data/tracks/elm/exercises/bob/README.md +3 -5
- data/tracks/elm/exercises/collatz-conjecture/README.md +3 -3
- data/tracks/elm/exercises/difference-of-squares/README.md +3 -3
- data/tracks/elm/exercises/etl/README.md +3 -3
- data/tracks/elm/exercises/gigasecond/README.md +3 -3
- data/tracks/elm/exercises/grade-school/README.md +3 -3
- data/tracks/elm/exercises/grains/README.md +3 -3
- data/tracks/elm/exercises/hamming/README.md +3 -3
- data/tracks/elm/exercises/hello-world/README.md +3 -3
- data/tracks/elm/exercises/isogram/README.md +3 -3
- data/tracks/elm/exercises/largest-series-product/README.md +3 -3
- data/tracks/elm/exercises/leap/README.md +3 -3
- data/tracks/elm/exercises/list-ops/README.md +3 -3
- data/tracks/elm/exercises/luhn/Luhn.elm +1 -0
- data/tracks/elm/exercises/luhn/Luhn.example.elm +51 -0
- data/tracks/elm/exercises/luhn/README.md +101 -0
- data/tracks/elm/exercises/luhn/elm-package.json +15 -0
- data/tracks/elm/exercises/luhn/tests/Tests.elm +62 -0
- data/tracks/elm/exercises/luhn/tests/elm-package.json +16 -0
- data/tracks/elm/exercises/nucleotide-count/README.md +3 -3
- data/tracks/elm/exercises/pangram/.meta/description.md +7 -0
- data/tracks/elm/exercises/pangram/README.md +4 -4
- data/tracks/elm/exercises/pascals-triangle/README.md +3 -3
- data/tracks/elm/exercises/phone-number/README.md +3 -3
- data/tracks/elm/exercises/raindrops/README.md +3 -3
- data/tracks/elm/exercises/rna-transcription/README.md +4 -4
- data/tracks/elm/exercises/robot-simulator/README.md +3 -3
- data/tracks/elm/exercises/roman-numerals/README.md +3 -3
- data/tracks/elm/exercises/run-length-encoding/README.md +3 -3
- data/tracks/elm/exercises/say/README.md +3 -3
- data/tracks/elm/exercises/scrabble-score/README.md +3 -3
- data/tracks/elm/exercises/series/README.md +3 -3
- data/tracks/elm/exercises/space-age/README.md +3 -3
- data/tracks/elm/exercises/strain/README.md +3 -3
- data/tracks/elm/exercises/sublist/README.md +3 -3
- data/tracks/elm/exercises/sum-of-multiples/README.md +3 -3
- data/tracks/elm/exercises/triangle/README.md +3 -3
- data/tracks/elm/exercises/twelve-days/README.md +65 -0
- data/tracks/elm/exercises/twelve-days/TwelveDays.elm +1 -0
- data/tracks/elm/exercises/twelve-days/TwelveDays.example.elm +148 -0
- data/tracks/elm/exercises/twelve-days/elm-package.json +14 -0
- data/tracks/elm/exercises/twelve-days/tests/Tests.elm +130 -0
- data/tracks/elm/exercises/twelve-days/tests/elm-package.json +16 -0
- data/tracks/elm/exercises/word-count/README.md +3 -3
- data/tracks/elm/package-lock.json +2329 -0
- data/tracks/elm/package.json +6 -1
- data/tracks/erlang/config/exercise_readme.go.tmpl +42 -4
- data/tracks/erlang/exercises/accumulate/README.md +0 -3
- data/tracks/erlang/exercises/all-your-base/README.md +1 -2
- data/tracks/erlang/exercises/allergies/README.md +0 -1
- data/tracks/erlang/exercises/atbash-cipher/README.md +2 -1
- data/tracks/erlang/exercises/bank-account/README.md +0 -1
- data/tracks/erlang/exercises/beer-song/README.md +2 -2
- data/tracks/erlang/exercises/circular-buffer/README.md +13 -6
- data/tracks/erlang/exercises/collatz-conjecture/README.md +1 -1
- data/tracks/erlang/exercises/custom-set/README.md +0 -1
- data/tracks/erlang/exercises/etl/README.md +3 -1
- data/tracks/erlang/exercises/grade-school/README.md +0 -1
- data/tracks/erlang/exercises/grains/README.md +0 -1
- data/tracks/erlang/exercises/isogram/README.md +5 -7
- data/tracks/erlang/exercises/leap/README.md +1 -1
- data/tracks/erlang/exercises/luhn/README.md +7 -7
- data/tracks/erlang/exercises/meetup/README.md +16 -13
- data/tracks/erlang/exercises/nucleotide-count/README.md +8 -22
- data/tracks/erlang/exercises/pangram/README.md +7 -9
- data/tracks/erlang/exercises/parallel-letter-frequency/README.md +0 -1
- data/tracks/erlang/exercises/phone-number/README.md +4 -3
- data/tracks/erlang/exercises/raindrops/README.md +1 -1
- data/tracks/erlang/exercises/rna-transcription/README.md +2 -2
- data/tracks/erlang/exercises/roman-numerals/README.md +1 -1
- data/tracks/erlang/exercises/rotational-cipher/README.md +2 -1
- data/tracks/erlang/exercises/scrabble-score/README.md +3 -1
- data/tracks/erlang/exercises/sieve/README.md +26 -37
- data/tracks/erlang/exercises/space-age/README.md +1 -1
- data/tracks/erlang/exercises/spiral-matrix/README.md +2 -2
- data/tracks/erlang/exercises/sum-of-multiples/README.md +3 -6
- data/tracks/erlang/exercises/triangle/README.md +9 -6
- data/tracks/erlang/exercises/two-fer/README.md +48 -5
- data/tracks/erlang/exercises/word-count/README.md +1 -2
- data/tracks/erlang/exercises/zipper/README.md +1 -2
- data/tracks/go/config.json +11 -0
- data/tracks/go/exercises/bowling/cases_test.go +17 -2
- data/tracks/go/exercises/grep/.meta/gen.go +9 -7
- data/tracks/go/exercises/grep/cases_test.go +2 -2
- data/tracks/go/exercises/scale-generator/.meta/gen.go +59 -0
- data/tracks/go/exercises/scale-generator/README.md +76 -0
- data/tracks/go/exercises/scale-generator/cases_test.go +117 -0
- data/tracks/go/exercises/scale-generator/example.go +62 -0
- data/tracks/go/exercises/scale-generator/scale_generator_test.go +24 -0
- data/tracks/haskell/.travis.yml +16 -0
- data/tracks/haskell/config.json +9 -0
- data/tracks/haskell/config/exercise_readme.go.tmpl +53 -4
- data/tracks/haskell/exercises/all-your-base/README.md +0 -1
- data/tracks/haskell/exercises/alphametics/README.md +0 -1
- data/tracks/haskell/exercises/alphametics/examples/success-standard/src/Alphametics.hs +2 -2
- data/tracks/haskell/exercises/bank-account/README.md +0 -1
- data/tracks/haskell/exercises/bank-account/examples/success-standard/src/BankAccount.hs +1 -1
- data/tracks/haskell/exercises/connect/README.md +0 -1
- data/tracks/haskell/exercises/custom-set/README.md +0 -1
- data/tracks/haskell/exercises/dominoes/README.md +0 -1
- data/tracks/haskell/exercises/forth/README.md +0 -1
- data/tracks/haskell/exercises/go-counting/README.md +0 -1
- data/tracks/haskell/exercises/lens-person/README.md +0 -1
- data/tracks/haskell/exercises/list-ops/README.md +0 -1
- data/tracks/haskell/exercises/minesweeper/README.md +0 -1
- data/tracks/haskell/exercises/parallel-letter-frequency/README.md +0 -1
- data/tracks/haskell/exercises/sgf-parsing/README.md +0 -1
- data/tracks/haskell/exercises/sgf-parsing/examples/success-standard/src/Sgf.hs +2 -3
- data/tracks/haskell/exercises/sublist/README.md +0 -1
- data/tracks/haskell/exercises/transpose/README.md +119 -0
- data/tracks/haskell/exercises/transpose/examples/success-standard/package.yaml +16 -0
- data/tracks/haskell/exercises/transpose/examples/success-standard/src/Transpose.hs +16 -0
- data/tracks/haskell/exercises/transpose/package.yaml +20 -0
- data/tracks/haskell/exercises/transpose/src/Transpose.hs +4 -0
- data/tracks/haskell/exercises/transpose/stack.yaml +1 -0
- data/tracks/haskell/exercises/transpose/test/Tests.hs +181 -0
- data/tracks/haskell/exercises/zipper/README.md +0 -1
- data/tracks/java/config.json +38 -0
- data/tracks/java/exercises/atbash-cipher/.meta/version +1 -1
- data/tracks/java/exercises/collatz-conjecture/.meta/version +1 -1
- data/tracks/java/exercises/diffie-hellman/.meta/hints.md +3 -0
- data/tracks/java/exercises/diffie-hellman/.meta/src/reference/java/DiffieHellman.java +24 -0
- data/tracks/java/exercises/diffie-hellman/README.md +63 -0
- data/tracks/java/exercises/diffie-hellman/build.gradle +19 -0
- data/tracks/java/exercises/diffie-hellman/src/main/java/.keep +0 -0
- data/tracks/java/exercises/diffie-hellman/src/test/java/DiffieHellmanTest.java +98 -0
- data/tracks/java/exercises/error-handling/.meta/hints.md +35 -0
- data/tracks/java/exercises/error-handling/.meta/src/reference/java/CustomCheckedException.java +11 -0
- data/tracks/java/exercises/error-handling/.meta/src/reference/java/CustomUncheckedException.java +11 -0
- data/tracks/java/exercises/error-handling/.meta/src/reference/java/ErrorHandling.java +63 -0
- data/tracks/java/exercises/error-handling/README.md +24 -0
- data/tracks/java/exercises/error-handling/build.gradle +18 -0
- data/tracks/java/exercises/error-handling/src/main/java/CustomCheckedException.java +11 -0
- data/tracks/java/exercises/error-handling/src/main/java/CustomUncheckedException.java +11 -0
- data/tracks/java/exercises/error-handling/src/main/java/ErrorHandling.java +49 -0
- data/tracks/java/exercises/error-handling/src/test/java/ErrorHandlingTest.java +116 -0
- data/tracks/java/exercises/flatten-array/.meta/version +1 -1
- data/tracks/java/exercises/nth-prime/.meta/version +1 -1
- data/tracks/java/exercises/pig-latin/README.md +4 -4
- data/tracks/java/exercises/protein-translation/.meta/version +1 -1
- data/tracks/java/exercises/saddle-points/.meta/version +1 -1
- data/tracks/java/exercises/settings.gradle +3 -0
- data/tracks/java/exercises/variable-length-quantity/.meta/src/reference/java/VariableLengthQuantity.java +53 -0
- data/tracks/java/exercises/variable-length-quantity/.meta/version +1 -0
- data/tracks/java/exercises/variable-length-quantity/README.md +50 -0
- data/tracks/java/exercises/variable-length-quantity/build.gradle +18 -0
- data/tracks/java/exercises/variable-length-quantity/src/main/java/VariableLengthQuantity.java +12 -0
- data/tracks/java/exercises/variable-length-quantity/src/test/java/VariableLengthQuantityTest.java +265 -0
- data/tracks/java/exercises/word-count/.meta/version +1 -1
- data/tracks/javascript/.eslintignore +0 -6
- data/tracks/javascript/config.json +47 -0
- data/tracks/javascript/exercises/bowling/bowling.spec.js +105 -41
- data/tracks/javascript/exercises/bowling/example.js +112 -59
- data/tracks/javascript/exercises/custom-set/example-gen.js +4 -4
- data/tracks/javascript/exercises/flatten-array/example.js +6 -5
- data/tracks/javascript/exercises/flatten-array/flatten-array.spec.js +15 -15
- data/tracks/javascript/exercises/grade-school/example.js +6 -6
- data/tracks/javascript/exercises/kindergarten-garden/example.js +9 -9
- data/tracks/javascript/exercises/nth-prime/example.js +6 -6
- data/tracks/javascript/exercises/perfect-numbers/example.js +6 -2
- data/tracks/javascript/exercises/queen-attack/example.js +5 -5
- data/tracks/javascript/exercises/queen-attack/queen-attack.spec.js +11 -9
- data/tracks/javascript/exercises/rational-numbers/README.md +62 -0
- data/tracks/javascript/exercises/rational-numbers/example.js +69 -0
- data/tracks/javascript/exercises/rational-numbers/rational-numbers.spec.js +197 -0
- data/tracks/javascript/exercises/rectangles/README.md +91 -0
- data/tracks/javascript/exercises/rectangles/example.js +66 -0
- data/tracks/javascript/exercises/rectangles/rectangles.spec.js +108 -0
- data/tracks/javascript/exercises/rotational-cipher/README.md +64 -0
- data/tracks/javascript/exercises/rotational-cipher/example.js +24 -0
- data/tracks/javascript/exercises/rotational-cipher/rotational-cipher.spec.js +55 -0
- data/tracks/javascript/exercises/secret-handshake/example.js +1 -2
- data/tracks/javascript/exercises/secret-handshake/secret-handshake.spec.js +2 -1
- data/tracks/javascript/exercises/simple-linked-list/example.js +10 -6
- data/tracks/javascript/exercises/simple-linked-list/simple-linked-list.spec.js +6 -3
- data/tracks/javascript/exercises/variable-length-quantity/README.md +62 -0
- data/tracks/javascript/exercises/variable-length-quantity/example.js +51 -0
- data/tracks/javascript/exercises/variable-length-quantity/variable-length-quantity.spec.js +115 -0
- data/tracks/javascript/package.json +4 -2
- data/tracks/lfe/config/exercise_readme.go.tmpl +15 -4
- data/tracks/lfe/exercises/accumulate/README.md +0 -3
- data/tracks/lfe/exercises/allergies/README.md +0 -1
- data/tracks/lfe/exercises/atbash-cipher/README.md +2 -1
- data/tracks/lfe/exercises/bank-account/README.md +0 -1
- data/tracks/lfe/exercises/beer-song/README.md +2 -2
- data/tracks/lfe/exercises/binary/README.md +2 -0
- data/tracks/lfe/exercises/circular-buffer/README.md +13 -6
- data/tracks/lfe/exercises/etl/README.md +3 -1
- data/tracks/lfe/exercises/grade-school/README.md +0 -1
- data/tracks/lfe/exercises/grains/README.md +0 -1
- data/tracks/lfe/exercises/leap/README.md +1 -1
- data/tracks/lfe/exercises/luhn/README.md +7 -7
- data/tracks/lfe/exercises/meetup/README.md +16 -13
- data/tracks/lfe/exercises/nucleotide-count/README.md +8 -22
- data/tracks/lfe/exercises/parallel-letter-frequency/README.md +0 -1
- data/tracks/lfe/exercises/phone-number/README.md +4 -3
- data/tracks/lfe/exercises/rna-transcription/README.md +2 -2
- data/tracks/lfe/exercises/space-age/README.md +1 -1
- data/tracks/lfe/exercises/sum-of-multiples/README.md +3 -6
- data/tracks/lfe/exercises/trinary/README.md +1 -1
- data/tracks/lfe/exercises/word-count/README.md +1 -2
- data/tracks/objective-c/config.json +11 -0
- data/tracks/objective-c/exercises/prime-factors/PrimeFactorsExample.h +9 -0
- data/tracks/objective-c/exercises/prime-factors/PrimeFactorsExample.m +24 -0
- data/tracks/objective-c/exercises/prime-factors/PrimeFactorsTest.m +67 -0
- data/tracks/objective-c/exercises/prime-factors/README.md +58 -0
- data/tracks/objective-c/xcodeProject/ObjectiveC.xcodeproj/project.pbxproj +18 -0
- data/tracks/ocaml/README.md +11 -2
- data/tracks/ocaml/docs/INSTALLATION.md +4 -4
- data/tracks/ocaml/docs/LEARNING.md +4 -2
- data/tracks/ocaml/docs/TESTS.md +7 -14
- data/tracks/ocaml/exercises/acronym/Makefile +4 -6
- data/tracks/ocaml/exercises/acronym/example.ml +2 -2
- data/tracks/ocaml/exercises/acronym/jbuild +11 -0
- data/tracks/ocaml/exercises/acronym/test.ml +1 -2
- data/tracks/ocaml/exercises/all-your-base/Makefile +4 -6
- data/tracks/ocaml/exercises/all-your-base/example.ml +1 -1
- data/tracks/ocaml/exercises/all-your-base/jbuild +11 -0
- data/tracks/ocaml/exercises/all-your-base/test.ml +1 -2
- data/tracks/ocaml/exercises/anagram/Makefile +4 -6
- data/tracks/ocaml/exercises/anagram/example.ml +2 -2
- data/tracks/ocaml/exercises/anagram/jbuild +11 -0
- data/tracks/ocaml/exercises/anagram/test.ml +2 -2
- data/tracks/ocaml/exercises/atbash-cipher/Makefile +4 -6
- data/tracks/ocaml/exercises/atbash-cipher/example.ml +1 -1
- data/tracks/ocaml/exercises/atbash-cipher/jbuild +11 -0
- data/tracks/ocaml/exercises/atbash-cipher/test.ml +1 -2
- data/tracks/ocaml/exercises/beer-song/Makefile +4 -6
- data/tracks/ocaml/exercises/beer-song/example.ml +3 -3
- data/tracks/ocaml/exercises/beer-song/jbuild +11 -0
- data/tracks/ocaml/exercises/beer-song/test.ml +3 -3
- data/tracks/ocaml/exercises/binary-search/Makefile +4 -6
- data/tracks/ocaml/exercises/binary-search/example.ml +1 -1
- data/tracks/ocaml/exercises/binary-search/jbuild +11 -0
- data/tracks/ocaml/exercises/binary-search/test.ml +1 -2
- data/tracks/ocaml/exercises/bob/Makefile +4 -6
- data/tracks/ocaml/exercises/bob/example.ml +2 -2
- data/tracks/ocaml/exercises/bob/jbuild +11 -0
- data/tracks/ocaml/exercises/bowling/Makefile +4 -6
- data/tracks/ocaml/exercises/bowling/bowling.mli +1 -1
- data/tracks/ocaml/exercises/bowling/example.ml +1 -1
- data/tracks/ocaml/exercises/bowling/jbuild +11 -0
- data/tracks/ocaml/exercises/bowling/test.ml +1 -1
- data/tracks/ocaml/exercises/bracket-push/Makefile +4 -6
- data/tracks/ocaml/exercises/bracket-push/example.ml +2 -2
- data/tracks/ocaml/exercises/bracket-push/jbuild +11 -0
- data/tracks/ocaml/exercises/bracket-push/test.ml +1 -1
- data/tracks/ocaml/exercises/change/Makefile +4 -6
- data/tracks/ocaml/exercises/change/example.ml +1 -1
- data/tracks/ocaml/exercises/change/jbuild +11 -0
- data/tracks/ocaml/exercises/change/test.ml +2 -2
- data/tracks/ocaml/exercises/connect/Makefile +4 -10
- data/tracks/ocaml/exercises/connect/example.ml +23 -17
- data/tracks/ocaml/exercises/connect/jbuild +11 -0
- data/tracks/ocaml/exercises/connect/test.ml +1 -1
- data/tracks/ocaml/exercises/custom-set/Makefile +4 -6
- data/tracks/ocaml/exercises/custom-set/jbuild +11 -0
- data/tracks/ocaml/exercises/difference-of-squares/Makefile +4 -6
- data/tracks/ocaml/exercises/difference-of-squares/example.ml +1 -1
- data/tracks/ocaml/exercises/difference-of-squares/jbuild +11 -0
- data/tracks/ocaml/exercises/difference-of-squares/test.ml +0 -1
- data/tracks/ocaml/exercises/dominoes/Makefile +4 -6
- data/tracks/ocaml/exercises/dominoes/example.ml +1 -1
- data/tracks/ocaml/exercises/dominoes/jbuild +11 -0
- data/tracks/ocaml/exercises/dominoes/test.ml +9 -4
- data/tracks/ocaml/exercises/etl/Makefile +4 -6
- data/tracks/ocaml/exercises/etl/example.ml +1 -1
- data/tracks/ocaml/exercises/etl/jbuild +11 -0
- data/tracks/ocaml/exercises/etl/test.ml +1 -3
- data/tracks/ocaml/exercises/forth/Makefile +4 -6
- data/tracks/ocaml/exercises/forth/example.ml +7 -4
- data/tracks/ocaml/exercises/forth/jbuild +11 -0
- data/tracks/ocaml/exercises/forth/test.ml +1 -1
- data/tracks/ocaml/exercises/grade-school/Makefile +4 -6
- data/tracks/ocaml/exercises/grade-school/example.ml +5 -6
- data/tracks/ocaml/exercises/grade-school/grade_school.mli +1 -6
- data/tracks/ocaml/exercises/grade-school/jbuild +11 -0
- data/tracks/ocaml/exercises/grade-school/test.ml +24 -56
- data/tracks/ocaml/exercises/hamming/Makefile +4 -6
- data/tracks/ocaml/exercises/hamming/example.ml +9 -2
- data/tracks/ocaml/exercises/hamming/jbuild +11 -0
- data/tracks/ocaml/exercises/hamming/test.ml +6 -6
- data/tracks/ocaml/exercises/hangman/Makefile +4 -6
- data/tracks/ocaml/exercises/hangman/example.ml +1 -1
- data/tracks/ocaml/exercises/hangman/jbuild +11 -0
- data/tracks/ocaml/exercises/hangman/test.ml +0 -1
- data/tracks/ocaml/exercises/hello-world/Makefile +4 -6
- data/tracks/ocaml/exercises/hello-world/jbuild +11 -0
- data/tracks/ocaml/exercises/hello-world/test.ml +1 -2
- data/tracks/ocaml/exercises/hexadecimal/Makefile +4 -6
- data/tracks/ocaml/exercises/hexadecimal/example.ml +2 -2
- data/tracks/ocaml/exercises/hexadecimal/jbuild +11 -0
- data/tracks/ocaml/exercises/hexadecimal/test.ml +1 -1
- data/tracks/ocaml/exercises/leap/Makefile +4 -6
- data/tracks/ocaml/exercises/leap/jbuild +11 -0
- data/tracks/ocaml/exercises/leap/test.ml +1 -2
- data/tracks/ocaml/exercises/list-ops/Makefile +4 -6
- data/tracks/ocaml/exercises/list-ops/jbuild +11 -0
- data/tracks/ocaml/exercises/list-ops/test.ml +2 -2
- data/tracks/ocaml/exercises/luhn/Makefile +4 -6
- data/tracks/ocaml/exercises/luhn/example.ml +2 -2
- data/tracks/ocaml/exercises/luhn/jbuild +11 -0
- data/tracks/ocaml/exercises/luhn/test.ml +1 -1
- data/tracks/ocaml/exercises/meetup/Makefile +4 -6
- data/tracks/ocaml/exercises/meetup/example.ml +1 -1
- data/tracks/ocaml/exercises/meetup/jbuild +11 -0
- data/tracks/ocaml/exercises/meetup/test.ml +1 -1
- data/tracks/ocaml/exercises/minesweeper/Makefile +4 -6
- data/tracks/ocaml/exercises/minesweeper/example.ml +2 -2
- data/tracks/ocaml/exercises/minesweeper/jbuild +11 -0
- data/tracks/ocaml/exercises/minesweeper/test.ml +1 -1
- data/tracks/ocaml/exercises/nucleotide-count/Makefile +4 -6
- data/tracks/ocaml/exercises/nucleotide-count/example.ml +1 -1
- data/tracks/ocaml/exercises/nucleotide-count/jbuild +11 -0
- data/tracks/ocaml/exercises/nucleotide-count/nucleotide_count.mli +1 -1
- data/tracks/ocaml/exercises/nucleotide-count/test.ml +1 -1
- data/tracks/ocaml/exercises/palindrome-products/Makefile +4 -6
- data/tracks/ocaml/exercises/palindrome-products/example.ml +5 -5
- data/tracks/ocaml/exercises/palindrome-products/jbuild +12 -0
- data/tracks/ocaml/exercises/pangram/Makefile +4 -6
- data/tracks/ocaml/exercises/pangram/example.ml +15 -6
- data/tracks/ocaml/exercises/pangram/jbuild +11 -0
- data/tracks/ocaml/exercises/pangram/test.ml +1 -2
- data/tracks/ocaml/exercises/phone-number/Makefile +4 -6
- data/tracks/ocaml/exercises/phone-number/example.ml +5 -5
- data/tracks/ocaml/exercises/phone-number/jbuild +11 -0
- data/tracks/ocaml/exercises/phone-number/test.ml +2 -2
- data/tracks/ocaml/exercises/prime-factors/Makefile +4 -6
- data/tracks/ocaml/exercises/prime-factors/example.ml +2 -2
- data/tracks/ocaml/exercises/prime-factors/jbuild +11 -0
- data/tracks/ocaml/exercises/prime-factors/test.ml +2 -2
- data/tracks/ocaml/exercises/raindrops/Makefile +4 -6
- data/tracks/ocaml/exercises/raindrops/example.ml +0 -2
- data/tracks/ocaml/exercises/raindrops/jbuild +11 -0
- data/tracks/ocaml/exercises/raindrops/test.ml +1 -2
- data/tracks/ocaml/exercises/react/Makefile +4 -6
- data/tracks/ocaml/exercises/react/example.ml +1 -1
- data/tracks/ocaml/exercises/react/jbuild +11 -0
- data/tracks/ocaml/exercises/react/test.ml +1 -1
- data/tracks/ocaml/exercises/rectangles/Makefile +4 -6
- data/tracks/ocaml/exercises/rectangles/jbuild +11 -0
- data/tracks/ocaml/exercises/rectangles/test.ml +1 -2
- data/tracks/ocaml/exercises/rna-transcription/Makefile +4 -6
- data/tracks/ocaml/exercises/rna-transcription/example.ml +1 -3
- data/tracks/ocaml/exercises/rna-transcription/jbuild +11 -0
- data/tracks/ocaml/exercises/rna-transcription/test.ml +1 -1
- data/tracks/ocaml/exercises/robot-name/Makefile +4 -6
- data/tracks/ocaml/exercises/robot-name/example.ml +2 -2
- data/tracks/ocaml/exercises/robot-name/jbuild +11 -0
- data/tracks/ocaml/exercises/robot-name/test.ml +6 -5
- data/tracks/ocaml/exercises/roman-numerals/Makefile +4 -6
- data/tracks/ocaml/exercises/roman-numerals/jbuild +11 -0
- data/tracks/ocaml/exercises/roman-numerals/test.ml +1 -2
- data/tracks/ocaml/exercises/run-length-encoding/Makefile +4 -6
- data/tracks/ocaml/exercises/run-length-encoding/example.ml +3 -3
- data/tracks/ocaml/exercises/run-length-encoding/jbuild +11 -0
- data/tracks/ocaml/exercises/run-length-encoding/test.ml +1 -1
- data/tracks/ocaml/exercises/say/Makefile +4 -6
- data/tracks/ocaml/exercises/say/example.ml +2 -2
- data/tracks/ocaml/exercises/say/jbuild +11 -0
- data/tracks/ocaml/exercises/say/test.ml +1 -1
- data/tracks/ocaml/exercises/space-age/Makefile +4 -6
- data/tracks/ocaml/exercises/space-age/example.ml +1 -1
- data/tracks/ocaml/exercises/space-age/jbuild +11 -0
- data/tracks/ocaml/exercises/space-age/test.ml +2 -2
- data/tracks/ocaml/exercises/triangle/Makefile +4 -6
- data/tracks/ocaml/exercises/triangle/example.ml +1 -1
- data/tracks/ocaml/exercises/triangle/jbuild +11 -0
- data/tracks/ocaml/exercises/triangle/test.ml +1 -1
- data/tracks/ocaml/exercises/word-count/Makefile +4 -6
- data/tracks/ocaml/exercises/word-count/example.ml +1 -1
- data/tracks/ocaml/exercises/word-count/jbuild +11 -0
- data/tracks/ocaml/exercises/word-count/test.ml +1 -1
- data/tracks/ocaml/exercises/word-count/word_count.mli +1 -1
- data/tracks/ocaml/exercises/zipper/Makefile +4 -6
- data/tracks/ocaml/exercises/zipper/example.ml +1 -1
- data/tracks/ocaml/exercises/zipper/jbuild +12 -0
- data/tracks/ocaml/exercises/zipper/test.ml +1 -1
- data/tracks/ocaml/exercises/zipper/tree.ml +1 -1
- data/tracks/ocaml/exercises/zipper/tree.mli +1 -1
- data/tracks/ocaml/exercises/zipper/zipper.mli +1 -1
- data/tracks/ocaml/tools/test-generator/Makefile +4 -13
- data/tracks/ocaml/tools/test-generator/jbuild +11 -0
- data/tracks/perl5/exercises/bob/.meta/exercise-data.yaml +9 -10
- data/tracks/perl5/exercises/bob/.meta/solutions/Bob.pm +7 -7
- data/tracks/perl5/exercises/bob/Bob.pm +1 -1
- data/tracks/perl5/exercises/bob/bob.t +81 -44
- data/tracks/perl5/exercises/clock/.meta/exercise-data.yaml +82 -0
- data/tracks/perl5/exercises/clock/.meta/solutions/Clock.pm +25 -52
- data/tracks/perl5/exercises/clock/Clock.pm +22 -0
- data/tracks/perl5/exercises/clock/clock.t +628 -92
- data/tracks/perl5/exercises/hello-world/.meta/exercise-data.yaml +1 -2
- data/tracks/perl5/exercises/hello-world/hello-world.t +4 -16
- data/tracks/perl5/exercises/leap/.meta/exercise-data.yaml +2 -3
- data/tracks/perl5/exercises/leap/leap.t +16 -21
- data/tracks/perl5/exercises/luhn/.meta/exercise-data.yaml +2 -2
- data/tracks/perl5/exercises/luhn/luhn.t +44 -30
- data/tracks/perl5/exercises/phone-number/.meta/exercise-data.yaml +3 -3
- data/tracks/perl5/exercises/phone-number/.meta/solutions/PhoneNumber.pm +1 -1
- data/tracks/perl5/exercises/phone-number/PhoneNumber.pm +1 -1
- data/tracks/perl5/exercises/phone-number/phone-number.t +59 -31
- data/tracks/perl6/exercises/all-your-base/.meta/exercise-data.yaml +1 -1
- data/tracks/perl6/exercises/all-your-base/all-your-base.t +45 -45
- data/tracks/plsql/config/exercise_readme.go.tmpl +19 -4
- data/tracks/plsql/exercises/binary/README.md +2 -0
- data/tracks/plsql/exercises/grains/README.md +0 -1
- data/tracks/plsql/exercises/leap/README.md +1 -1
- data/tracks/plsql/exercises/rna-transcription/README.md +2 -2
- data/tracks/plsql/exercises/roman-numerals/README.md +1 -1
- data/tracks/prolog/config.json +30 -0
- data/tracks/prolog/config/maintainers.json +10 -0
- data/tracks/prolog/docs/INSTALLATION.md +4 -4
- data/tracks/prolog/docs/LEARNING.md +1 -0
- data/tracks/prolog/docs/TESTS.md +1 -1
- data/tracks/prolog/exercises/complex-numbers/README.md +38 -0
- data/tracks/prolog/exercises/complex-numbers/complex_numbers.example +14 -0
- data/tracks/prolog/exercises/complex-numbers/complex_numbers.pl +11 -0
- data/tracks/prolog/exercises/complex-numbers/complex_numbers_tests.plt +123 -0
- data/tracks/prolog/exercises/hello-world/README.md +1 -1
- data/tracks/prolog/exercises/hello-world/hello_world.pl +1 -1
- data/tracks/prolog/exercises/hello-world/hello_world_tests.plt +1 -1
- data/tracks/prolog/exercises/isogram/README.md +19 -0
- data/tracks/prolog/exercises/isogram/isogram.example +10 -0
- data/tracks/prolog/exercises/isogram/isogram.pl +1 -0
- data/tracks/prolog/exercises/isogram/isogram_tests.plt +39 -0
- data/tracks/prolog/exercises/queen-attack/README.md +32 -0
- data/tracks/prolog/exercises/queen-attack/queen_attack.example +12 -0
- data/tracks/prolog/exercises/queen-attack/queen_attack.pl +11 -0
- data/tracks/prolog/exercises/queen-attack/queen_attack_tests.plt +62 -0
- data/tracks/python/config/exercise_readme.go.tmpl +20 -1
- data/tracks/python/exercises/accumulate/README.md +20 -1
- data/tracks/python/exercises/acronym/README.md +20 -1
- data/tracks/python/exercises/all-your-base/README.md +20 -1
- data/tracks/python/exercises/allergies/README.md +20 -1
- data/tracks/python/exercises/alphametics/README.md +20 -1
- data/tracks/python/exercises/anagram/README.md +20 -1
- data/tracks/python/exercises/armstrong-numbers/README.md +20 -1
- data/tracks/python/exercises/atbash-cipher/README.md +20 -1
- data/tracks/python/exercises/beer-song/README.md +20 -1
- data/tracks/python/exercises/binary-search-tree/README.md +20 -1
- data/tracks/python/exercises/binary-search/README.md +20 -1
- data/tracks/python/exercises/binary/README.md +20 -1
- data/tracks/python/exercises/bob/README.md +20 -1
- data/tracks/python/exercises/book-store/README.md +20 -1
- data/tracks/python/exercises/bowling/README.md +20 -1
- data/tracks/python/exercises/bracket-push/README.md +20 -1
- data/tracks/python/exercises/change/README.md +20 -1
- data/tracks/python/exercises/circular-buffer/README.md +20 -1
- data/tracks/python/exercises/clock/README.md +20 -1
- data/tracks/python/exercises/collatz-conjecture/README.md +20 -1
- data/tracks/python/exercises/complex-numbers/README.md +20 -1
- data/tracks/python/exercises/connect/README.md +20 -1
- data/tracks/python/exercises/crypto-square/README.md +20 -1
- data/tracks/python/exercises/custom-set/README.md +20 -1
- data/tracks/python/exercises/diamond/README.md +20 -1
- data/tracks/python/exercises/difference-of-squares/README.md +20 -1
- data/tracks/python/exercises/diffie-hellman/README.md +20 -1
- data/tracks/python/exercises/dominoes/README.md +20 -1
- data/tracks/python/exercises/dot-dsl/README.md +20 -1
- data/tracks/python/exercises/error-handling/README.md +20 -1
- data/tracks/python/exercises/etl/README.md +20 -1
- data/tracks/python/exercises/flatten-array/README.md +20 -1
- data/tracks/python/exercises/food-chain/README.md +20 -1
- data/tracks/python/exercises/food-chain/example.py +9 -0
- data/tracks/python/exercises/food-chain/food_chain.py +1 -1
- data/tracks/python/exercises/food-chain/food_chain_test.py +79 -80
- data/tracks/python/exercises/forth/README.md +20 -1
- data/tracks/python/exercises/gigasecond/README.md +20 -1
- data/tracks/python/exercises/go-counting/README.md +20 -1
- data/tracks/python/exercises/grade-school/README.md +20 -1
- data/tracks/python/exercises/grains/README.md +20 -1
- data/tracks/python/exercises/grains/grains_test.py +1 -1
- data/tracks/python/exercises/grep/README.md +20 -1
- data/tracks/python/exercises/hamming/README.md +20 -1
- data/tracks/python/exercises/hello-world/README.md +20 -1
- data/tracks/python/exercises/hexadecimal/README.md +20 -1
- data/tracks/python/exercises/house/README.md +20 -1
- data/tracks/python/exercises/isbn-verifier/README.md +20 -1
- data/tracks/python/exercises/isogram/README.md +20 -1
- data/tracks/python/exercises/kindergarten-garden/README.md +20 -1
- data/tracks/python/exercises/largest-series-product/README.md +20 -1
- data/tracks/python/exercises/leap/README.md +20 -1
- data/tracks/python/exercises/linked-list/README.md +20 -1
- data/tracks/python/exercises/list-ops/README.md +20 -1
- data/tracks/python/exercises/luhn/README.md +20 -1
- data/tracks/python/exercises/markdown/README.md +20 -1
- data/tracks/python/exercises/matrix/README.md +20 -1
- data/tracks/python/exercises/meetup/README.md +20 -1
- data/tracks/python/exercises/minesweeper/README.md +20 -1
- data/tracks/python/exercises/nth-prime/README.md +20 -1
- data/tracks/python/exercises/nucleotide-count/README.md +20 -1
- data/tracks/python/exercises/ocr-numbers/README.md +20 -1
- data/tracks/python/exercises/octal/README.md +20 -1
- data/tracks/python/exercises/palindrome-products/README.md +20 -1
- data/tracks/python/exercises/pangram/README.md +20 -1
- data/tracks/python/exercises/parallel-letter-frequency/README.md +20 -1
- data/tracks/python/exercises/pascals-triangle/README.md +20 -1
- data/tracks/python/exercises/perfect-numbers/README.md +20 -1
- data/tracks/python/exercises/phone-number/README.md +20 -1
- data/tracks/python/exercises/pig-latin/README.md +24 -5
- data/tracks/python/exercises/point-mutations/README.md +20 -1
- data/tracks/python/exercises/poker/README.md +20 -1
- data/tracks/python/exercises/pov/README.md +20 -1
- data/tracks/python/exercises/prime-factors/README.md +20 -1
- data/tracks/python/exercises/protein-translation/README.md +20 -1
- data/tracks/python/exercises/proverb/README.md +20 -1
- data/tracks/python/exercises/pythagorean-triplet/README.md +20 -1
- data/tracks/python/exercises/queen-attack/README.md +20 -1
- data/tracks/python/exercises/queen-attack/example.py +16 -26
- data/tracks/python/exercises/queen-attack/queen_attack.py +5 -5
- data/tracks/python/exercises/queen-attack/queen_attack_test.py +18 -49
- data/tracks/python/exercises/rail-fence-cipher/README.md +20 -1
- data/tracks/python/exercises/raindrops/README.md +20 -1
- data/tracks/python/exercises/rational-numbers/README.md +20 -1
- data/tracks/python/exercises/react/README.md +20 -1
- data/tracks/python/exercises/rectangles/README.md +20 -1
- data/tracks/python/exercises/reverse-string/README.md +20 -1
- data/tracks/python/exercises/rna-transcription/README.md +20 -1
- data/tracks/python/exercises/robot-name/README.md +20 -1
- data/tracks/python/exercises/robot-simulator/README.md +20 -1
- data/tracks/python/exercises/roman-numerals/README.md +20 -1
- data/tracks/python/exercises/rotational-cipher/README.md +20 -1
- data/tracks/python/exercises/run-length-encoding/README.md +20 -1
- data/tracks/python/exercises/saddle-points/README.md +20 -1
- data/tracks/python/exercises/say/README.md +20 -1
- data/tracks/python/exercises/scale-generator/README.md +20 -1
- data/tracks/python/exercises/scrabble-score/README.md +20 -1
- data/tracks/python/exercises/secret-handshake/README.md +20 -1
- data/tracks/python/exercises/series/README.md +20 -1
- data/tracks/python/exercises/sieve/README.md +20 -1
- data/tracks/python/exercises/simple-cipher/README.md +20 -1
- data/tracks/python/exercises/simple-linked-list/README.md +20 -1
- data/tracks/python/exercises/space-age/README.md +20 -1
- data/tracks/python/exercises/spiral-matrix/README.md +20 -1
- data/tracks/python/exercises/strain/README.md +20 -1
- data/tracks/python/exercises/sublist/README.md +20 -1
- data/tracks/python/exercises/sum-of-multiples/README.md +20 -1
- data/tracks/python/exercises/tournament/README.md +20 -1
- data/tracks/python/exercises/transpose/README.md +20 -1
- data/tracks/python/exercises/tree-building/README.md +20 -1
- data/tracks/python/exercises/triangle/README.md +20 -1
- data/tracks/python/exercises/trinary/README.md +20 -1
- data/tracks/python/exercises/twelve-days/README.md +20 -1
- data/tracks/python/exercises/two-bucket/README.md +21 -2
- data/tracks/python/exercises/two-fer/README.md +20 -1
- data/tracks/python/exercises/variable-length-quantity/README.md +20 -1
- data/tracks/python/exercises/word-count/README.md +20 -1
- data/tracks/python/exercises/word-search/README.md +20 -1
- data/tracks/python/exercises/wordy/README.md +20 -1
- data/tracks/python/exercises/zebra-puzzle/README.md +20 -1
- data/tracks/python/exercises/zipper/README.md +20 -1
- data/tracks/rust/_test/check-exercises.sh +3 -0
- data/tracks/rust/config.json +1 -1
- data/tracks/rust/exercises/collatz-conjecture/example.rs +3 -3
- data/tracks/rust/exercises/collatz-conjecture/src/lib.rs +2 -2
- data/tracks/rust/exercises/collatz-conjecture/tests/collatz-conjecture.rs +5 -5
- data/tracks/rust/exercises/nth-prime/example.rs +4 -4
- data/tracks/rust/exercises/nth-prime/src/lib.rs +3 -0
- data/tracks/rust/exercises/nth-prime/tests/nth-prime.rs +5 -5
- data/tracks/rust/exercises/perfect-numbers/example.rs +5 -5
- data/tracks/rust/exercises/perfect-numbers/src/lib.rs +1 -1
- data/tracks/rust/exercises/perfect-numbers/tests/perfect-numbers.rs +2 -2
- data/tracks/rust/exercises/reverse-string/src/lib.rs +2 -2
- data/tracks/scala/exercises/nth-prime/src/test/scala/NthPrimeTest.scala +2 -2
- data/tracks/scala/exercises/nucleotide-count/src/test/scala/NucleotideCountTest.scala +16 -16
- data/tracks/scala/exercises/ocr-numbers/src/test/scala/OcrNumbersTest.scala +6 -5
- data/tracks/scala/exercises/palindrome-products/src/test/scala/PalindromeProductsTest.scala +15 -19
- data/tracks/scala/exercises/pangram/src/test/scala/PangramTest.scala +10 -5
- data/tracks/scala/exercises/pascals-triangle/src/test/scala/PascalsTriangleTest.scala +47 -8
- data/tracks/scala/exercises/perfect-numbers/src/main/scala/.keep +0 -0
- data/tracks/scala/exercises/perfect-numbers/src/test/scala/PerfectNumbersTest.scala +17 -15
- data/tracks/scala/exercises/phone-number/src/test/scala/PhoneNumberTest.scala +26 -16
- data/tracks/scala/exercises/pig-latin/src/test/scala/PigLatinTest.scala +24 -24
- data/tracks/scala/exercises/prime-factors/src/test/scala/PrimefactorsTest.scala +9 -9
- data/tracks/scala/exercises/protein-translation/example.scala +5 -5
- data/tracks/scala/exercises/protein-translation/src/test/scala/ProteinTranslationTest.scala +91 -29
- data/tracks/scala/exercises/queen-attack/src/test/scala/QueenAttackTest.scala +20 -20
- data/tracks/scala/exercises/rail-fence-cipher/src/test/scala/RailFenceCipherTest.scala +15 -9
- data/tracks/scala/exercises/raindrops/src/test/scala/RaindropsTest.scala +2 -2
- data/tracks/scala/exercises/rna-transcription/src/test/scala/RnaTranscriptionTest.scala +8 -23
- data/tracks/scala/exercises/roman-numerals/src/test/scala/RomanNumeralsTest.scala +6 -1
- data/tracks/scala/testgen/src/main/scala/KindergartenGardenTestGenerator.scala +0 -6
- data/tracks/scala/testgen/src/main/scala/NthPrimeTestGenerator.scala +3 -3
- data/tracks/scala/testgen/src/main/scala/NucleotideCountTestGenerator.scala +3 -3
- data/tracks/scala/testgen/src/main/scala/OcrNumbersTestGenerator.scala +3 -3
- data/tracks/scala/testgen/src/main/scala/PalindromeProductsTestGenerator.scala +3 -3
- data/tracks/scala/testgen/src/main/scala/PangramsTestGenerator.scala +3 -3
- data/tracks/scala/testgen/src/main/scala/PascalsTriangleTestGenerator.scala +1 -1
- data/tracks/scala/testgen/src/main/scala/PerfectNumbersTestGenerator.scala +3 -3
- data/tracks/scala/testgen/src/main/scala/PhoneNumberTestGenerator.scala +1 -1
- data/tracks/scala/testgen/src/main/scala/PigLatinTestGenerator.scala +1 -1
- data/tracks/scala/testgen/src/main/scala/PrimeFactorsTestGenerator.scala +6 -8
- data/tracks/scala/testgen/src/main/scala/QueenAttackTestGenerator.scala +24 -22
- data/tracks/scala/testgen/src/main/scala/RailFenceCipherTestGenerator.scala +1 -1
- data/tracks/scala/testgen/src/main/scala/RaindropsTestGenerator.scala +2 -2
- data/tracks/scala/testgen/src/main/scala/RnaTranscriptionTestGenerator.scala +3 -3
- data/tracks/scala/testgen/src/main/scala/RomanNumeralsTestGenerator.scala +2 -2
- data/tracks/scala/testgen/src/main/scala/testgen/TestSuiteBuilder.scala +5 -0
- data/tracks/scheme/docs/RESOURCES.md +1 -0
- data/tracks/swift/.travis.yml +5 -0
- data/tracks/typescript/config.json +154 -1
- data/tracks/typescript/config/maintainers.json +10 -0
- data/tracks/typescript/exercises/allergies/README.md +62 -0
- data/tracks/typescript/exercises/allergies/allergies.example.ts +48 -0
- data/tracks/typescript/exercises/allergies/allergies.test.ts +113 -0
- data/tracks/typescript/exercises/allergies/allergies.ts +0 -0
- data/tracks/typescript/exercises/allergies/package.json +36 -0
- data/tracks/typescript/exercises/allergies/tsconfig.json +22 -0
- data/tracks/typescript/exercises/allergies/tslint.json +127 -0
- data/tracks/typescript/exercises/allergies/yarn.lock +2624 -0
- data/tracks/typescript/exercises/collatz-conjecture/README.md +59 -0
- data/tracks/typescript/exercises/collatz-conjecture/collatz-conjecture.example.ts +20 -0
- data/tracks/typescript/exercises/collatz-conjecture/collatz-conjecture.test.ts +33 -0
- data/tracks/typescript/exercises/collatz-conjecture/collatz-conjecture.ts +7 -0
- data/tracks/typescript/exercises/collatz-conjecture/package.json +36 -0
- data/tracks/typescript/exercises/collatz-conjecture/tsconfig.json +22 -0
- data/tracks/typescript/exercises/collatz-conjecture/tslint.json +127 -0
- data/tracks/typescript/exercises/collatz-conjecture/yarn.lock +2624 -0
- data/tracks/typescript/exercises/isogram/README.md +46 -0
- data/tracks/typescript/exercises/isogram/isogram.example.ts +31 -0
- data/tracks/typescript/exercises/isogram/isogram.test.ts +48 -0
- data/tracks/typescript/exercises/isogram/isogram.ts +7 -0
- data/tracks/typescript/exercises/isogram/package.json +36 -0
- data/tracks/typescript/exercises/isogram/tsconfig.json +22 -0
- data/tracks/typescript/exercises/isogram/tslint.json +127 -0
- data/tracks/typescript/exercises/isogram/yarn.lock +2624 -0
- data/tracks/typescript/exercises/matrix/README.md +73 -0
- data/tracks/typescript/exercises/matrix/matrix.example.ts +36 -0
- data/tracks/typescript/exercises/matrix/matrix.test.ts +43 -0
- data/tracks/typescript/exercises/matrix/matrix.ts +7 -0
- data/tracks/typescript/exercises/matrix/package.json +36 -0
- data/tracks/typescript/exercises/matrix/tsconfig.json +22 -0
- data/tracks/typescript/exercises/matrix/tslint.json +127 -0
- data/tracks/typescript/exercises/matrix/yarn.lock +2624 -0
- data/tracks/typescript/exercises/nucleotide-count/README.md +45 -0
- data/tracks/typescript/exercises/nucleotide-count/nucleotide-count.example.ts +25 -0
- data/tracks/typescript/exercises/nucleotide-count/nucleotide-count.test.ts +48 -0
- data/tracks/typescript/exercises/nucleotide-count/nucleotide-count.ts +7 -0
- data/tracks/typescript/exercises/nucleotide-count/package.json +36 -0
- data/tracks/typescript/exercises/nucleotide-count/tsconfig.json +22 -0
- data/tracks/typescript/exercises/nucleotide-count/tslint.json +127 -0
- data/tracks/typescript/exercises/nucleotide-count/yarn.lock +2624 -0
- data/tracks/typescript/exercises/protein-translation/README.md +74 -0
- data/tracks/typescript/exercises/protein-translation/package.json +36 -0
- data/tracks/typescript/exercises/protein-translation/protein-translation.example.ts +61 -0
- data/tracks/typescript/exercises/protein-translation/protein-translation.test.ts +118 -0
- data/tracks/typescript/exercises/protein-translation/protein-translation.ts +7 -0
- data/tracks/typescript/exercises/protein-translation/tsconfig.json +22 -0
- data/tracks/typescript/exercises/protein-translation/tslint.json +127 -0
- data/tracks/typescript/exercises/protein-translation/yarn.lock +2624 -0
- data/tracks/typescript/exercises/reverse-string/README.md +39 -0
- data/tracks/typescript/exercises/reverse-string/package.json +36 -0
- data/tracks/typescript/exercises/reverse-string/reverse-string.example.ts +7 -0
- data/tracks/typescript/exercises/reverse-string/reverse-string.test.ts +28 -0
- data/tracks/typescript/exercises/reverse-string/reverse-string.ts +7 -0
- data/tracks/typescript/exercises/reverse-string/tsconfig.json +22 -0
- data/tracks/typescript/exercises/reverse-string/tslint.json +127 -0
- data/tracks/typescript/exercises/reverse-string/yarn.lock +2624 -0
- data/tracks/typescript/exercises/roman-numerals/README.md +75 -0
- data/tracks/typescript/exercises/roman-numerals/package.json +36 -0
- data/tracks/typescript/exercises/roman-numerals/roman-numerals.example.ts +32 -0
- data/tracks/typescript/exercises/roman-numerals/roman-numerals.test.ts +98 -0
- data/tracks/typescript/exercises/roman-numerals/roman-numerals.ts +7 -0
- data/tracks/typescript/exercises/roman-numerals/tsconfig.json +22 -0
- data/tracks/typescript/exercises/roman-numerals/tslint.json +127 -0
- data/tracks/typescript/exercises/roman-numerals/yarn.lock +2624 -0
- data/tracks/typescript/exercises/saddle-points/README.md +59 -0
- data/tracks/typescript/exercises/saddle-points/package.json +36 -0
- data/tracks/typescript/exercises/saddle-points/saddle-points.example.ts +35 -0
- data/tracks/typescript/exercises/saddle-points/saddle-points.test.ts +54 -0
- data/tracks/typescript/exercises/saddle-points/saddle-points.ts +7 -0
- data/tracks/typescript/exercises/saddle-points/tsconfig.json +22 -0
- data/tracks/typescript/exercises/saddle-points/tslint.json +127 -0
- data/tracks/typescript/exercises/saddle-points/yarn.lock +2624 -0
- data/tracks/typescript/exercises/twelve-days/README.md +61 -0
- data/tracks/typescript/exercises/twelve-days/package.json +36 -0
- data/tracks/typescript/exercises/twelve-days/tsconfig.json +22 -0
- data/tracks/typescript/exercises/twelve-days/tslint.json +127 -0
- data/tracks/typescript/exercises/twelve-days/twelve-days.example.ts +53 -0
- data/tracks/typescript/exercises/twelve-days/twelve-days.test.ts +80 -0
- data/tracks/typescript/exercises/twelve-days/twelve-days.ts +7 -0
- data/tracks/typescript/exercises/twelve-days/yarn.lock +2624 -0
- data/tracks/typescript/exercises/two-fer/README.md +45 -0
- data/tracks/typescript/exercises/two-fer/package.json +36 -0
- data/tracks/typescript/exercises/two-fer/tsconfig.json +22 -0
- data/tracks/typescript/exercises/two-fer/tslint.json +127 -0
- data/tracks/typescript/exercises/two-fer/two-fer.example.ts +7 -0
- data/tracks/typescript/exercises/two-fer/two-fer.test.ts +18 -0
- data/tracks/typescript/exercises/two-fer/two-fer.ts +7 -0
- data/tracks/typescript/exercises/two-fer/yarn.lock +2624 -0
- data/tracks/vbnet/config/exercise_readme.go.tmpl +5 -4
- data/tracks/vbnet/exercises/accumulate/README.md +0 -3
- data/tracks/vbnet/exercises/allergies/README.md +0 -1
- data/tracks/vbnet/exercises/atbash-cipher/README.md +2 -1
- data/tracks/vbnet/exercises/binary/README.md +2 -0
- data/tracks/vbnet/exercises/crypto-square/README.md +10 -8
- metadata +251 -47
- data/tracks/coffeescript/docs/EXERCISE_README_INSERT.md +0 -6
- data/tracks/coq/docs/EXERCISE_README_INSERT.md +0 -22
- data/tracks/cpp/docs/EXERCISE_README_INSERT.md +0 -30
- data/tracks/d/docs/EXERCISE_README_INSERT.md +0 -29
- data/tracks/ecmascript/docs/EXERCISE_README_INSERT.md +0 -28
- data/tracks/elm/exercises/accumulate/package.json +0 -14
- data/tracks/elm/exercises/allergies/package.json +0 -14
- data/tracks/elm/exercises/anagram/package.json +0 -14
- data/tracks/elm/exercises/atbash-cipher/package.json +0 -14
- data/tracks/elm/exercises/bob/package.json +0 -14
- data/tracks/elm/exercises/collatz-conjecture/package.json +0 -14
- data/tracks/elm/exercises/difference-of-squares/package.json +0 -14
- data/tracks/elm/exercises/etl/package.json +0 -14
- data/tracks/elm/exercises/gigasecond/package.json +0 -14
- data/tracks/elm/exercises/grade-school/package.json +0 -14
- data/tracks/elm/exercises/grains/package.json +0 -14
- data/tracks/elm/exercises/hamming/package.json +0 -14
- data/tracks/elm/exercises/hello-world/package.json +0 -14
- data/tracks/elm/exercises/isogram/package.json +0 -14
- data/tracks/elm/exercises/largest-series-product/package.json +0 -14
- data/tracks/elm/exercises/leap/package.json +0 -14
- data/tracks/elm/exercises/list-ops/package.json +0 -14
- data/tracks/elm/exercises/nucleotide-count/package.json +0 -14
- data/tracks/elm/exercises/pangram/package.json +0 -14
- data/tracks/elm/exercises/pascals-triangle/package.json +0 -14
- data/tracks/elm/exercises/phone-number/package.json +0 -14
- data/tracks/elm/exercises/raindrops/package.json +0 -14
- data/tracks/elm/exercises/rna-transcription/package.json +0 -14
- data/tracks/elm/exercises/robot-simulator/package.json +0 -14
- data/tracks/elm/exercises/roman-numerals/package.json +0 -14
- data/tracks/elm/exercises/run-length-encoding/package.json +0 -14
- data/tracks/elm/exercises/say/package.json +0 -14
- data/tracks/elm/exercises/scrabble-score/package.json +0 -14
- data/tracks/elm/exercises/series/package.json +0 -14
- data/tracks/elm/exercises/space-age/package.json +0 -14
- data/tracks/elm/exercises/strain/package.json +0 -14
- data/tracks/elm/exercises/sublist/package.json +0 -14
- data/tracks/elm/exercises/sum-of-multiples/package.json +0 -14
- data/tracks/elm/exercises/triangle/package.json +0 -14
- data/tracks/elm/exercises/word-count/package.json +0 -14
- data/tracks/erlang/docs/EXERCISE_README_INSERT.md +0 -41
- data/tracks/haskell/docs/EXERCISE_README_INSERT.md +0 -52
- data/tracks/lfe/docs/EXERCISE_README_INSERT.md +0 -14
- data/tracks/plsql/docs/EXERCISE_README_INSERT.md +0 -18
- data/tracks/vbnet/docs/EXERCISE_README_INSERT.md +0 -5
@@ -1,4 +1,4 @@
|
|
1
|
-
# Spiral
|
1
|
+
# Spiral Matrix
|
2
2
|
|
3
3
|
Given the size, return a square matrix of numbers in spiral order.
|
4
4
|
|
@@ -28,7 +28,7 @@ like these examples:
|
|
28
28
|
Go through the setup instructions for ECMAScript to
|
29
29
|
install the necessary dependencies:
|
30
30
|
|
31
|
-
http://exercism.io/languages/ecmascript
|
31
|
+
http://exercism.io/languages/ecmascript
|
32
32
|
|
33
33
|
## Requirements
|
34
34
|
|
@@ -51,9 +51,10 @@ In the test suites all tests but the first have been skipped.
|
|
51
51
|
Once you get a test passing, you can enable the next one by
|
52
52
|
changing `xtest` to `test`.
|
53
53
|
|
54
|
+
|
54
55
|
## Source
|
55
56
|
|
56
|
-
Reddit
|
57
|
+
Reddit r/dailyprogrammer challenge #320 [Easy] Spiral Ascension. [https://www.reddit.com/r/dailyprogrammer/comments/6i60lr/20170619_challenge_320_easy_spiral_ascension/](https://www.reddit.com/r/dailyprogrammer/comments/6i60lr/20170619_challenge_320_easy_spiral_ascension/)
|
57
58
|
|
58
59
|
## Submitting Incomplete Solutions
|
59
60
|
It's possible to submit an incomplete solution so you can see how others have completed the exercise.
|
@@ -1,22 +1,19 @@
|
|
1
1
|
# Sum Of Multiples
|
2
2
|
|
3
|
-
Given a number, find the sum of all the multiples of particular numbers up to
|
3
|
+
Given a number, find the sum of all the unique multiples of particular numbers up to
|
4
4
|
but not including that number.
|
5
5
|
|
6
|
-
If we list all the natural numbers
|
7
|
-
|
6
|
+
If we list all the natural numbers below 20 that are multiples of 3 or 5,
|
7
|
+
we get 3, 5, 6, 9, 10, 12, 15, and 18.
|
8
8
|
|
9
9
|
The sum of these multiples is 78.
|
10
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
11
|
## Setup
|
15
12
|
|
16
13
|
Go through the setup instructions for ECMAScript to
|
17
14
|
install the necessary dependencies:
|
18
15
|
|
19
|
-
http://exercism.io/languages/ecmascript
|
16
|
+
http://exercism.io/languages/ecmascript
|
20
17
|
|
21
18
|
## Requirements
|
22
19
|
|
@@ -73,7 +73,7 @@ Install assignment dependencies:
|
|
73
73
|
$ npm install
|
74
74
|
```
|
75
75
|
|
76
|
-
## Making the
|
76
|
+
## Making the test suite pass
|
77
77
|
|
78
78
|
Execute the tests with:
|
79
79
|
|
@@ -81,11 +81,12 @@ Execute the tests with:
|
|
81
81
|
$ npm test
|
82
82
|
```
|
83
83
|
|
84
|
-
In the test
|
84
|
+
In the test suites all tests but the first have been skipped.
|
85
85
|
|
86
86
|
Once you get a test passing, you can enable the next one by
|
87
87
|
changing `xtest` to `test`.
|
88
88
|
|
89
|
+
|
89
90
|
## Source
|
90
91
|
|
91
92
|
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)
|
@@ -2,29 +2,32 @@
|
|
2
2
|
|
3
3
|
Determine if a triangle is equilateral, isosceles, or scalene.
|
4
4
|
|
5
|
-
An _equilateral_ triangle has all three sides the same length
|
5
|
+
An _equilateral_ triangle has all three sides the same length.
|
6
|
+
|
6
7
|
An _isosceles_ triangle has at least two sides the same length. (It is sometimes
|
7
8
|
specified as having exactly two sides the same length, but for the purposes of
|
8
|
-
this exercise we'll say at least two.)
|
9
|
+
this exercise we'll say at least two.)
|
10
|
+
|
9
11
|
A _scalene_ triangle has all sides of different lengths.
|
10
12
|
|
11
13
|
## Note
|
12
14
|
|
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
|
+
For a shape to be a triangle at all, all sides have to be of length > 0, and
|
16
|
+
the sum of the lengths of any two sides must be greater than or equal to the
|
15
17
|
length of the third side. See [Triangle Inequality](https://en.wikipedia.org/wiki/Triangle_inequality).
|
16
18
|
|
17
19
|
## Dig Deeper
|
18
20
|
|
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
|
+
The case where the sum of the lengths of two sides _equals_ that of the
|
22
|
+
third is known as a _degenerate_ triangle - it has zero area and looks like
|
21
23
|
a single line. Feel free to add your own code/tests to check for degenerate triangles.
|
24
|
+
|
22
25
|
## Setup
|
23
26
|
|
24
27
|
Go through the setup instructions for ECMAScript to
|
25
28
|
install the necessary dependencies:
|
26
29
|
|
27
|
-
http://exercism.io/languages/ecmascript
|
30
|
+
http://exercism.io/languages/ecmascript
|
28
31
|
|
29
32
|
## Requirements
|
30
33
|
|
@@ -11,7 +11,7 @@ Trinary numbers contain three symbols: 0, 1, and 2.
|
|
11
11
|
The last place in a trinary number is the 1's place. The second to last
|
12
12
|
is the 3's place, the third to last is the 9's place, etc.
|
13
13
|
|
14
|
-
```
|
14
|
+
```shell
|
15
15
|
# "102012"
|
16
16
|
1 0 2 0 1 2 # the number
|
17
17
|
1*3^5 + 0*3^4 + 2*3^3 + 0*3^2 + 1*3^1 + 2*3^0 # the value
|
@@ -26,7 +26,7 @@ conversion, pretend it doesn't exist and implement it yourself.
|
|
26
26
|
Go through the setup instructions for ECMAScript to
|
27
27
|
install the necessary dependencies:
|
28
28
|
|
29
|
-
http://exercism.io/languages/ecmascript
|
29
|
+
http://exercism.io/languages/ecmascript
|
30
30
|
|
31
31
|
## Requirements
|
32
32
|
|
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
Output the lyrics to 'The Twelve Days of Christmas'.
|
4
4
|
|
5
|
-
```
|
5
|
+
```text
|
6
6
|
On the first day of Christmas my true love gave to me, a Partridge in a Pear Tree.
|
7
7
|
|
8
8
|
On the second day of Christmas my true love gave to me, two Turtle Doves, and a Partridge in a Pear Tree.
|
@@ -28,13 +28,12 @@ On the eleventh day of Christmas my true love gave to me, eleven Pipers Piping,
|
|
28
28
|
On the twelfth day of Christmas my true love gave to me, twelve Drummers Drumming, eleven Pipers Piping, ten Lords-a-Leaping, nine Ladies Dancing, eight Maids-a-Milking, seven Swans-a-Swimming, six Geese-a-Laying, five Gold Rings, four Calling Birds, three French Hens, two Turtle Doves, and a Partridge in a Pear Tree.
|
29
29
|
```
|
30
30
|
|
31
|
-
|
32
31
|
## Setup
|
33
32
|
|
34
33
|
Go through the setup instructions for ECMAScript to
|
35
34
|
install the necessary dependencies:
|
36
35
|
|
37
|
-
http://exercism.io/languages/ecmascript
|
36
|
+
http://exercism.io/languages/ecmascript
|
38
37
|
|
39
38
|
## Requirements
|
40
39
|
|
@@ -63,4 +62,4 @@ changing `xtest` to `test`.
|
|
63
62
|
Wikipedia [http://en.wikipedia.org/wiki/The_Twelve_Days_of_Christmas_(song)](http://en.wikipedia.org/wiki/The_Twelve_Days_of_Christmas_(song))
|
64
63
|
|
65
64
|
## Submitting Incomplete Solutions
|
66
|
-
It's possible to submit an incomplete solution so you can see how others have completed the exercise.
|
65
|
+
It's possible to submit an incomplete solution so you can see how others have completed the exercise.
|
@@ -4,22 +4,22 @@ Given two buckets of different size, demonstrate how to measure an exact number
|
|
4
4
|
|
5
5
|
Since this mathematical problem is fairly subject to interpretation / individual approach, the tests have been written specifically to expect one overarching solution.
|
6
6
|
|
7
|
-
To help, the tests provide you with which bucket to fill first. That means, when starting with the larger bucket full, you are NOT allowed at any point to have the smaller bucket full and the larger bucket empty (aka, the opposite starting point); that would defeat the purpose of comparing both approaches!
|
7
|
+
To help, the tests provide you with which bucket to fill first. That means, when starting with the larger bucket full, you are NOT allowed at any point to have the smaller bucket full and the larger bucket empty (aka, the opposite starting point); that would defeat the purpose of comparing both approaches!
|
8
8
|
|
9
9
|
Your program will take as input:
|
10
|
-
- the size of bucket one
|
11
|
-
- the size of bucket two
|
12
|
-
- the desired number of liters to reach
|
13
|
-
- which bucket to fill first,
|
10
|
+
- the size of bucket one
|
11
|
+
- the size of bucket two
|
12
|
+
- the desired number of liters to reach
|
13
|
+
- which bucket to fill first, either bucket one or bucket two
|
14
14
|
|
15
15
|
Your program should determine:
|
16
|
-
- the total number of "moves" it should take to reach the desired number of liters, including the first fill
|
17
|
-
- which bucket should end up with the desired number of liters (let's say this is bucket A) -
|
18
|
-
- how many liters are left in the other bucket (bucket B)
|
16
|
+
- the total number of "moves" it should take to reach the desired number of liters, including the first fill
|
17
|
+
- which bucket should end up with the desired number of liters (let's say this is bucket A) - either bucket one or bucket two
|
18
|
+
- how many liters are left in the other bucket (bucket B)
|
19
19
|
|
20
|
-
Note: any time a change is made to either or both buckets counts as one (1) move.
|
20
|
+
Note: any time a change is made to either or both buckets counts as one (1) move.
|
21
21
|
|
22
|
-
Example:
|
22
|
+
Example:
|
23
23
|
Bucket one can hold up to 7 liters, and bucket two can hold up to 11 liters. Let's say bucket one, at a given step, is holding 7 liters, and bucket two is holding 8 liters (7,8). If you empty bucket one and make no change to bucket two, leaving you with 0 liters and 8 liters respectively (0,8), that counts as one "move". Instead, if you had poured from bucket one into bucket two until bucket two was full, leaving you with 4 liters in bucket one and 11 liters in bucket two (4,11), that would count as only one "move" as well.
|
24
24
|
|
25
25
|
To conclude, the only valid moves are:
|
@@ -34,7 +34,7 @@ Written with <3 at [Fullstack Academy](http://www.fullstackacademy.com/) by [Lin
|
|
34
34
|
Go through the setup instructions for ECMAScript to
|
35
35
|
install the necessary dependencies:
|
36
36
|
|
37
|
-
http://exercism.io/languages/ecmascript
|
37
|
+
http://exercism.io/languages/ecmascript
|
38
38
|
|
39
39
|
## Requirements
|
40
40
|
|
@@ -1,23 +1,23 @@
|
|
1
1
|
# Two Fer
|
2
2
|
|
3
|
-
Create a sentence of the form "One for X, one for me."
|
4
|
-
|
5
3
|
`Two-fer` or `2-fer` is short for two for one. One for you and one for me.
|
6
4
|
|
7
|
-
```
|
5
|
+
```text
|
8
6
|
"One for X, one for me."
|
9
7
|
```
|
10
8
|
|
11
9
|
When X is a name or "you".
|
12
10
|
|
13
|
-
If the given name is "Alice", the result should be "One for Alice, one for me."
|
11
|
+
If the given name is "Alice", the result should be "One for Alice, one for me."
|
12
|
+
If no name is given, the result should be "One for you, one for me."
|
13
|
+
|
14
14
|
|
15
15
|
## Setup
|
16
16
|
|
17
17
|
Go through the setup instructions for ECMAScript to
|
18
18
|
install the necessary dependencies:
|
19
19
|
|
20
|
-
http://exercism.io/languages/ecmascript
|
20
|
+
http://exercism.io/languages/ecmascript
|
21
21
|
|
22
22
|
## Requirements
|
23
23
|
|
@@ -40,8 +40,10 @@ In the test suites all tests but the first have been skipped.
|
|
40
40
|
Once you get a test passing, you can enable the next one by
|
41
41
|
changing `xtest` to `test`.
|
42
42
|
|
43
|
+
|
43
44
|
## Source
|
44
|
-
|
45
|
+
|
46
|
+
[https://en.wikipedia.org/wiki/Two-fer](https://en.wikipedia.org/wiki/Two-fer)
|
45
47
|
|
46
48
|
## Submitting Incomplete Solutions
|
47
49
|
It's possible to submit an incomplete solution so you can see how others have completed the exercise.
|
@@ -4,20 +4,19 @@ Given a phrase, count the occurrences of each word in that phrase.
|
|
4
4
|
|
5
5
|
For example for the input `"olly olly in come free"`
|
6
6
|
|
7
|
-
```
|
7
|
+
```text
|
8
8
|
olly: 2
|
9
9
|
in: 1
|
10
10
|
come: 1
|
11
11
|
free: 1
|
12
12
|
```
|
13
13
|
|
14
|
-
|
15
14
|
## Setup
|
16
15
|
|
17
16
|
Go through the setup instructions for ECMAScript to
|
18
17
|
install the necessary dependencies:
|
19
18
|
|
20
|
-
http://exercism.io/languages/ecmascript
|
19
|
+
http://exercism.io/languages/ecmascript
|
21
20
|
|
22
21
|
## Requirements
|
23
22
|
|
@@ -31,7 +31,7 @@ letter of each word.
|
|
31
31
|
Go through the setup instructions for ECMAScript to
|
32
32
|
install the necessary dependencies:
|
33
33
|
|
34
|
-
http://exercism.io/languages/ecmascript
|
34
|
+
http://exercism.io/languages/ecmascript
|
35
35
|
|
36
36
|
## Requirements
|
37
37
|
|
@@ -54,5 +54,6 @@ In the test suites all tests but the first have been skipped.
|
|
54
54
|
Once you get a test passing, you can enable the next one by
|
55
55
|
changing `xtest` to `test`.
|
56
56
|
|
57
|
+
|
57
58
|
## Submitting Incomplete Solutions
|
58
59
|
It's possible to submit an incomplete solution so you can see how others have completed the exercise.
|
@@ -2,7 +2,6 @@
|
|
2
2
|
|
3
3
|
Parse and evaluate simple math word problems returning the answer as an integer.
|
4
4
|
|
5
|
-
|
6
5
|
## Iteration 1 — Addition
|
7
6
|
|
8
7
|
Add two numbers together.
|
@@ -13,7 +12,6 @@ Evaluates to 18.
|
|
13
12
|
|
14
13
|
Handle large numbers and negative numbers.
|
15
14
|
|
16
|
-
|
17
15
|
## Iteration 2 — Subtraction, Multiplication and Division
|
18
16
|
|
19
17
|
Now, perform the other three operations.
|
@@ -30,7 +28,6 @@ Now, perform the other three operations.
|
|
30
28
|
|
31
29
|
5
|
32
30
|
|
33
|
-
|
34
31
|
## Iteration 3 — Multiple Operations
|
35
32
|
|
36
33
|
Handle a set of operations, in sequence.
|
@@ -46,7 +43,6 @@ left-to-right, _ignoring the typical order of operations._
|
|
46
43
|
|
47
44
|
15 (i.e. not 9)
|
48
45
|
|
49
|
-
|
50
46
|
## Bonus — Exponentials
|
51
47
|
|
52
48
|
If you'd like, handle exponentials.
|
@@ -55,13 +51,12 @@ If you'd like, handle exponentials.
|
|
55
51
|
|
56
52
|
32
|
57
53
|
|
58
|
-
|
59
54
|
## Setup
|
60
55
|
|
61
56
|
Go through the setup instructions for ECMAScript to
|
62
57
|
install the necessary dependencies:
|
63
58
|
|
64
|
-
http://exercism.io/languages/ecmascript
|
59
|
+
http://exercism.io/languages/ecmascript
|
65
60
|
|
66
61
|
## Requirements
|
67
62
|
|
@@ -20,6 +20,7 @@ defmodule Bob do
|
|
20
20
|
def hey(input) do
|
21
21
|
cond do
|
22
22
|
silent?(input) -> "Fine. Be that way!"
|
23
|
+
shouting_question?(input) -> "Calm down, I know what I'm doing!"
|
23
24
|
question?(input) -> "Sure."
|
24
25
|
shouting?(input) -> "Whoa, chill out!"
|
25
26
|
true -> "Whatever."
|
@@ -29,6 +30,7 @@ defmodule Bob do
|
|
29
30
|
defp silent?(input), do: "" == String.trim(input)
|
30
31
|
defp shouting?(input), do: input == String.upcase(input) && letters?(input)
|
31
32
|
defp question?(input), do: String.ends_with?(input, "?")
|
33
|
+
defp shouting_question?(input), do: shouting?(input) && question?(input)
|
32
34
|
defp letters?(input), do: Regex.match?(~r/\p{L}+/, input)
|
33
35
|
end
|
34
36
|
|
@@ -38,21 +40,23 @@ end
|
|
38
40
|
# warning)
|
39
41
|
|
40
42
|
# defmodule Message do
|
41
|
-
# def silent?(input),
|
42
|
-
# def
|
43
|
-
# def
|
44
|
-
#
|
43
|
+
# def silent?(input), do: "" == String.strip(input)
|
44
|
+
# def shouting_question?(input), do: shouting?(input) && question?(input)
|
45
|
+
# def shouting?(input), do: input == String.upcase(input) && letters?(input)
|
46
|
+
# def question?(input), do: String.ends_with?(input, "?")
|
47
|
+
# defp letters?(input), do: Regex.match?(~r/\p{L}+/, input)
|
45
48
|
# end
|
46
49
|
#
|
47
50
|
# defmodule Bob do
|
48
|
-
# import Message, only: [silent?: 1, shouting?: 1, question?: 1]
|
51
|
+
# import Message, only: [silent?: 1, shouting_question?: 1, shouting?: 1, question?: 1]
|
49
52
|
#
|
50
53
|
# def hey(input) do
|
51
54
|
# cond do
|
52
|
-
# silent?(input)
|
53
|
-
#
|
54
|
-
#
|
55
|
-
#
|
55
|
+
# silent?(input) -> "Fine. Be that way!"
|
56
|
+
# shouting_question?(input) -> "Calm down, I know what I'm doing!"
|
57
|
+
# shouting?(input) -> "Whoa, chill out!"
|
58
|
+
# question?(input) -> "Sure."
|
59
|
+
# true -> "Whatever."
|
56
60
|
# end
|
57
61
|
# end
|
58
62
|
# end
|
data/tracks/elm/config.json
CHANGED
@@ -22,6 +22,15 @@
|
|
22
22
|
|
23
23
|
]
|
24
24
|
},
|
25
|
+
{
|
26
|
+
"uuid": "50770287-c734-46ba-b3a1-c36d31b6cc3c",
|
27
|
+
"slug": "twelve-days",
|
28
|
+
"core": false,
|
29
|
+
"unlocked_by": null,
|
30
|
+
"difficulty": 1,
|
31
|
+
"topics": [
|
32
|
+
]
|
33
|
+
},
|
25
34
|
{
|
26
35
|
"uuid": "e943e3bf-920e-4541-95c3-be7bf6024afe",
|
27
36
|
"slug": "leap",
|
@@ -332,6 +341,16 @@
|
|
332
341
|
|
333
342
|
]
|
334
343
|
},
|
344
|
+
{
|
345
|
+
"uuid": "851ddd78-13a0-4d8f-adda-41abde670687",
|
346
|
+
"slug": "acronym",
|
347
|
+
"core": false,
|
348
|
+
"unlocked_by": null,
|
349
|
+
"difficulty": 1,
|
350
|
+
"topics": [
|
351
|
+
|
352
|
+
]
|
353
|
+
},
|
335
354
|
{
|
336
355
|
"uuid": "bdb8364b-d8b2-4d58-a824-1035cddedb42",
|
337
356
|
"slug": "all-your-base",
|
@@ -363,6 +382,15 @@
|
|
363
382
|
"Lists"
|
364
383
|
]
|
365
384
|
},
|
385
|
+
{
|
386
|
+
"uuid": "39464d44-1475-47c1-8f08-2aba9e6b2d85",
|
387
|
+
"slug": "luhn",
|
388
|
+
"core": false,
|
389
|
+
"unlocked_by": null,
|
390
|
+
"difficulty": 5,
|
391
|
+
"topics": [
|
392
|
+
]
|
393
|
+
},
|
366
394
|
{
|
367
395
|
"uuid": "1F9FE5BC-8213-44FD-B7D1-5D4CC7F3A475",
|
368
396
|
"slug": "binary-search",
|