trackler 2.2.0.3 → 2.2.0.4
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/list-ops/canonical-data.json +27 -11
- data/problem-specifications/exercises/rotational-cipher/canonical-data.json +8 -8
- data/tracks/clojure/config.json +240 -63
- data/tracks/cpp/CMakeLists.txt +1 -0
- data/tracks/cpp/config.json +8 -0
- data/tracks/cpp/exercises/bracket-push/CMakeLists.txt +52 -0
- data/tracks/cpp/exercises/bracket-push/bracket_push_test.cpp +75 -0
- data/tracks/cpp/exercises/bracket-push/example.cpp +28 -0
- data/tracks/cpp/exercises/bracket-push/example.h +13 -0
- data/tracks/ecmascript/config.json +235 -71
- data/tracks/ecmascript/config/exercise_readme.go.tmpl +16 -0
- data/tracks/ecmascript/exercises/accumulate/README.md +65 -0
- data/tracks/ecmascript/exercises/acronym/README.md +45 -0
- data/tracks/ecmascript/exercises/all-your-base/README.md +65 -0
- data/tracks/ecmascript/exercises/allergies/README.md +67 -0
- data/tracks/ecmascript/exercises/alphametics/README.md +65 -0
- data/tracks/ecmascript/exercises/anagram/README.md +43 -0
- data/tracks/ecmascript/exercises/atbash-cipher/README.md +64 -0
- data/tracks/ecmascript/exercises/beer-song/README.md +357 -0
- data/tracks/ecmascript/exercises/binary-search-tree/README.md +90 -0
- data/tracks/ecmascript/exercises/binary-search/README.md +71 -0
- data/tracks/ecmascript/exercises/binary/README.md +65 -0
- data/tracks/ecmascript/exercises/bob/README.md +48 -0
- data/tracks/ecmascript/exercises/bracket-push/README.md +40 -0
- data/tracks/ecmascript/exercises/circular-buffer/README.md +80 -0
- data/tracks/ecmascript/exercises/clock/README.md +43 -0
- data/tracks/ecmascript/exercises/connect/README.md +64 -0
- data/tracks/ecmascript/exercises/crypto-square/README.md +104 -0
- data/tracks/ecmascript/exercises/custom-set/README.md +41 -0
- data/tracks/ecmascript/exercises/diamond/README.md +89 -0
- data/tracks/ecmascript/exercises/difference-of-squares/README.md +49 -0
- data/tracks/ecmascript/exercises/diffie-hellman/README.md +74 -0
- data/tracks/ecmascript/exercises/etl/README.md +81 -0
- data/tracks/ecmascript/exercises/flatten-array/README.md +48 -0
- data/tracks/ecmascript/exercises/food-chain/README.md +100 -0
- data/tracks/ecmascript/exercises/gigasecond/README.md +41 -0
- data/tracks/ecmascript/exercises/grade-school/README.md +72 -0
- data/tracks/ecmascript/exercises/grains/README.md +64 -0
- data/tracks/ecmascript/exercises/hamming/README.md +72 -0
- data/tracks/ecmascript/exercises/hello-world/README.md +51 -0
- data/tracks/ecmascript/exercises/hexadecimal/README.md +44 -0
- data/tracks/ecmascript/exercises/isogram/README.md +49 -0
- data/tracks/ecmascript/exercises/kindergarten-garden/README.md +96 -0
- data/tracks/ecmascript/exercises/largest-series-product/README.md +50 -0
- data/tracks/ecmascript/exercises/leap/README.md +63 -0
- data/tracks/ecmascript/exercises/linked-list/README.md +64 -0
- data/tracks/ecmascript/exercises/list-ops/README.md +40 -0
- data/tracks/ecmascript/exercises/luhn/README.md +101 -0
- data/tracks/ecmascript/exercises/matrix/README.md +75 -0
- data/tracks/ecmascript/exercises/meetup/README.md +60 -0
- data/tracks/ecmascript/exercises/minesweeper/README.md +60 -0
- data/tracks/ecmascript/exercises/nth-prime/README.md +45 -0
- data/tracks/ecmascript/exercises/ocr-numbers/README.md +115 -0
- data/tracks/ecmascript/exercises/octal/README.md +79 -0
- data/tracks/ecmascript/exercises/palindrome-products/README.md +70 -0
- data/tracks/ecmascript/exercises/pangram/README.md +45 -0
- data/tracks/ecmascript/exercises/pascals-triangle/README.md +51 -0
- data/tracks/ecmascript/exercises/perfect-numbers/README.md +54 -0
- data/tracks/ecmascript/exercises/phone-number/README.md +64 -0
- data/tracks/ecmascript/exercises/pig-latin/README.md +54 -0
- data/tracks/ecmascript/exercises/prime-factors/README.md +66 -0
- data/tracks/ecmascript/exercises/pythagorean-triplet/README.md +54 -0
- data/tracks/ecmascript/exercises/queen-attack/README.md +63 -0
- data/tracks/ecmascript/exercises/raindrops/README.md +54 -0
- data/tracks/ecmascript/exercises/rna-transcription/README.md +55 -0
- data/tracks/ecmascript/exercises/robot-name/README.md +52 -0
- data/tracks/ecmascript/exercises/robot-simulator/README.md +64 -0
- data/tracks/ecmascript/exercises/roman-numerals/README.md +79 -0
- data/tracks/ecmascript/exercises/saddle-points/README.md +63 -0
- data/tracks/ecmascript/exercises/say/README.md +99 -0
- data/tracks/ecmascript/exercises/scrabble-score/README.md +74 -0
- data/tracks/ecmascript/exercises/secret-handshake/README.md +65 -0
- data/tracks/ecmascript/exercises/series/README.md +57 -0
- data/tracks/ecmascript/exercises/sieve/README.md +64 -0
- data/tracks/ecmascript/exercises/simple-cipher/README.md +120 -0
- data/tracks/ecmascript/exercises/space-age/README.md +54 -0
- data/tracks/ecmascript/exercises/strain/README.md +70 -0
- data/tracks/ecmascript/exercises/sublist/README.md +50 -0
- data/tracks/ecmascript/exercises/sublist/example.js +30 -0
- data/tracks/ecmascript/exercises/sublist/package.json +69 -0
- data/tracks/ecmascript/exercises/sublist/sublist.spec.js +126 -0
- data/tracks/ecmascript/exercises/sum-of-multiples/README.md +48 -0
- data/tracks/ecmascript/exercises/triangle/README.md +56 -0
- data/tracks/ecmascript/exercises/trinary/README.md +58 -0
- data/tracks/ecmascript/exercises/two-bucket/README.md +66 -0
- data/tracks/ecmascript/exercises/word-count/README.md +49 -0
- data/tracks/ecmascript/exercises/wordy/README.md +93 -0
- data/tracks/go/.gitignore +1 -0
- data/tracks/go/README.md +2 -0
- data/tracks/go/config/exercise_readme.go.tmpl +16 -0
- data/tracks/go/exercises/accumulate/README.md +53 -0
- data/tracks/go/exercises/acronym/README.md +33 -0
- data/tracks/go/exercises/all-your-base/README.md +53 -0
- data/tracks/go/exercises/allergies/README.md +55 -0
- data/tracks/go/exercises/anagram/README.md +31 -0
- data/tracks/go/exercises/atbash-cipher/README.md +52 -0
- data/tracks/go/exercises/bank-account/README.md +48 -0
- data/tracks/go/exercises/beer-song/README.md +345 -0
- data/tracks/go/exercises/binary-search-tree/README.md +78 -0
- data/tracks/go/exercises/binary-search/README.md +59 -0
- data/tracks/go/exercises/binary/README.md +53 -0
- data/tracks/go/exercises/bob/README.md +36 -0
- data/tracks/go/exercises/bowling/README.md +71 -0
- data/tracks/go/exercises/bracket-push/README.md +28 -0
- data/tracks/go/exercises/change/README.md +41 -0
- data/tracks/go/exercises/circular-buffer/README.md +68 -0
- data/tracks/go/exercises/clock/README.md +31 -0
- data/tracks/go/exercises/connect/README.md +52 -0
- data/tracks/go/exercises/counter/README.md +42 -0
- data/tracks/go/exercises/crypto-square/README.md +92 -0
- data/tracks/go/exercises/custom-set/README.md +29 -0
- data/tracks/go/exercises/diamond/README.md +77 -0
- data/tracks/go/exercises/difference-of-squares/README.md +37 -0
- data/tracks/go/exercises/diffie-hellman/README.md +62 -0
- data/tracks/go/exercises/error-handling/README.md +31 -0
- data/tracks/go/exercises/etl/README.md +69 -0
- data/tracks/go/exercises/food-chain/README.md +88 -0
- data/tracks/go/exercises/forth/README.md +47 -0
- data/tracks/go/exercises/gigasecond/README.md +29 -0
- data/tracks/go/exercises/grade-school/README.md +60 -0
- data/tracks/go/exercises/grains/README.md +52 -0
- data/tracks/go/exercises/hamming/README.md +60 -0
- data/tracks/go/exercises/hello-world/README.md +39 -0
- data/tracks/go/exercises/hexadecimal/README.md +32 -0
- data/tracks/go/exercises/house/README.md +131 -0
- data/tracks/go/exercises/isogram/README.md +37 -0
- data/tracks/go/exercises/kindergarten-garden/README.md +84 -0
- data/tracks/go/exercises/largest-series-product/README.md +38 -0
- data/tracks/go/exercises/leap/README.md +51 -0
- data/tracks/go/exercises/ledger/README.md +36 -0
- data/tracks/go/exercises/luhn/README.md +89 -0
- data/tracks/go/exercises/matrix/README.md +63 -0
- data/tracks/go/exercises/meetup/README.md +48 -0
- data/tracks/go/exercises/minesweeper/README.md +48 -0
- data/tracks/go/exercises/nth-prime/README.md +33 -0
- data/tracks/go/exercises/nucleotide-count/README.md +51 -0
- data/tracks/go/exercises/ocr-numbers/README.md +103 -0
- data/tracks/go/exercises/octal/README.md +67 -0
- data/tracks/go/exercises/paasio/README.md +38 -0
- data/tracks/go/exercises/palindrome-products/README.md +58 -0
- data/tracks/go/exercises/pangram/README.md +33 -0
- data/tracks/go/exercises/parallel-letter-frequency/README.md +29 -0
- data/tracks/go/exercises/pascals-triangle/README.md +39 -0
- data/tracks/go/exercises/perfect-numbers/README.md +42 -0
- data/tracks/go/exercises/phone-number/README.md +52 -0
- data/tracks/go/exercises/pig-latin/README.md +42 -0
- data/tracks/go/exercises/poker/README.md +30 -0
- data/tracks/go/exercises/pov/README.md +64 -0
- data/tracks/go/exercises/prime-factors/README.md +54 -0
- data/tracks/go/exercises/protein-translation/README.md +67 -0
- data/tracks/go/exercises/pythagorean-triplet/README.md +42 -0
- data/tracks/go/exercises/queen-attack/README.md +51 -0
- data/tracks/go/exercises/raindrops/README.md +42 -0
- data/tracks/go/exercises/react/README.md +37 -0
- data/tracks/go/exercises/rna-transcription/README.md +43 -0
- data/tracks/go/exercises/robot-name/README.md +40 -0
- data/tracks/go/exercises/robot-simulator/README.md +52 -0
- data/tracks/go/exercises/roman-numerals/README.md +67 -0
- data/tracks/go/exercises/saddle-points/README.md +51 -0
- data/tracks/go/exercises/say/README.md +87 -0
- data/tracks/go/exercises/scrabble-score/README.md +62 -0
- data/tracks/go/exercises/secret-handshake/README.md +53 -0
- data/tracks/go/exercises/series/README.md +45 -0
- data/tracks/go/exercises/sieve/README.md +52 -0
- data/tracks/go/exercises/simple-cipher/README.md +108 -0
- data/tracks/go/exercises/strain/README.md +58 -0
- data/tracks/go/exercises/sum-of-multiples/README.md +36 -0
- data/tracks/go/exercises/tournament/README.md +86 -0
- data/tracks/go/exercises/transpose/README.md +83 -0
- data/tracks/go/exercises/tree-building/README.md +48 -0
- data/tracks/go/exercises/triangle/README.md +44 -0
- data/tracks/go/exercises/trinary/README.md +46 -0
- data/tracks/go/exercises/twelve-days/README.md +57 -0
- data/tracks/go/exercises/variable-length-quantity/README.md +57 -0
- data/tracks/go/exercises/word-count/README.md +37 -0
- data/tracks/go/exercises/word-search/README.md +48 -0
- data/tracks/go/exercises/wordy/README.md +81 -0
- data/tracks/haskell/README.md +2 -2
- data/tracks/haskell/exercises/beer-song/test/Tests.hs +1 -1
- data/tracks/haskell/exercises/food-chain/test/Tests.hs +1 -1
- data/tracks/haskell/exercises/house/test/Tests.hs +1 -1
- data/tracks/haskell/exercises/say/test/Tests.hs +1 -1
- data/tracks/java/config.json +10 -10
- data/tracks/java/exercises/rotational-cipher/src/example/java/RotationalCipher.java +5 -8
- data/tracks/java/exercises/rotational-cipher/src/test/java/RotationalCipherTest.java +3 -6
- data/tracks/javascript/config.json +397 -140
- data/tracks/kotlin/config.json +248 -63
- data/tracks/kotlin/config/exercise_readme.go.tmpl +16 -0
- data/tracks/kotlin/exercises/accumulate/README.md +38 -0
- data/tracks/kotlin/exercises/acronym/README.md +18 -0
- data/tracks/kotlin/exercises/all-your-base/README.md +38 -0
- data/tracks/kotlin/exercises/allergies/README.md +40 -0
- data/tracks/kotlin/exercises/anagram/README.md +16 -0
- data/tracks/kotlin/exercises/atbash-cipher/README.md +37 -0
- data/tracks/kotlin/exercises/bank-account/README.md +33 -0
- data/tracks/kotlin/exercises/beer-song/README.md +330 -0
- data/tracks/kotlin/exercises/binary-search/README.md +44 -0
- data/tracks/kotlin/exercises/binary/README.md +38 -0
- data/tracks/kotlin/exercises/bob/README.md +21 -0
- data/tracks/kotlin/exercises/bracket-push/README.md +13 -0
- data/tracks/kotlin/exercises/change/README.md +26 -0
- data/tracks/kotlin/exercises/clock/README.md +16 -0
- data/tracks/kotlin/exercises/collatz-conjecture/README.md +36 -0
- data/tracks/kotlin/exercises/complex-numbers/README.md +14 -0
- data/tracks/kotlin/exercises/diamond/README.md +62 -0
- data/tracks/kotlin/exercises/difference-of-squares/README.md +22 -0
- data/tracks/kotlin/exercises/etl/README.md +54 -0
- data/tracks/kotlin/exercises/flatten-array/README.md +21 -0
- data/tracks/kotlin/exercises/gigasecond/README.md +14 -0
- data/tracks/kotlin/exercises/grade-school/README.md +45 -0
- data/tracks/kotlin/exercises/grains/README.md +37 -0
- data/tracks/kotlin/exercises/hamming/README.md +45 -0
- data/tracks/kotlin/exercises/hello-world/README.md +24 -0
- data/tracks/kotlin/exercises/hexadecimal/README.md +17 -0
- data/tracks/kotlin/exercises/isogram/README.md +22 -0
- data/tracks/kotlin/exercises/largest-series-product/README.md +23 -0
- data/tracks/kotlin/exercises/leap/README.md +36 -0
- data/tracks/kotlin/exercises/linked-list/README.md +37 -0
- data/tracks/kotlin/exercises/list-ops/README.md +20 -0
- data/tracks/kotlin/exercises/luhn/README.md +74 -0
- data/tracks/kotlin/exercises/minesweeper/README.md +33 -0
- data/tracks/kotlin/exercises/nth-prime/README.md +18 -0
- data/tracks/kotlin/exercises/nucleotide-count/README.md +36 -0
- data/tracks/kotlin/exercises/pangram/README.md +18 -0
- data/tracks/kotlin/exercises/pascals-triangle/README.md +24 -0
- data/tracks/kotlin/exercises/perfect-numbers/README.md +27 -0
- data/tracks/kotlin/exercises/phone-number/README.md +37 -0
- data/tracks/kotlin/exercises/pig-latin/README.md +27 -0
- data/tracks/kotlin/exercises/prime-factors/README.md +39 -0
- data/tracks/kotlin/exercises/raindrops/README.md +27 -0
- data/tracks/kotlin/exercises/react/README.md +22 -0
- data/tracks/kotlin/exercises/rna-transcription/README.md +28 -0
- data/tracks/kotlin/exercises/robot-name/README.md +25 -0
- data/tracks/kotlin/exercises/robot-simulator/README.md +37 -0
- data/tracks/kotlin/exercises/roman-numerals/README.md +52 -0
- data/tracks/kotlin/exercises/saddle-points/README.md +36 -0
- data/tracks/kotlin/exercises/scrabble-score/README.md +47 -0
- data/tracks/kotlin/exercises/secret-handshake/README.md +38 -0
- data/tracks/kotlin/exercises/series/README.md +30 -0
- data/tracks/kotlin/exercises/sieve/README.md +37 -0
- data/tracks/kotlin/exercises/simple-cipher/README.md +93 -0
- data/tracks/kotlin/exercises/space-age/README.md +27 -0
- data/tracks/kotlin/exercises/spiral-matrix/README.md +33 -0
- data/tracks/kotlin/exercises/strain/README.md +43 -0
- data/tracks/kotlin/exercises/sublist/README.md +24 -0
- data/tracks/kotlin/exercises/sum-of-multiples/README.md +21 -0
- data/tracks/kotlin/exercises/triangle/README.md +29 -0
- data/tracks/kotlin/exercises/word-count/README.md +22 -0
- data/tracks/ocaml/config/exercise_readme.go.tmpl +16 -0
- data/tracks/ocaml/exercises/acronym/README.md +55 -0
- data/tracks/ocaml/exercises/all-your-base/README.md +75 -0
- data/tracks/ocaml/exercises/anagram/README.md +53 -0
- data/tracks/ocaml/exercises/atbash-cipher/README.md +93 -0
- data/tracks/ocaml/exercises/beer-song/README.md +367 -0
- data/tracks/ocaml/exercises/binary-search/README.md +81 -0
- data/tracks/ocaml/exercises/bob/README.md +87 -0
- data/tracks/ocaml/exercises/bowling/README.md +93 -0
- data/tracks/ocaml/exercises/bracket-push/README.md +50 -0
- data/tracks/ocaml/exercises/change/README.md +63 -0
- data/tracks/ocaml/exercises/connect/README.md +74 -0
- data/tracks/ocaml/exercises/custom-set/README.md +51 -0
- data/tracks/ocaml/exercises/difference-of-squares/README.md +59 -0
- data/tracks/ocaml/exercises/dominoes/README.md +58 -0
- data/tracks/ocaml/exercises/etl/README.md +91 -0
- data/tracks/ocaml/exercises/forth/README.md +69 -0
- data/tracks/ocaml/exercises/grade-school/README.md +82 -0
- data/tracks/ocaml/exercises/hamming/README.md +82 -0
- data/tracks/ocaml/exercises/hangman/README.md +61 -0
- data/tracks/ocaml/exercises/hello-world/README.md +61 -0
- data/tracks/ocaml/exercises/hexadecimal/README.md +54 -0
- data/tracks/ocaml/exercises/leap/README.md +73 -0
- data/tracks/ocaml/exercises/list-ops/README.md +50 -0
- data/tracks/ocaml/exercises/luhn/README.md +111 -0
- data/tracks/ocaml/exercises/meetup/README.md +70 -0
- data/tracks/ocaml/exercises/minesweeper/README.md +70 -0
- data/tracks/ocaml/exercises/nucleotide-count/README.md +73 -0
- data/tracks/ocaml/exercises/pangram/README.md +55 -0
- data/tracks/ocaml/exercises/phone-number/README.md +74 -0
- data/tracks/ocaml/exercises/point-mutations/README.md +81 -0
- data/tracks/ocaml/exercises/prime-factors/README.md +76 -0
- data/tracks/ocaml/exercises/raindrops/README.md +64 -0
- data/tracks/ocaml/exercises/react/README.md +59 -0
- data/tracks/ocaml/exercises/rna-transcription/README.md +65 -0
- data/tracks/ocaml/exercises/robot-name/README.md +62 -0
- data/tracks/ocaml/exercises/roman-numerals/README.md +89 -0
- data/tracks/ocaml/exercises/run-length-encoding/README.md +70 -0
- data/tracks/ocaml/exercises/say/README.md +109 -0
- data/tracks/ocaml/exercises/space-age/README.md +64 -0
- data/tracks/ocaml/exercises/triangle/README.md +66 -0
- data/tracks/ocaml/exercises/word-count/README.md +59 -0
- data/tracks/ocaml/exercises/zipper/README.md +71 -0
- data/tracks/perl5/README.md +1 -1
- data/tracks/perl5/config/exercise_readme.go.tmpl +16 -0
- data/tracks/perl5/exercises/accumulate/README.md +35 -0
- data/tracks/perl5/exercises/all-your-base/README.md +35 -0
- data/tracks/perl5/exercises/allergies/README.md +37 -0
- data/tracks/perl5/exercises/anagram/README.md +13 -0
- data/tracks/perl5/exercises/atbash-cipher/README.md +34 -0
- data/tracks/perl5/exercises/beer-song/README.md +327 -0
- data/tracks/perl5/exercises/binary-search-tree/README.md +60 -0
- data/tracks/perl5/exercises/binary-search/README.md +41 -0
- data/tracks/perl5/exercises/binary/README.md +35 -0
- data/tracks/perl5/exercises/bob/README.md +18 -0
- data/tracks/perl5/exercises/clock/README.md +13 -0
- data/tracks/perl5/exercises/crypto-square/README.md +74 -0
- data/tracks/perl5/exercises/custom-set/README.md +11 -0
- data/tracks/perl5/exercises/difference-of-squares/README.md +19 -0
- data/tracks/perl5/exercises/etl/README.md +51 -0
- data/tracks/perl5/exercises/food-chain/README.md +70 -0
- data/tracks/perl5/exercises/gigasecond/README.md +11 -0
- data/tracks/perl5/exercises/grade-school/README.md +42 -0
- data/tracks/perl5/exercises/grains/README.md +34 -0
- data/tracks/perl5/exercises/hamming/README.md +42 -0
- data/tracks/perl5/exercises/hello-world/README.md +21 -0
- data/tracks/perl5/exercises/hexadecimal/README.md +14 -0
- data/tracks/perl5/exercises/house/README.md +113 -0
- data/tracks/perl5/exercises/kindergarten-garden/README.md +66 -0
- data/tracks/perl5/exercises/largest-series-product/README.md +20 -0
- data/tracks/perl5/exercises/leap/README.md +33 -0
- data/tracks/perl5/exercises/linked-list/README.md +34 -0
- data/tracks/perl5/exercises/list-ops/README.md +10 -0
- data/tracks/perl5/exercises/luhn/Example.pm +20 -42
- data/tracks/perl5/exercises/luhn/Luhn.pm +9 -0
- data/tracks/perl5/exercises/luhn/README.md +71 -0
- data/tracks/perl5/exercises/luhn/example.yaml +38 -0
- data/tracks/perl5/exercises/luhn/luhn.t +127 -26
- data/tracks/perl5/exercises/matrix/README.md +45 -0
- data/tracks/perl5/exercises/meetup/README.md +30 -0
- data/tracks/perl5/exercises/minesweeper/README.md +30 -0
- data/tracks/perl5/exercises/nucleotide-count/README.md +33 -0
- data/tracks/perl5/exercises/ocr-numbers/README.md +85 -0
- data/tracks/perl5/exercises/palindrome-products/README.md +40 -0
- data/tracks/perl5/exercises/pascals-triangle/README.md +21 -0
- data/tracks/perl5/exercises/phone-number/Example.pm +6 -26
- data/tracks/perl5/exercises/phone-number/PhoneNumber.pm +5 -0
- data/tracks/perl5/exercises/phone-number/README.md +34 -0
- data/tracks/perl5/exercises/phone-number/example.yaml +15 -0
- data/tracks/perl5/exercises/phone-number/phone-number.t +138 -0
- data/tracks/perl5/exercises/pig-latin/README.md +24 -0
- data/tracks/perl5/exercises/point-mutations/README.md +41 -0
- data/tracks/perl5/exercises/prime-factors/README.md +36 -0
- data/tracks/perl5/exercises/proverb/README.md +18 -0
- data/tracks/perl5/exercises/pythagorean-triplet/README.md +24 -0
- data/tracks/perl5/exercises/queen-attack/README.md +33 -0
- data/tracks/perl5/exercises/raindrops/README.md +24 -0
- data/tracks/perl5/exercises/rna-transcription/README.md +25 -0
- data/tracks/perl5/exercises/robot-name/README.md +22 -0
- data/tracks/perl5/exercises/robot-simulator/README.md +34 -0
- data/tracks/perl5/exercises/roman-numerals/README.md +49 -0
- data/tracks/perl5/exercises/saddle-points/README.md +33 -0
- data/tracks/perl5/exercises/say/README.md +69 -0
- data/tracks/perl5/exercises/scrabble-score/README.md +44 -0
- data/tracks/perl5/exercises/secret-handshake/README.md +35 -0
- data/tracks/perl5/exercises/series/README.md +27 -0
- data/tracks/perl5/exercises/sieve/README.md +34 -0
- data/tracks/perl5/exercises/simple-cipher/README.md +90 -0
- data/tracks/perl5/exercises/simple-linked-list/README.md +28 -0
- data/tracks/perl5/exercises/space-age/README.md +24 -0
- data/tracks/perl5/exercises/strain/README.md +40 -0
- data/tracks/perl5/exercises/sublist/README.md +21 -0
- data/tracks/perl5/exercises/sum-of-multiples/README.md +18 -0
- data/tracks/perl5/exercises/triangle/README.md +26 -0
- data/tracks/perl5/exercises/trinary/README.md +28 -0
- data/tracks/perl5/exercises/twelve-days/README.md +35 -0
- data/tracks/perl5/exercises/word-count/README.md +19 -0
- data/tracks/perl5/exercises/wordy/README.md +63 -0
- data/tracks/perl6/README.md +1 -1
- data/tracks/perl6/config/exercise_readme.go.tmpl +16 -0
- data/tracks/perl6/exercises/accumulate/README.md +50 -0
- data/tracks/perl6/exercises/all-your-base/README.md +50 -0
- data/tracks/perl6/exercises/allergies/README.md +52 -0
- data/tracks/perl6/exercises/anagram/README.md +28 -0
- data/tracks/perl6/exercises/atbash-cipher/README.md +49 -0
- data/tracks/perl6/exercises/binary/README.md +50 -0
- data/tracks/perl6/exercises/bob/README.md +33 -0
- data/tracks/perl6/exercises/clock/README.md +28 -0
- data/tracks/perl6/exercises/flatten-array/README.md +33 -0
- data/tracks/perl6/exercises/grade-school/README.md +57 -0
- data/tracks/perl6/exercises/grains/README.md +49 -0
- data/tracks/perl6/exercises/hello-world/README.md +36 -0
- data/tracks/perl6/exercises/leap/README.md +48 -0
- data/tracks/perl6/exercises/linked-list/README.md +49 -0
- data/tracks/perl6/exercises/linked-list/example.yaml +1 -1
- data/tracks/perl6/exercises/linked-list/linked-list.t +1 -1
- data/tracks/perl6/exercises/luhn/README.md +86 -0
- data/tracks/perl6/exercises/phone-number/README.md +49 -0
- data/tracks/perl6/exercises/raindrops/README.md +39 -0
- data/tracks/perl6/exercises/rna-transcription/README.md +40 -0
- data/tracks/perl6/exercises/robot-name/README.md +37 -0
- data/tracks/perl6/exercises/scrabble-score/README.md +59 -0
- data/tracks/perl6/exercises/space-age/README.md +39 -0
- data/tracks/perl6/exercises/trinary/README.md +43 -0
- data/tracks/perl6/exercises/word-count/README.md +34 -0
- data/tracks/perl6/exercises/wordy/README.md +78 -0
- data/tracks/php/config.json +156 -3
- data/tracks/php/config/exercise_readme.go.tmpl +16 -0
- data/tracks/php/exercises/accumulate/README.md +50 -0
- data/tracks/php/exercises/acronym/README.md +30 -0
- data/tracks/php/exercises/allergies/README.md +52 -0
- data/tracks/php/exercises/anagram/README.md +28 -0
- data/tracks/php/exercises/atbash-cipher/README.md +49 -0
- data/tracks/php/exercises/beer-song/README.md +342 -0
- data/tracks/php/exercises/binary-search/README.md +56 -0
- data/tracks/php/exercises/binary/README.md +50 -0
- data/tracks/php/exercises/bob/README.md +36 -0
- data/tracks/php/exercises/book-store/README.md +89 -0
- data/tracks/php/exercises/bowling/README.md +68 -0
- data/tracks/php/exercises/bracket-push/README.md +25 -0
- data/tracks/php/exercises/change/README.md +38 -0
- data/tracks/php/exercises/clock/README.md +28 -0
- data/tracks/php/exercises/connect/README.md +49 -0
- data/tracks/php/exercises/difference-of-squares/README.md +34 -0
- data/tracks/php/exercises/etl/README.md +66 -0
- data/tracks/php/exercises/gigasecond/README.md +26 -0
- data/tracks/php/exercises/grade-school/README.md +57 -0
- data/tracks/php/exercises/grains/README.md +49 -0
- data/tracks/php/exercises/hamming/README.md +57 -0
- data/tracks/php/exercises/hello-world/README.md +36 -0
- data/tracks/php/exercises/isogram/README.md +34 -0
- data/tracks/php/exercises/largest-series-product/README.md +35 -0
- data/tracks/php/exercises/leap/README.md +48 -0
- data/tracks/php/exercises/luhn/README.md +86 -0
- data/tracks/php/exercises/markdown/README.md +33 -0
- data/tracks/php/exercises/minesweeper/README.md +45 -0
- data/tracks/php/exercises/nth-prime/README.md +30 -0
- data/tracks/php/exercises/nucleotide-count/README.md +48 -0
- data/tracks/php/exercises/ocr-numbers/README.md +100 -0
- data/tracks/php/exercises/pangram/README.md +30 -0
- data/tracks/php/exercises/pascals-triangle/README.md +36 -0
- data/tracks/php/exercises/perfect-numbers/README.md +39 -0
- data/tracks/php/exercises/phone-number/README.md +49 -0
- data/tracks/php/exercises/pig-latin/README.md +39 -0
- data/tracks/php/exercises/prime-factors/README.md +51 -0
- data/tracks/php/exercises/queen-attack/README.md +48 -0
- data/tracks/php/exercises/raindrops/README.md +39 -0
- data/tracks/php/exercises/rna-transcription/README.md +40 -0
- data/tracks/php/exercises/robot-name/README.md +37 -0
- data/tracks/php/exercises/robot-simulator/README.md +49 -0
- data/tracks/php/exercises/roman-numerals/README.md +64 -0
- data/tracks/php/exercises/scrabble-score/README.md +59 -0
- data/tracks/php/exercises/sieve/README.md +49 -0
- data/tracks/php/exercises/space-age/README.md +39 -0
- data/tracks/php/exercises/sum-of-multiples/README.md +33 -0
- data/tracks/php/exercises/triangle/README.md +41 -0
- data/tracks/php/exercises/trinary/README.md +43 -0
- data/tracks/php/exercises/variable-length-quantity/README.md +54 -0
- data/tracks/php/exercises/word-count/README.md +34 -0
- data/tracks/php/exercises/wordy/README.md +78 -0
- data/tracks/rust/exercises/grains/tests/grains.rs +0 -1
- data/tracks/sml/config/exercise_readme.go.tmpl +16 -0
- data/tracks/sml/exercises/accumulate/README.md +49 -0
- data/tracks/sml/exercises/allergies/README.md +51 -0
- data/tracks/sml/exercises/anagram/README.md +27 -0
- data/tracks/sml/exercises/binary/README.md +49 -0
- data/tracks/sml/exercises/flatten-array/README.md +32 -0
- data/tracks/sml/exercises/hamming/README.md +56 -0
- data/tracks/sml/exercises/nth-prime/README.md +29 -0
- data/tracks/sml/exercises/raindrops/README.md +38 -0
- metadata +433 -4
- data/tracks/perl5/exercises/phone-number/cases.json +0 -44
- data/tracks/perl5/exercises/phone-number/phone.t +0 -43
data/tracks/haskell/README.md
CHANGED
@@ -103,7 +103,7 @@ Each exercise has the following structure:
|
|
103
103
|
resolver for all the exercises.
|
104
104
|
- `package.yaml` is a file in the [hpack](https://github.com/sol/hpack#readme)
|
105
105
|
format that has all dependencies and build instructions for an exercise.
|
106
|
-
- `HINTS.md` is an optional file containing instructions and/or hints. It is used together with the respective `description.md` for the exercise from [
|
106
|
+
- `HINTS.md` is an optional file containing instructions and/or hints. It is used together with the respective `description.md` for the exercise from [problem-specifications](https://github.com/exercism/problem-specifications) to build the `README.md` file.
|
107
107
|
- `src/ModuleName.hs` is a [stub solution](#stub-solution).
|
108
108
|
- `examples/success-<name>/package.yaml` contains library dependencies for the [example solution](#example-solution). `<name>` is a unique name for the example - usually "standard" (as in `success-standard`), but it can be some other name in case of multiple example solutions.
|
109
109
|
- `examples/success-<name>/src/ModuleName.hs` is the source code of the sample solution.
|
@@ -140,7 +140,7 @@ There are three possible types of examples:
|
|
140
140
|
* error: The example is expected to fail to build.
|
141
141
|
|
142
142
|
### Test suite
|
143
|
-
The test suite should be derived from the respective `
|
143
|
+
The test suite should be derived from the respective `problem-specifications/exercises/<exercise-name>/canonical-data.json` and comply to some formatting and coding standards (to get an idea you may look at some of the existing tests).
|
144
144
|
|
145
145
|
### Running Tests
|
146
146
|
In order to be accepted by Travis-CI, every exercise must be registered in
|
@@ -34,7 +34,7 @@ specs = describe "song" $ do
|
|
34
34
|
zipMaybe [] (y:ys) = (Nothing, Just y ) : zipMaybe [] ys
|
35
35
|
zipMaybe (x:xs) (y:ys) = (Just x , Just y ) : zipMaybe xs ys
|
36
36
|
|
37
|
-
-- Lyrics extracted from `exercism/
|
37
|
+
-- Lyrics extracted from `exercism/problem-specifications` on 2016-10-03.
|
38
38
|
|
39
39
|
lyrics :: String
|
40
40
|
lyrics = "99 bottles of beer on the wall, 99 bottles of beer.\n\
|
@@ -33,7 +33,7 @@ specs = describe "song" $ do
|
|
33
33
|
zipMaybe [] (y:ys) = (Nothing, Just y ) : zipMaybe [] ys
|
34
34
|
zipMaybe (x:xs) (y:ys) = (Just x , Just y ) : zipMaybe xs ys
|
35
35
|
|
36
|
-
-- Lyrics extracted from `exercism/
|
36
|
+
-- Lyrics extracted from `exercism/problem-specifications` on 2016-09-21.
|
37
37
|
|
38
38
|
lyrics :: String
|
39
39
|
lyrics =
|
@@ -33,7 +33,7 @@ specs = describe "rhyme" $ do
|
|
33
33
|
zipMaybe [] (y:ys) = (Nothing, Just y ) : zipMaybe [] ys
|
34
34
|
zipMaybe (x:xs) (y:ys) = (Just x , Just y ) : zipMaybe xs ys
|
35
35
|
|
36
|
-
-- Lyrics extracted from `exercism/
|
36
|
+
-- Lyrics extracted from `exercism/problem-specifications` on 2016-09-23.
|
37
37
|
|
38
38
|
lyrics :: String
|
39
39
|
lyrics = "This is the house that Jack built.\n\
|
@@ -37,7 +37,7 @@ specs = describe "inEnglish" $ for_ cases test
|
|
37
37
|
\three hundred twenty-one thousand \
|
38
38
|
\one hundred twenty-three" )
|
39
39
|
, ( -1, Nothing )
|
40
|
-
-- Even though the
|
40
|
+
-- Even though the problem-specifications tests have this case,
|
41
41
|
-- we decide not to test it, to give freedom to go to trillions if desired.
|
42
42
|
-- , (1000000000000, Nothing )
|
43
43
|
]
|
data/tracks/java/config.json
CHANGED
@@ -204,6 +204,16 @@
|
|
204
204
|
|
205
205
|
]
|
206
206
|
},
|
207
|
+
{
|
208
|
+
"uuid": "9eb41883-55ef-4681-b5ac-5c2259302772",
|
209
|
+
"slug": "rotational-cipher",
|
210
|
+
"core": false,
|
211
|
+
"unlocked_by": null,
|
212
|
+
"difficulty": 4,
|
213
|
+
"topics": [
|
214
|
+
|
215
|
+
]
|
216
|
+
},
|
207
217
|
{
|
208
218
|
"uuid": "0b92ffee-c092-4ab1-ad78-76c8cf80e1b5",
|
209
219
|
"slug": "kindergarten-garden",
|
@@ -768,16 +778,6 @@
|
|
768
778
|
|
769
779
|
]
|
770
780
|
},
|
771
|
-
{
|
772
|
-
"uuid": "9eb41883-55ef-4681-b5ac-5c2259302772",
|
773
|
-
"slug": "rotational-cipher",
|
774
|
-
"core": false,
|
775
|
-
"unlocked_by": null,
|
776
|
-
"difficulty": 1,
|
777
|
-
"topics": [
|
778
|
-
|
779
|
-
]
|
780
|
-
},
|
781
781
|
{
|
782
782
|
"uuid": "e58c29d2-80a7-40ef-bed0-4a184ae35f34",
|
783
783
|
"slug": "accumulate",
|
@@ -1,13 +1,12 @@
|
|
1
|
+
class RotationalCipher {
|
1
2
|
|
2
|
-
|
3
|
-
|
4
|
-
int shiftKey;
|
3
|
+
private int shiftKey;
|
5
4
|
|
6
5
|
RotationalCipher(int shiftKey) {
|
7
6
|
this.shiftKey = shiftKey;
|
8
7
|
}
|
9
8
|
|
10
|
-
|
9
|
+
String rotate(String data) {
|
11
10
|
StringBuilder dataStringBuilder = new StringBuilder();
|
12
11
|
for (char c : data.toCharArray()) {
|
13
12
|
if (Character.isUpperCase(c)) {
|
@@ -25,12 +24,10 @@ public class RotationalCipher {
|
|
25
24
|
* For Uppercase CaseStart = 'A' and CaseEnd = 'Z'
|
26
25
|
* For Lowercase CaseStart = 'a' and CaseEnd = 'z'
|
27
26
|
*/
|
28
|
-
private char getReplacementCharacter(char characterToReplace,
|
29
|
-
char alphabetCaseStart, char alphabetCaseEnd) {
|
27
|
+
private char getReplacementCharacter(char characterToReplace, char alphabetCaseStart, char alphabetCaseEnd) {
|
30
28
|
char replacementCharacter = (char) (characterToReplace + shiftKey);
|
31
29
|
if (replacementCharacter > alphabetCaseEnd) {
|
32
|
-
replacementCharacter = (char) ((alphabetCaseStart - 1) +
|
33
|
-
(replacementCharacter % alphabetCaseEnd));
|
30
|
+
replacementCharacter = (char) ((alphabetCaseStart - 1) + (replacementCharacter % alphabetCaseEnd));
|
34
31
|
}
|
35
32
|
return replacementCharacter;
|
36
33
|
}
|
@@ -1,6 +1,4 @@
|
|
1
|
-
|
2
1
|
import org.junit.Assert;
|
3
|
-
import org.junit.Before;
|
4
2
|
import org.junit.Ignore;
|
5
3
|
import org.junit.Test;
|
6
4
|
|
@@ -13,7 +11,7 @@ public class RotationalCipherTest {
|
|
13
11
|
rotationalCipher = new RotationalCipher(1);
|
14
12
|
Assert.assertEquals("b", rotationalCipher.rotate("a"));
|
15
13
|
}
|
16
|
-
|
14
|
+
|
17
15
|
@Ignore("Remove to run test")
|
18
16
|
@Test
|
19
17
|
public void rotateSingleCharacterBy26() {
|
@@ -75,7 +73,6 @@ public class RotationalCipherTest {
|
|
75
73
|
public void rotateAllLetters() {
|
76
74
|
rotationalCipher = new RotationalCipher(13);
|
77
75
|
Assert.assertEquals("The quick brown fox jumps over the lazy dog.",
|
78
|
-
|
79
|
-
}
|
80
|
-
|
76
|
+
rotationalCipher.rotate("Gur dhvpx oebja sbk whzcf bire gur ynml qbt."));
|
77
|
+
}
|
81
78
|
}
|
@@ -35,7 +35,7 @@
|
|
35
35
|
"slug": "hamming",
|
36
36
|
"core": false,
|
37
37
|
"unlocked_by": null,
|
38
|
-
"difficulty":
|
38
|
+
"difficulty": 2,
|
39
39
|
"topics": [
|
40
40
|
"Control-flow (loops)",
|
41
41
|
"Control-flow (conditionals)",
|
@@ -59,7 +59,7 @@
|
|
59
59
|
"slug": "pangram",
|
60
60
|
"core": false,
|
61
61
|
"unlocked_by": null,
|
62
|
-
"difficulty":
|
62
|
+
"difficulty": 2,
|
63
63
|
"topics": [
|
64
64
|
"Control flow (conditionals)",
|
65
65
|
"Control flow (loops)",
|
@@ -75,7 +75,7 @@
|
|
75
75
|
"slug": "bob",
|
76
76
|
"core": false,
|
77
77
|
"unlocked_by": null,
|
78
|
-
"difficulty":
|
78
|
+
"difficulty": 2,
|
79
79
|
"topics": [
|
80
80
|
"Control flow (conditionals)",
|
81
81
|
"Polymorfism",
|
@@ -90,7 +90,7 @@
|
|
90
90
|
"slug": "gigasecond",
|
91
91
|
"core": false,
|
92
92
|
"unlocked_by": null,
|
93
|
-
"difficulty":
|
93
|
+
"difficulty": 2,
|
94
94
|
"topics": [
|
95
95
|
"Time"
|
96
96
|
]
|
@@ -100,7 +100,7 @@
|
|
100
100
|
"slug": "isogram",
|
101
101
|
"core": false,
|
102
102
|
"unlocked_by": null,
|
103
|
-
"difficulty":
|
103
|
+
"difficulty": 2,
|
104
104
|
"topics": [
|
105
105
|
"Strings",
|
106
106
|
"Filtering"
|
@@ -111,10 +111,10 @@
|
|
111
111
|
"slug": "beer-song",
|
112
112
|
"core": false,
|
113
113
|
"unlocked_by": null,
|
114
|
-
"difficulty":
|
114
|
+
"difficulty": 5,
|
115
115
|
"topics": [
|
116
|
-
"
|
117
|
-
"
|
116
|
+
"Control flow (conditionals)",
|
117
|
+
"Control flow (loops)",
|
118
118
|
"Strings"
|
119
119
|
]
|
120
120
|
},
|
@@ -123,7 +123,7 @@
|
|
123
123
|
"slug": "phone-number",
|
124
124
|
"core": false,
|
125
125
|
"unlocked_by": null,
|
126
|
-
"difficulty":
|
126
|
+
"difficulty": 3,
|
127
127
|
"topics": [
|
128
128
|
"Parsing",
|
129
129
|
"Transforming"
|
@@ -145,7 +145,7 @@
|
|
145
145
|
"slug": "food-chain",
|
146
146
|
"core": false,
|
147
147
|
"unlocked_by": null,
|
148
|
-
"difficulty":
|
148
|
+
"difficulty": 4,
|
149
149
|
"topics": [
|
150
150
|
"Text formatting",
|
151
151
|
"Algorithms"
|
@@ -156,9 +156,11 @@
|
|
156
156
|
"slug": "grade-school",
|
157
157
|
"core": false,
|
158
158
|
"unlocked_by": null,
|
159
|
-
"difficulty":
|
159
|
+
"difficulty": 6,
|
160
160
|
"topics": [
|
161
|
-
|
161
|
+
"Arrays",
|
162
|
+
"Maps",
|
163
|
+
"Sorting"
|
162
164
|
]
|
163
165
|
},
|
164
166
|
{
|
@@ -166,9 +168,13 @@
|
|
166
168
|
"slug": "robot-name",
|
167
169
|
"core": false,
|
168
170
|
"unlocked_by": null,
|
169
|
-
"difficulty":
|
171
|
+
"difficulty": 6,
|
170
172
|
"topics": [
|
171
|
-
|
173
|
+
"Control flow (conditionals)",
|
174
|
+
"Exception handling",
|
175
|
+
"Sets",
|
176
|
+
"Randomness",
|
177
|
+
"Regular expressions"
|
172
178
|
]
|
173
179
|
},
|
174
180
|
{
|
@@ -176,9 +182,12 @@
|
|
176
182
|
"slug": "etl",
|
177
183
|
"core": false,
|
178
184
|
"unlocked_by": null,
|
179
|
-
"difficulty":
|
185
|
+
"difficulty": 2,
|
180
186
|
"topics": [
|
181
|
-
|
187
|
+
"Control flow (loops)",
|
188
|
+
"Transforming",
|
189
|
+
"Maps",
|
190
|
+
"Integers"
|
182
191
|
]
|
183
192
|
},
|
184
193
|
{
|
@@ -186,9 +195,11 @@
|
|
186
195
|
"slug": "space-age",
|
187
196
|
"core": false,
|
188
197
|
"unlocked_by": null,
|
189
|
-
"difficulty":
|
198
|
+
"difficulty": 3,
|
190
199
|
"topics": [
|
191
|
-
|
200
|
+
"Classes",
|
201
|
+
"Floating-point numbers",
|
202
|
+
"Mathematics"
|
192
203
|
]
|
193
204
|
},
|
194
205
|
{
|
@@ -196,9 +207,11 @@
|
|
196
207
|
"slug": "grains",
|
197
208
|
"core": false,
|
198
209
|
"unlocked_by": null,
|
199
|
-
"difficulty":
|
210
|
+
"difficulty": 5,
|
200
211
|
"topics": [
|
201
|
-
|
212
|
+
"Control flow (loops)",
|
213
|
+
"Integers",
|
214
|
+
"Mathematics"
|
202
215
|
]
|
203
216
|
},
|
204
217
|
{
|
@@ -206,9 +219,13 @@
|
|
206
219
|
"slug": "triangle",
|
207
220
|
"core": false,
|
208
221
|
"unlocked_by": null,
|
209
|
-
"difficulty":
|
222
|
+
"difficulty": 3,
|
210
223
|
"topics": [
|
211
|
-
|
224
|
+
"Control flow (loops)",
|
225
|
+
"Control flow (conditionals)",
|
226
|
+
"Exception handling",
|
227
|
+
"Integers",
|
228
|
+
"Mathematics"
|
212
229
|
]
|
213
230
|
},
|
214
231
|
{
|
@@ -216,9 +233,11 @@
|
|
216
233
|
"slug": "clock",
|
217
234
|
"core": false,
|
218
235
|
"unlocked_by": null,
|
219
|
-
"difficulty":
|
236
|
+
"difficulty": 5,
|
220
237
|
"topics": [
|
221
|
-
|
238
|
+
"Dates",
|
239
|
+
"Time",
|
240
|
+
"Globalization"
|
222
241
|
]
|
223
242
|
},
|
224
243
|
{
|
@@ -226,9 +245,13 @@
|
|
226
245
|
"slug": "perfect-numbers",
|
227
246
|
"core": false,
|
228
247
|
"unlocked_by": null,
|
229
|
-
"difficulty":
|
248
|
+
"difficulty": 3,
|
230
249
|
"topics": [
|
231
|
-
|
250
|
+
"Control flow (conditionals)",
|
251
|
+
"Control flow (loops)",
|
252
|
+
"Arrays",
|
253
|
+
"Integers",
|
254
|
+
"Mathematics"
|
232
255
|
]
|
233
256
|
},
|
234
257
|
{
|
@@ -250,9 +273,12 @@
|
|
250
273
|
"slug": "acronym",
|
251
274
|
"core": false,
|
252
275
|
"unlocked_by": null,
|
253
|
-
"difficulty":
|
276
|
+
"difficulty": 2,
|
254
277
|
"topics": [
|
255
|
-
|
278
|
+
"Strings",
|
279
|
+
"Control flow (loops)",
|
280
|
+
"Regular expressions",
|
281
|
+
"Transforming"
|
256
282
|
]
|
257
283
|
},
|
258
284
|
{
|
@@ -260,9 +286,12 @@
|
|
260
286
|
"slug": "scrabble-score",
|
261
287
|
"core": false,
|
262
288
|
"unlocked_by": null,
|
263
|
-
"difficulty":
|
289
|
+
"difficulty": 5,
|
264
290
|
"topics": [
|
265
|
-
|
291
|
+
"Control flow (conditionals)",
|
292
|
+
"Control flow (loops)",
|
293
|
+
"Maps",
|
294
|
+
"Strings"
|
266
295
|
]
|
267
296
|
},
|
268
297
|
{
|
@@ -270,9 +299,13 @@
|
|
270
299
|
"slug": "roman-numerals",
|
271
300
|
"core": false,
|
272
301
|
"unlocked_by": null,
|
273
|
-
"difficulty":
|
302
|
+
"difficulty": 3,
|
274
303
|
"topics": [
|
275
|
-
|
304
|
+
"Control flow (conditionals)",
|
305
|
+
"Control flow (loops)",
|
306
|
+
"Mathematics",
|
307
|
+
"Pattern recognition",
|
308
|
+
"Transforming"
|
276
309
|
]
|
277
310
|
},
|
278
311
|
{
|
@@ -280,9 +313,14 @@
|
|
280
313
|
"slug": "circular-buffer",
|
281
314
|
"core": false,
|
282
315
|
"unlocked_by": null,
|
283
|
-
"difficulty":
|
316
|
+
"difficulty": 8,
|
284
317
|
"topics": [
|
285
|
-
|
318
|
+
"Control flow (conditionals)",
|
319
|
+
"Control flow (loops)",
|
320
|
+
"Data structures",
|
321
|
+
"Lists",
|
322
|
+
"Arrays",
|
323
|
+
"Exception handling"
|
286
324
|
]
|
287
325
|
},
|
288
326
|
{
|
@@ -290,9 +328,15 @@
|
|
290
328
|
"slug": "binary",
|
291
329
|
"core": false,
|
292
330
|
"unlocked_by": null,
|
293
|
-
"difficulty":
|
331
|
+
"difficulty": 4,
|
294
332
|
"topics": [
|
295
|
-
|
333
|
+
"Control flow (conditionals)",
|
334
|
+
"Control flow (loops)",
|
335
|
+
"Mathematics",
|
336
|
+
"Integers",
|
337
|
+
"Strings",
|
338
|
+
"Regular expressions",
|
339
|
+
"Exception handling"
|
296
340
|
]
|
297
341
|
},
|
298
342
|
{
|
@@ -300,9 +344,13 @@
|
|
300
344
|
"slug": "prime-factors",
|
301
345
|
"core": false,
|
302
346
|
"unlocked_by": null,
|
303
|
-
"difficulty":
|
347
|
+
"difficulty": 4,
|
304
348
|
"topics": [
|
305
|
-
|
349
|
+
"Control flow (conditionals)",
|
350
|
+
"Control flow (loops)",
|
351
|
+
"Mathematics",
|
352
|
+
"Algorithms",
|
353
|
+
"Integers"
|
306
354
|
]
|
307
355
|
},
|
308
356
|
{
|
@@ -310,9 +358,12 @@
|
|
310
358
|
"slug": "raindrops",
|
311
359
|
"core": false,
|
312
360
|
"unlocked_by": null,
|
313
|
-
"difficulty":
|
361
|
+
"difficulty": 2,
|
314
362
|
"topics": [
|
315
|
-
|
363
|
+
"Control flow (conditionals)",
|
364
|
+
"Strings",
|
365
|
+
"Integers",
|
366
|
+
"Transforming"
|
316
367
|
]
|
317
368
|
},
|
318
369
|
{
|
@@ -320,9 +371,12 @@
|
|
320
371
|
"slug": "allergies",
|
321
372
|
"core": false,
|
322
373
|
"unlocked_by": null,
|
323
|
-
"difficulty":
|
374
|
+
"difficulty": 6,
|
324
375
|
"topics": [
|
325
|
-
|
376
|
+
"Control flow (conditionals)",
|
377
|
+
"Control flow (loops)",
|
378
|
+
"Bitwise operations",
|
379
|
+
"Arrays"
|
326
380
|
]
|
327
381
|
},
|
328
382
|
{
|
@@ -330,19 +384,30 @@
|
|
330
384
|
"slug": "strain",
|
331
385
|
"core": false,
|
332
386
|
"unlocked_by": null,
|
333
|
-
"difficulty":
|
387
|
+
"difficulty": 4,
|
334
388
|
"topics": [
|
335
|
-
|
389
|
+
"Control flow (conditionals)",
|
390
|
+
"Control flow (loops)",
|
391
|
+
"Algorithms",
|
392
|
+
"Lists",
|
393
|
+
"Arrays",
|
394
|
+
"Callbacks",
|
395
|
+
"Filtering"
|
336
396
|
]
|
337
397
|
},
|
338
398
|
{
|
339
399
|
"uuid": "99974454-0736-4cc0-b88f-ed5701397a97",
|
340
400
|
"slug": "atbash-cipher",
|
341
401
|
"core": false,
|
342
|
-
"unlocked_by":
|
343
|
-
"difficulty":
|
402
|
+
"unlocked_by": "simple-cipher",
|
403
|
+
"difficulty": 7,
|
344
404
|
"topics": [
|
345
|
-
|
405
|
+
"Control flow (conditionals)",
|
406
|
+
"Control flow (loops)",
|
407
|
+
"Algorithms",
|
408
|
+
"Arrays",
|
409
|
+
"Regular expressions",
|
410
|
+
"Text formatting"
|
346
411
|
]
|
347
412
|
},
|
348
413
|
{
|
@@ -350,39 +415,58 @@
|
|
350
415
|
"slug": "accumulate",
|
351
416
|
"core": false,
|
352
417
|
"unlocked_by": null,
|
353
|
-
"difficulty":
|
418
|
+
"difficulty": 5,
|
354
419
|
"topics": [
|
355
|
-
|
420
|
+
"Control flow (loops)",
|
421
|
+
"Algorithms",
|
422
|
+
"Lists",
|
423
|
+
"Callbacks"
|
356
424
|
]
|
357
425
|
},
|
358
426
|
{
|
359
427
|
"uuid": "a98e3593-d5b4-4c2b-8569-ae3ae7e07dad",
|
360
428
|
"slug": "crypto-square",
|
361
429
|
"core": false,
|
362
|
-
"unlocked_by":
|
363
|
-
"difficulty":
|
430
|
+
"unlocked_by": "atbash-cipher",
|
431
|
+
"difficulty": 9,
|
364
432
|
"topics": [
|
365
|
-
|
433
|
+
"Control flow (conditionals)",
|
434
|
+
"Control flow (loops)",
|
435
|
+
"Algorithms",
|
436
|
+
"Arrays",
|
437
|
+
"Sorting",
|
438
|
+
"Text formatting",
|
439
|
+
"Regular expressions",
|
440
|
+
"Transforming"
|
366
441
|
]
|
367
442
|
},
|
368
443
|
{
|
369
444
|
"uuid": "f317721d-e1f5-4e68-9fdc-f9bc7b6b004d",
|
370
445
|
"slug": "trinary",
|
371
446
|
"core": false,
|
372
|
-
"unlocked_by":
|
373
|
-
"difficulty":
|
447
|
+
"unlocked_by": "binary",
|
448
|
+
"difficulty": 4,
|
374
449
|
"topics": [
|
375
|
-
|
450
|
+
"Control flow (conditionals)",
|
451
|
+
"Control flow (loops)",
|
452
|
+
"Mathematics",
|
453
|
+
"Integers",
|
454
|
+
"Strings",
|
455
|
+
"Regular expressions"
|
376
456
|
]
|
377
457
|
},
|
378
458
|
{
|
379
459
|
"uuid": "4cad8ee8-40be-4d4d-8c14-45d8c6e29a32",
|
380
460
|
"slug": "sieve",
|
381
461
|
"core": false,
|
382
|
-
"unlocked_by":
|
383
|
-
"difficulty":
|
462
|
+
"unlocked_by": "prime-factors",
|
463
|
+
"difficulty": 5,
|
384
464
|
"topics": [
|
385
|
-
|
465
|
+
"Control flow (conditionals)",
|
466
|
+
"Control flow (loops)",
|
467
|
+
"Mathematics",
|
468
|
+
"Integers",
|
469
|
+
"Recursion"
|
386
470
|
]
|
387
471
|
},
|
388
472
|
{
|
@@ -392,17 +476,29 @@
|
|
392
476
|
"unlocked_by": null,
|
393
477
|
"difficulty": 1,
|
394
478
|
"topics": [
|
395
|
-
|
479
|
+
"Control flow (conditionals)",
|
480
|
+
"Control flow (loops)",
|
481
|
+
"Algorithms",
|
482
|
+
"Mathematics",
|
483
|
+
"Strings",
|
484
|
+
"Randomness",
|
485
|
+
"Text formatting",
|
486
|
+
"Transforming"
|
396
487
|
]
|
397
488
|
},
|
398
489
|
{
|
399
490
|
"uuid": "9892d47d-97a0-4a2f-8284-6f84c86559e8",
|
400
491
|
"slug": "octal",
|
401
492
|
"core": false,
|
402
|
-
"unlocked_by":
|
403
|
-
"difficulty":
|
493
|
+
"unlocked_by": "binary",
|
494
|
+
"difficulty": 4,
|
404
495
|
"topics": [
|
405
|
-
|
496
|
+
"Control flow (conditionals)",
|
497
|
+
"Control flow (loops)",
|
498
|
+
"Mathematics",
|
499
|
+
"Integers",
|
500
|
+
"Strings",
|
501
|
+
"Regular expressions"
|
406
502
|
]
|
407
503
|
},
|
408
504
|
{
|
@@ -410,9 +506,13 @@
|
|
410
506
|
"slug": "luhn",
|
411
507
|
"core": false,
|
412
508
|
"unlocked_by": null,
|
413
|
-
"difficulty":
|
509
|
+
"difficulty": 4,
|
414
510
|
"topics": [
|
415
|
-
|
511
|
+
"Control flow (conditionals)",
|
512
|
+
"Control flow (loops)",
|
513
|
+
"Mathematics",
|
514
|
+
"Integers",
|
515
|
+
"Strings"
|
416
516
|
]
|
417
517
|
},
|
418
518
|
{
|
@@ -420,9 +520,14 @@
|
|
420
520
|
"slug": "pig-latin",
|
421
521
|
"core": false,
|
422
522
|
"unlocked_by": null,
|
423
|
-
"difficulty":
|
523
|
+
"difficulty": 4,
|
424
524
|
"topics": [
|
425
|
-
|
525
|
+
"Control flow (conditionals)",
|
526
|
+
"Control flow (loops)",
|
527
|
+
"Strings",
|
528
|
+
"Games",
|
529
|
+
"Regular expressions",
|
530
|
+
"Transforming"
|
426
531
|
]
|
427
532
|
},
|
428
533
|
{
|
@@ -430,9 +535,13 @@
|
|
430
535
|
"slug": "pythagorean-triplet",
|
431
536
|
"core": false,
|
432
537
|
"unlocked_by": null,
|
433
|
-
"difficulty":
|
538
|
+
"difficulty": 5,
|
434
539
|
"topics": [
|
435
|
-
|
540
|
+
"Control flow (conditionals)",
|
541
|
+
"Control flow (loops)",
|
542
|
+
"Algorithms",
|
543
|
+
"Mathematics",
|
544
|
+
"Integers"
|
436
545
|
]
|
437
546
|
},
|
438
547
|
{
|
@@ -440,9 +549,12 @@
|
|
440
549
|
"slug": "series",
|
441
550
|
"core": false,
|
442
551
|
"unlocked_by": null,
|
443
|
-
"difficulty":
|
552
|
+
"difficulty": 3,
|
444
553
|
"topics": [
|
445
|
-
|
554
|
+
"Control flow (loops)",
|
555
|
+
"Exception handling",
|
556
|
+
"Strings",
|
557
|
+
"Text formatting"
|
446
558
|
]
|
447
559
|
},
|
448
560
|
{
|
@@ -450,9 +562,12 @@
|
|
450
562
|
"slug": "difference-of-squares",
|
451
563
|
"core": false,
|
452
564
|
"unlocked_by": null,
|
453
|
-
"difficulty":
|
565
|
+
"difficulty": 3,
|
454
566
|
"topics": [
|
455
|
-
|
567
|
+
"Control flow (loops)",
|
568
|
+
"Algorithms",
|
569
|
+
"Mathematics",
|
570
|
+
"Integers"
|
456
571
|
]
|
457
572
|
},
|
458
573
|
{
|
@@ -460,9 +575,14 @@
|
|
460
575
|
"slug": "secret-handshake",
|
461
576
|
"core": false,
|
462
577
|
"unlocked_by": null,
|
463
|
-
"difficulty":
|
578
|
+
"difficulty": 6,
|
464
579
|
"topics": [
|
465
|
-
|
580
|
+
"Control flow (conditionals)",
|
581
|
+
"Control flow (loops)",
|
582
|
+
"Algorithms",
|
583
|
+
"Games",
|
584
|
+
"Bitwise operations",
|
585
|
+
"Arrays"
|
466
586
|
]
|
467
587
|
},
|
468
588
|
{
|
@@ -470,9 +590,13 @@
|
|
470
590
|
"slug": "proverb",
|
471
591
|
"core": false,
|
472
592
|
"unlocked_by": null,
|
473
|
-
"difficulty":
|
593
|
+
"difficulty": 4,
|
474
594
|
"topics": [
|
595
|
+
"Control flow (conditionals)",
|
596
|
+
"Control flow (loops)",
|
475
597
|
"Arrays",
|
598
|
+
"Strings",
|
599
|
+
"Text formatting",
|
476
600
|
"Optional values"
|
477
601
|
]
|
478
602
|
},
|
@@ -481,9 +605,15 @@
|
|
481
605
|
"slug": "linked-list",
|
482
606
|
"core": false,
|
483
607
|
"unlocked_by": null,
|
484
|
-
"difficulty":
|
608
|
+
"difficulty": 5,
|
485
609
|
"topics": [
|
486
|
-
|
610
|
+
"Control flow (conditionals)",
|
611
|
+
"Control flow (loops)",
|
612
|
+
"Algorithms",
|
613
|
+
"Data structures",
|
614
|
+
"Arrays",
|
615
|
+
"Lists",
|
616
|
+
"Optional values"
|
487
617
|
]
|
488
618
|
},
|
489
619
|
{
|
@@ -491,9 +621,15 @@
|
|
491
621
|
"slug": "wordy",
|
492
622
|
"core": false,
|
493
623
|
"unlocked_by": null,
|
494
|
-
"difficulty":
|
624
|
+
"difficulty": 7,
|
495
625
|
"topics": [
|
496
|
-
|
626
|
+
"Control flow (conditionals)",
|
627
|
+
"Control flow (loops)",
|
628
|
+
"Regular expressions",
|
629
|
+
"Exception handling",
|
630
|
+
"Strings",
|
631
|
+
"Pattern recognition",
|
632
|
+
"Parsing"
|
497
633
|
]
|
498
634
|
},
|
499
635
|
{
|
@@ -503,17 +639,23 @@
|
|
503
639
|
"unlocked_by": null,
|
504
640
|
"difficulty": 1,
|
505
641
|
"topics": [
|
506
|
-
|
642
|
+
"Arrays",
|
643
|
+
"Recursion"
|
507
644
|
]
|
508
645
|
},
|
509
646
|
{
|
510
647
|
"uuid": "33b8f4c0-3210-478a-9225-5c30ad6df870",
|
511
648
|
"slug": "hexadecimal",
|
512
649
|
"core": false,
|
513
|
-
"unlocked_by":
|
514
|
-
"difficulty":
|
650
|
+
"unlocked_by": "binary",
|
651
|
+
"difficulty": 4,
|
515
652
|
"topics": [
|
516
|
-
|
653
|
+
"Control flow (conditionals)",
|
654
|
+
"Control flow (loops)",
|
655
|
+
"Mathematics",
|
656
|
+
"Integers",
|
657
|
+
"Strings",
|
658
|
+
"Regular expressions"
|
517
659
|
]
|
518
660
|
},
|
519
661
|
{
|
@@ -521,9 +663,15 @@
|
|
521
663
|
"slug": "largest-series-product",
|
522
664
|
"core": false,
|
523
665
|
"unlocked_by": null,
|
524
|
-
"difficulty":
|
666
|
+
"difficulty": 7,
|
525
667
|
"topics": [
|
526
|
-
|
668
|
+
"Control flow (conditionals)",
|
669
|
+
"Control flow (loops)",
|
670
|
+
"Mathematics",
|
671
|
+
"Integers",
|
672
|
+
"Strings",
|
673
|
+
"Exception handling",
|
674
|
+
"Regular expressions"
|
527
675
|
]
|
528
676
|
},
|
529
677
|
{
|
@@ -531,9 +679,13 @@
|
|
531
679
|
"slug": "kindergarten-garden",
|
532
680
|
"core": false,
|
533
681
|
"unlocked_by": null,
|
534
|
-
"difficulty":
|
682
|
+
"difficulty": 7,
|
535
683
|
"topics": [
|
536
|
-
|
684
|
+
"Control flow (conditionals)",
|
685
|
+
"Control flow (loops)",
|
686
|
+
"Strings",
|
687
|
+
"Arrays",
|
688
|
+
"Text formatting"
|
537
689
|
]
|
538
690
|
},
|
539
691
|
{
|
@@ -541,19 +693,26 @@
|
|
541
693
|
"slug": "binary-search",
|
542
694
|
"core": false,
|
543
695
|
"unlocked_by": null,
|
544
|
-
"difficulty":
|
696
|
+
"difficulty": 7,
|
545
697
|
"topics": [
|
546
|
-
|
698
|
+
"Control flow (conditionals)",
|
699
|
+
"Control flow (loops)",
|
700
|
+
"Recursion",
|
701
|
+
"Arrays",
|
702
|
+
"Algorithms"
|
547
703
|
]
|
548
704
|
},
|
549
705
|
{
|
550
706
|
"uuid": "865806e0-950f-49a5-a6e5-26472b90ab85",
|
551
707
|
"slug": "binary-search-tree",
|
552
708
|
"core": false,
|
553
|
-
"unlocked_by":
|
554
|
-
"difficulty":
|
709
|
+
"unlocked_by": "binary-search",
|
710
|
+
"difficulty": 6,
|
555
711
|
"topics": [
|
556
|
-
|
712
|
+
"Control flow (conditionals)",
|
713
|
+
"Control flow (loops)",
|
714
|
+
"Recursion",
|
715
|
+
"Algorithms"
|
557
716
|
]
|
558
717
|
},
|
559
718
|
{
|
@@ -561,9 +720,14 @@
|
|
561
720
|
"slug": "matrix",
|
562
721
|
"core": false,
|
563
722
|
"unlocked_by": null,
|
564
|
-
"difficulty":
|
723
|
+
"difficulty": 4,
|
565
724
|
"topics": [
|
566
|
-
|
725
|
+
"Control flow (conditionals)",
|
726
|
+
"Control flow (loops)",
|
727
|
+
"Data structures",
|
728
|
+
"Arrays",
|
729
|
+
"Matrices",
|
730
|
+
"Text formatting"
|
567
731
|
]
|
568
732
|
},
|
569
733
|
{
|
@@ -573,27 +737,42 @@
|
|
573
737
|
"unlocked_by": null,
|
574
738
|
"difficulty": 1,
|
575
739
|
"topics": [
|
576
|
-
|
740
|
+
"Control flow (conditionals)",
|
741
|
+
"Control flow (loops)",
|
742
|
+
"Exception handling",
|
743
|
+
"Strings",
|
744
|
+
"Games",
|
745
|
+
"Parsing"
|
577
746
|
]
|
578
747
|
},
|
579
748
|
{
|
580
749
|
"uuid": "8fa51380-ec2c-4806-8833-cf543579de17",
|
581
750
|
"slug": "nth-prime",
|
582
751
|
"core": false,
|
583
|
-
"unlocked_by":
|
584
|
-
"difficulty":
|
752
|
+
"unlocked_by": "prime-factors",
|
753
|
+
"difficulty": 5,
|
585
754
|
"topics": [
|
586
|
-
|
755
|
+
"Control flow (conditionals)",
|
756
|
+
"Control flow (loops)",
|
757
|
+
"Exception handling",
|
758
|
+
"Algorithms",
|
759
|
+
"Mathematics",
|
760
|
+
"Integers"
|
587
761
|
]
|
588
762
|
},
|
589
763
|
{
|
590
764
|
"uuid": "fde83f66-d927-48f8-a599-efb98927f0b1",
|
591
765
|
"slug": "palindrome-products",
|
592
766
|
"core": false,
|
593
|
-
"unlocked_by":
|
594
|
-
"difficulty":
|
767
|
+
"unlocked_by": "prime-factors",
|
768
|
+
"difficulty": 7,
|
595
769
|
"topics": [
|
596
|
-
|
770
|
+
"Control flow (conditionals)",
|
771
|
+
"Control flow (loops)",
|
772
|
+
"Exception handling",
|
773
|
+
"Algorithms",
|
774
|
+
"Mathematics",
|
775
|
+
"Integers"
|
597
776
|
]
|
598
777
|
},
|
599
778
|
{
|
@@ -601,9 +780,13 @@
|
|
601
780
|
"slug": "pascals-triangle",
|
602
781
|
"core": false,
|
603
782
|
"unlocked_by": null,
|
604
|
-
"difficulty":
|
783
|
+
"difficulty": 5,
|
605
784
|
"topics": [
|
606
|
-
|
785
|
+
"Control flow (conditionals)",
|
786
|
+
"Control flow (loops)",
|
787
|
+
"Mathematics",
|
788
|
+
"Strings",
|
789
|
+
"Text formatting"
|
607
790
|
]
|
608
791
|
},
|
609
792
|
{
|
@@ -611,29 +794,45 @@
|
|
611
794
|
"slug": "say",
|
612
795
|
"core": false,
|
613
796
|
"unlocked_by": null,
|
614
|
-
"difficulty":
|
797
|
+
"difficulty": 6,
|
615
798
|
"topics": [
|
616
|
-
|
799
|
+
"Control flow (conditionals)",
|
800
|
+
"Control flow (loops)",
|
801
|
+
"Mathematics",
|
802
|
+
"Integers",
|
803
|
+
"Exception handling",
|
804
|
+
"Strings",
|
805
|
+
"Text formatting"
|
617
806
|
]
|
618
807
|
},
|
619
808
|
{
|
620
809
|
"uuid": "d4ec15c4-2742-493b-97fe-9d5121f0b659",
|
621
810
|
"slug": "custom-set",
|
622
811
|
"core": false,
|
623
|
-
"unlocked_by":
|
624
|
-
"difficulty":
|
812
|
+
"unlocked_by": "linked-list",
|
813
|
+
"difficulty": 6,
|
625
814
|
"topics": [
|
626
|
-
|
815
|
+
"Control flow (conditionals)",
|
816
|
+
"Control flow (loops)",
|
817
|
+
"Data structures",
|
818
|
+
"Arrays",
|
819
|
+
"Lists",
|
820
|
+
"Sets",
|
821
|
+
"Equality",
|
822
|
+
"Recursion"
|
627
823
|
]
|
628
824
|
},
|
629
825
|
{
|
630
826
|
"uuid": "f30463c4-9d8c-4238-a691-e594291b4425",
|
631
827
|
"slug": "sum-of-multiples",
|
632
828
|
"core": false,
|
633
|
-
"unlocked_by":
|
634
|
-
"difficulty":
|
829
|
+
"unlocked_by": "prime-factors",
|
830
|
+
"difficulty": 5,
|
635
831
|
"topics": [
|
636
|
-
|
832
|
+
"Control flow (conditionals)",
|
833
|
+
"Control flow (loops)",
|
834
|
+
"Lists",
|
835
|
+
"Integers"
|
637
836
|
]
|
638
837
|
},
|
639
838
|
{
|
@@ -641,19 +840,33 @@
|
|
641
840
|
"slug": "queen-attack",
|
642
841
|
"core": false,
|
643
842
|
"unlocked_by": null,
|
644
|
-
"difficulty":
|
843
|
+
"difficulty": 8,
|
645
844
|
"topics": [
|
646
|
-
|
845
|
+
"Control flow (conditionals)",
|
846
|
+
"Control flow (loops)",
|
847
|
+
"Optional values",
|
848
|
+
"Exception handling",
|
849
|
+
"Equality",
|
850
|
+
"Text formatting",
|
851
|
+
"Parsing"
|
647
852
|
]
|
648
853
|
},
|
649
854
|
{
|
650
855
|
"uuid": "98cbae4f-78b6-4745-b922-39e8db9a12bb",
|
651
856
|
"slug": "saddle-points",
|
652
857
|
"core": false,
|
653
|
-
"unlocked_by":
|
654
|
-
"difficulty":
|
858
|
+
"unlocked_by": "matrix",
|
859
|
+
"difficulty": 6,
|
655
860
|
"topics": [
|
656
|
-
|
861
|
+
"Control flow (conditionals)",
|
862
|
+
"Control flow (loops)",
|
863
|
+
"Optional values",
|
864
|
+
"Exception handling",
|
865
|
+
"Equality",
|
866
|
+
"Parsing",
|
867
|
+
"Integers",
|
868
|
+
"Matrices",
|
869
|
+
"Mathematics"
|
657
870
|
]
|
658
871
|
},
|
659
872
|
{
|
@@ -661,9 +874,15 @@
|
|
661
874
|
"slug": "ocr-numbers",
|
662
875
|
"core": false,
|
663
876
|
"unlocked_by": null,
|
664
|
-
"difficulty":
|
877
|
+
"difficulty": 5,
|
665
878
|
"topics": [
|
666
|
-
|
879
|
+
"Control flow (conditionals)",
|
880
|
+
"Control flow (loops)",
|
881
|
+
"Exception handling",
|
882
|
+
"Equality",
|
883
|
+
"Parsing",
|
884
|
+
"Integers",
|
885
|
+
"Text formatting"
|
667
886
|
]
|
668
887
|
},
|
669
888
|
{
|
@@ -671,9 +890,14 @@
|
|
671
890
|
"slug": "meetup",
|
672
891
|
"core": false,
|
673
892
|
"unlocked_by": null,
|
674
|
-
"difficulty":
|
893
|
+
"difficulty": 7,
|
675
894
|
"topics": [
|
676
|
-
|
895
|
+
"Control flow (conditionals)",
|
896
|
+
"Control flow (loops)",
|
897
|
+
"Exception handling",
|
898
|
+
"Equality",
|
899
|
+
"Time",
|
900
|
+
"Dates"
|
677
901
|
]
|
678
902
|
},
|
679
903
|
{
|
@@ -681,9 +905,13 @@
|
|
681
905
|
"slug": "bracket-push",
|
682
906
|
"core": false,
|
683
907
|
"unlocked_by": null,
|
684
|
-
"difficulty":
|
908
|
+
"difficulty": 3,
|
685
909
|
"topics": [
|
686
|
-
|
910
|
+
"Control flow (conditionals)",
|
911
|
+
"Control flow (loops)",
|
912
|
+
"Strings",
|
913
|
+
"Parsing",
|
914
|
+
"Exception handling"
|
687
915
|
]
|
688
916
|
},
|
689
917
|
{
|
@@ -691,9 +919,15 @@
|
|
691
919
|
"slug": "two-bucket",
|
692
920
|
"core": false,
|
693
921
|
"unlocked_by": null,
|
694
|
-
"difficulty":
|
922
|
+
"difficulty": 6,
|
695
923
|
"topics": [
|
696
|
-
|
924
|
+
"Control flow (conditionals)",
|
925
|
+
"Control flow (loops)",
|
926
|
+
"Arrays",
|
927
|
+
"Parsing",
|
928
|
+
"Algorithms",
|
929
|
+
"Games",
|
930
|
+
"Exception handling"
|
697
931
|
]
|
698
932
|
},
|
699
933
|
{
|
@@ -701,29 +935,46 @@
|
|
701
935
|
"slug": "bowling",
|
702
936
|
"core": false,
|
703
937
|
"unlocked_by": null,
|
704
|
-
"difficulty":
|
938
|
+
"difficulty": 8,
|
705
939
|
"topics": [
|
706
|
-
|
940
|
+
"Control flow (conditionals)",
|
941
|
+
"Control flow (loops)",
|
942
|
+
"Arrays",
|
943
|
+
"Parsing",
|
944
|
+
"Games",
|
945
|
+
"Exception handling",
|
946
|
+
"Text formatting"
|
707
947
|
]
|
708
948
|
},
|
709
949
|
{
|
710
950
|
"uuid": "04a4ef78-5b61-454f-8c37-798875fb4956",
|
711
951
|
"slug": "diamond",
|
712
952
|
"core": false,
|
713
|
-
"unlocked_by":
|
714
|
-
"difficulty":
|
953
|
+
"unlocked_by": "pascals-triangle",
|
954
|
+
"difficulty": 5,
|
715
955
|
"topics": [
|
716
|
-
|
956
|
+
"Control flow (conditionals)",
|
957
|
+
"Control flow (loops)",
|
958
|
+
"Arrays",
|
959
|
+
"Parsing",
|
960
|
+
"Games",
|
961
|
+
"Exception handling",
|
962
|
+
"Text formatting"
|
717
963
|
]
|
718
964
|
},
|
719
965
|
{
|
720
966
|
"uuid": "cdfcec62-f2f3-4408-ad2c-8b5e1e56e791",
|
721
967
|
"slug": "all-your-base",
|
722
968
|
"core": false,
|
723
|
-
"unlocked_by":
|
724
|
-
"difficulty":
|
969
|
+
"unlocked_by": "binary",
|
970
|
+
"difficulty": 5,
|
725
971
|
"topics": [
|
726
|
-
|
972
|
+
"Control flow (conditionals)",
|
973
|
+
"Control flow (loops)",
|
974
|
+
"Exception handling",
|
975
|
+
"Parsing",
|
976
|
+
"Mathematics",
|
977
|
+
"Integers"
|
727
978
|
]
|
728
979
|
},
|
729
980
|
{
|
@@ -731,21 +982,27 @@
|
|
731
982
|
"slug": "run-length-encoding",
|
732
983
|
"core": false,
|
733
984
|
"unlocked_by": null,
|
734
|
-
"difficulty":
|
985
|
+
"difficulty": 2,
|
735
986
|
"topics": [
|
736
|
-
|
987
|
+
"Control flow (conditionals)",
|
988
|
+
"Exception handling",
|
989
|
+
"Parsing",
|
990
|
+
"Text formatting",
|
991
|
+
"Regular expressions",
|
992
|
+
"Pattern recognition",
|
993
|
+
"Strings"
|
737
994
|
]
|
738
995
|
},
|
739
996
|
{
|
740
997
|
"uuid": "22fa5ab4-935b-44cc-b055-9803214ae5f3",
|
741
998
|
"slug": "minesweeper",
|
742
999
|
"core": false,
|
743
|
-
"unlocked_by":
|
1000
|
+
"unlocked_by": "queen-attack",
|
744
1001
|
"difficulty": 7,
|
745
1002
|
"topics": [
|
746
|
-
"
|
747
|
-
"
|
748
|
-
"
|
1003
|
+
"Games",
|
1004
|
+
"Arrays",
|
1005
|
+
"Algorithms"
|
749
1006
|
]
|
750
1007
|
},
|
751
1008
|
{
|
@@ -755,8 +1012,8 @@
|
|
755
1012
|
"unlocked_by": null,
|
756
1013
|
"difficulty": 7,
|
757
1014
|
"topics": [
|
758
|
-
"
|
759
|
-
"
|
1015
|
+
"Games",
|
1016
|
+
"Algorithms"
|
760
1017
|
]
|
761
1018
|
},
|
762
1019
|
{
|