trackler 2.2.0.2 → 2.2.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/fixtures/deprecation-fixtures/tracks/repo-nope/config.json +2 -0
- data/fixtures/deprecation-fixtures/tracks/repo-yepp/config.json +3 -0
- data/lib/trackler/track.rb +1 -1
- data/lib/trackler/version.rb +1 -1
- data/tracks/csharp/config/exercise_readme.go.tmpl +16 -0
- data/tracks/csharp/exercises/accumulate/README.md +44 -0
- data/tracks/csharp/exercises/acronym/README.md +21 -0
- data/tracks/csharp/exercises/all-your-base/README.md +41 -0
- data/tracks/csharp/exercises/allergies/README.md +46 -0
- data/tracks/csharp/exercises/alphametics/README.md +48 -0
- data/tracks/csharp/exercises/anagram/README.md +19 -0
- data/tracks/csharp/exercises/atbash-cipher/README.md +40 -0
- data/tracks/csharp/exercises/bank-account/README.md +41 -0
- data/tracks/csharp/exercises/beer-song/README.md +336 -0
- data/tracks/csharp/exercises/binary-search-tree/README.md +66 -0
- data/tracks/csharp/exercises/binary-search/README.md +47 -0
- data/tracks/csharp/exercises/bob/README.md +24 -0
- data/tracks/csharp/exercises/book-store/README.md +80 -0
- data/tracks/csharp/exercises/bowling/README.md +59 -0
- data/tracks/csharp/exercises/bracket-push/README.md +16 -0
- data/tracks/csharp/exercises/change/README.md +29 -0
- data/tracks/csharp/exercises/circular-buffer/README.md +56 -0
- data/tracks/csharp/exercises/clock/README.md +25 -0
- data/tracks/csharp/exercises/connect/README.md +40 -0
- data/tracks/csharp/exercises/crypto-square/README.md +80 -0
- data/tracks/csharp/exercises/custom-set/README.md +23 -0
- data/tracks/csharp/exercises/diamond/README.md +75 -0
- data/tracks/csharp/exercises/difference-of-squares/README.md +30 -0
- data/tracks/csharp/exercises/diffie-hellman/README.md +55 -0
- data/tracks/csharp/exercises/dominoes/README.md +24 -0
- data/tracks/csharp/exercises/dot-dsl/README.md +37 -0
- data/tracks/csharp/exercises/error-handling/README.md +19 -0
- data/tracks/csharp/exercises/etl/README.md +57 -0
- data/tracks/csharp/exercises/flatten-array/README.md +24 -0
- data/tracks/csharp/exercises/food-chain/README.md +80 -0
- data/tracks/csharp/exercises/forth/README.md +39 -0
- data/tracks/csharp/exercises/gigasecond/README.md +17 -0
- data/tracks/csharp/exercises/go-counting/README.md +43 -0
- data/tracks/csharp/exercises/grade-school/README.md +48 -0
- data/tracks/csharp/exercises/grains/README.md +40 -0
- data/tracks/csharp/exercises/grep/README.md +77 -0
- data/tracks/csharp/exercises/hamming/README.md +48 -0
- data/tracks/csharp/exercises/hangman/README.md +32 -0
- data/tracks/csharp/exercises/hello-world/README.md +27 -0
- data/tracks/csharp/exercises/house/README.md +123 -0
- data/tracks/csharp/exercises/isogram/README.md +25 -0
- data/tracks/csharp/exercises/kindergarten-garden/README.md +72 -0
- data/tracks/csharp/exercises/largest-series-product/README.md +26 -0
- data/tracks/csharp/exercises/leap/README.md +39 -0
- data/tracks/csharp/exercises/ledger/README.md +24 -0
- data/tracks/csharp/exercises/linked-list/README.md +40 -0
- data/tracks/csharp/exercises/list-ops/README.md +19 -0
- data/tracks/csharp/exercises/luhn/README.md +77 -0
- data/tracks/csharp/exercises/markdown/README.md +28 -0
- data/tracks/csharp/exercises/matrix/README.md +51 -0
- data/tracks/csharp/exercises/meetup/README.md +36 -0
- data/tracks/csharp/exercises/minesweeper/README.md +36 -0
- data/tracks/csharp/exercises/nth-prime/README.md +29 -0
- data/tracks/csharp/exercises/nucleotide-count/README.md +43 -0
- data/tracks/csharp/exercises/ocr-numbers/README.md +91 -0
- data/tracks/csharp/exercises/palindrome-products/README.md +51 -0
- data/tracks/csharp/exercises/pangram/README.md +21 -0
- data/tracks/csharp/exercises/parallel-letter-frequency/README.md +17 -0
- data/tracks/csharp/exercises/pascals-triangle/README.md +27 -0
- data/tracks/csharp/exercises/perfect-numbers/README.md +30 -0
- data/tracks/csharp/exercises/phone-number/README.md +40 -0
- data/tracks/csharp/exercises/pig-latin/README.md +30 -0
- data/tracks/csharp/exercises/poker/README.md +18 -0
- data/tracks/csharp/exercises/pov/README.md +52 -0
- data/tracks/csharp/exercises/prime-factors/README.md +42 -0
- data/tracks/csharp/exercises/protein-translation/README.md +55 -0
- data/tracks/csharp/exercises/proverb/README.md +28 -0
- data/tracks/csharp/exercises/pythagorean-triplet/README.md +30 -0
- data/tracks/csharp/exercises/queen-attack/README.md +39 -0
- data/tracks/csharp/exercises/rail-fence-cipher/README.md +66 -0
- data/tracks/csharp/exercises/raindrops/README.md +30 -0
- data/tracks/csharp/exercises/react/README.md +29 -0
- data/tracks/csharp/exercises/rectangles/README.md +73 -0
- data/tracks/csharp/exercises/rna-transcription/README.md +31 -0
- data/tracks/csharp/exercises/robot-name/README.md +28 -0
- data/tracks/csharp/exercises/robot-simulator/README.md +40 -0
- data/tracks/csharp/exercises/roman-numerals/README.md +59 -0
- data/tracks/csharp/exercises/rotational-cipher/README.md +42 -0
- data/tracks/csharp/exercises/run-length-encoding/README.md +36 -0
- data/tracks/csharp/exercises/saddle-points/README.md +44 -0
- data/tracks/csharp/exercises/say/README.md +75 -0
- data/tracks/csharp/exercises/scale-generator/README.md +66 -0
- data/tracks/csharp/exercises/scrabble-score/README.md +50 -0
- data/tracks/csharp/exercises/secret-handshake/README.md +41 -0
- data/tracks/csharp/exercises/series/README.md +33 -0
- data/tracks/csharp/exercises/sgf-parsing/README.md +78 -0
- data/tracks/csharp/exercises/sieve/README.md +40 -0
- data/tracks/csharp/exercises/simple-cipher/README.md +96 -0
- data/tracks/csharp/exercises/simple-linked-list/README.md +38 -0
- data/tracks/csharp/exercises/space-age/README.md +30 -0
- data/tracks/csharp/exercises/strain/README.md +46 -0
- data/tracks/csharp/exercises/sublist/README.md +32 -0
- data/tracks/csharp/exercises/sum-of-multiples/README.md +28 -0
- data/tracks/csharp/exercises/tournament/README.md +74 -0
- data/tracks/csharp/exercises/transpose/README.md +71 -0
- data/tracks/csharp/exercises/tree-building/README.md +36 -0
- data/tracks/csharp/exercises/triangle/README.md +32 -0
- data/tracks/csharp/exercises/twelve-days/README.md +45 -0
- data/tracks/csharp/exercises/two-bucket/README.md +42 -0
- data/tracks/csharp/exercises/variable-length-quantity/README.md +50 -0
- data/tracks/csharp/exercises/word-count/README.md +25 -0
- data/tracks/csharp/exercises/word-search/README.md +43 -0
- data/tracks/csharp/exercises/wordy/README.md +73 -0
- data/tracks/csharp/exercises/zebra-puzzle/README.md +43 -0
- data/tracks/csharp/exercises/zipper/README.md +41 -0
- data/tracks/dart/config/exercise_readme.go.tmpl +16 -0
- data/tracks/dart/exercises/bob/README.md +18 -0
- data/tracks/dart/exercises/difference-of-squares/README.md +19 -0
- data/tracks/dart/exercises/gigasecond/README.md +11 -0
- data/tracks/dart/exercises/hamming/README.md +42 -0
- data/tracks/dart/exercises/hello-world/README.md +21 -0
- data/tracks/dart/exercises/leap/README.md +33 -0
- data/tracks/dart/exercises/rna-transcription/README.md +25 -0
- data/tracks/delphi/config.json +25 -32
- data/tracks/elixir/config.json +255 -3
- data/tracks/elixir/config/exercise_readme.go.tmpl +16 -0
- data/tracks/elixir/exercises/accumulate/README.md +72 -0
- data/tracks/elixir/exercises/acronym/README.md +52 -0
- data/tracks/elixir/exercises/all-your-base/README.md +72 -0
- data/tracks/elixir/exercises/allergies/README.md +74 -0
- data/tracks/elixir/exercises/anagram/README.md +50 -0
- data/tracks/elixir/exercises/atbash-cipher/README.md +71 -0
- data/tracks/elixir/exercises/bank-account/README.md +67 -0
- data/tracks/elixir/exercises/beer-song/README.md +364 -0
- data/tracks/elixir/exercises/binary-search/README.md +78 -0
- data/tracks/elixir/exercises/binary/README.md +72 -0
- data/tracks/elixir/exercises/bob/README.md +55 -0
- data/tracks/elixir/exercises/bowling/README.md +90 -0
- data/tracks/elixir/exercises/bowling/bowling_test.exs +91 -18
- data/tracks/elixir/exercises/bowling/example.exs +4 -4
- data/tracks/elixir/exercises/bracket-push/README.md +47 -0
- data/tracks/elixir/exercises/change/README.md +60 -0
- data/tracks/elixir/exercises/clock/README.md +50 -0
- data/tracks/elixir/exercises/collatz-conjecture/README.md +70 -0
- data/tracks/elixir/exercises/connect/README.md +71 -0
- data/tracks/elixir/exercises/crypto-square/README.md +111 -0
- data/tracks/elixir/exercises/custom-set/README.md +48 -0
- data/tracks/elixir/exercises/diamond/README.md +96 -0
- data/tracks/elixir/exercises/difference-of-squares/README.md +56 -0
- data/tracks/elixir/exercises/diffie-hellman/README.md +93 -0
- data/tracks/elixir/exercises/dominoes/README.md +55 -0
- data/tracks/elixir/exercises/dot-dsl/README.md +65 -0
- data/tracks/elixir/exercises/etl/README.md +88 -0
- data/tracks/elixir/exercises/flatten-array/README.md +55 -0
- data/tracks/elixir/exercises/forth/README.md +66 -0
- data/tracks/elixir/exercises/gigasecond/README.md +48 -0
- data/tracks/elixir/exercises/grade-school/README.md +79 -0
- data/tracks/elixir/exercises/grains/README.md +71 -0
- data/tracks/elixir/exercises/grep/README.md +108 -0
- data/tracks/elixir/exercises/hamming/README.md +79 -0
- data/tracks/elixir/exercises/hello-world/README.md +58 -0
- data/tracks/elixir/exercises/hexadecimal/README.md +51 -0
- data/tracks/elixir/exercises/isogram/README.md +56 -0
- data/tracks/elixir/exercises/kindergarten-garden/README.md +103 -0
- data/tracks/elixir/exercises/largest-series-product/README.md +57 -0
- data/tracks/elixir/exercises/leap/README.md +70 -0
- data/tracks/elixir/exercises/list-ops/README.md +47 -0
- data/tracks/elixir/exercises/luhn/README.md +108 -0
- data/tracks/elixir/exercises/markdown/README.md +55 -0
- data/tracks/elixir/exercises/matrix/README.md +82 -0
- data/tracks/elixir/exercises/meetup/README.md +67 -0
- data/tracks/elixir/exercises/minesweeper/README.md +67 -0
- data/tracks/elixir/exercises/nth-prime/README.md +52 -0
- data/tracks/elixir/exercises/nucleotide-count/README.md +70 -0
- data/tracks/elixir/exercises/ocr-numbers/README.md +122 -0
- data/tracks/elixir/exercises/palindrome-products/README.md +77 -0
- data/tracks/elixir/exercises/pangram/README.md +52 -0
- data/tracks/elixir/exercises/parallel-letter-frequency/README.md +48 -0
- data/tracks/elixir/exercises/pascals-triangle/README.md +58 -0
- data/tracks/elixir/exercises/perfect-numbers/README.md +61 -0
- data/tracks/elixir/exercises/phone-number/README.md +71 -0
- data/tracks/elixir/exercises/pig-latin/README.md +61 -0
- data/tracks/elixir/exercises/poker/README.md +49 -0
- data/tracks/elixir/exercises/prime-factors/README.md +73 -0
- data/tracks/elixir/exercises/protein-translation/README.md +86 -0
- data/tracks/elixir/exercises/pythagorean-triplet/README.md +61 -0
- data/tracks/elixir/exercises/queen-attack/README.md +70 -0
- data/tracks/elixir/exercises/rail-fence-cipher/README.md +97 -0
- data/tracks/elixir/exercises/raindrops/README.md +61 -0
- data/tracks/elixir/exercises/rna-transcription/README.md +62 -0
- data/tracks/elixir/exercises/robot-simulator/README.md +71 -0
- data/tracks/elixir/exercises/roman-numerals/README.md +86 -0
- data/tracks/elixir/exercises/rotational-cipher/README.md +73 -0
- data/tracks/elixir/exercises/run-length-encoding/README.md +67 -0
- data/tracks/elixir/exercises/saddle-points/README.md +70 -0
- data/tracks/elixir/exercises/say/README.md +106 -0
- data/tracks/elixir/exercises/scale-generator/README.md +97 -0
- data/tracks/elixir/exercises/scrabble-score/README.md +81 -0
- data/tracks/elixir/exercises/secret-handshake/README.md +94 -0
- data/tracks/elixir/exercises/series/README.md +64 -0
- data/tracks/elixir/exercises/sieve/README.md +71 -0
- data/tracks/elixir/exercises/simple-cipher/README.md +127 -0
- data/tracks/elixir/exercises/simple-linked-list/README.md +65 -0
- data/tracks/elixir/exercises/space-age/README.md +61 -0
- data/tracks/elixir/exercises/strain/README.md +80 -0
- data/tracks/elixir/exercises/sublist/README.md +58 -0
- data/tracks/elixir/exercises/sum-of-multiples/README.md +55 -0
- data/tracks/elixir/exercises/tournament/README.md +110 -0
- data/tracks/elixir/exercises/triangle/README.md +63 -0
- data/tracks/elixir/exercises/twelve-days/README.md +72 -0
- data/tracks/elixir/exercises/word-count/README.md +56 -0
- data/tracks/elixir/exercises/wordy/README.md +100 -0
- data/tracks/elixir/exercises/zipper/README.md +68 -0
- data/tracks/fsharp/config/exercise_readme.go.tmpl +16 -0
- data/tracks/fsharp/exercises/accumulate/README.md +40 -0
- data/tracks/fsharp/exercises/acronym/README.md +15 -0
- data/tracks/fsharp/exercises/all-your-base/README.md +35 -0
- data/tracks/fsharp/exercises/allergies/README.md +37 -0
- data/tracks/fsharp/exercises/alphametics/README.md +41 -0
- data/tracks/fsharp/exercises/anagram/README.md +13 -0
- data/tracks/fsharp/exercises/atbash-cipher/README.md +34 -0
- data/tracks/fsharp/exercises/bank-account/README.md +30 -0
- data/tracks/fsharp/exercises/beer-song/README.md +331 -0
- data/tracks/fsharp/exercises/binary-search-tree/README.md +60 -0
- data/tracks/fsharp/exercises/binary-search/README.md +41 -0
- data/tracks/fsharp/exercises/bob/README.md +18 -0
- data/tracks/fsharp/exercises/book-store/README.md +74 -0
- data/tracks/fsharp/exercises/bowling/README.md +53 -0
- data/tracks/fsharp/exercises/bracket-push/README.md +10 -0
- data/tracks/fsharp/exercises/change/README.md +23 -0
- data/tracks/fsharp/exercises/circular-buffer/README.md +50 -0
- data/tracks/fsharp/exercises/clock/README.md +13 -0
- data/tracks/fsharp/exercises/connect/README.md +34 -0
- data/tracks/fsharp/exercises/crypto-square/README.md +74 -0
- data/tracks/fsharp/exercises/custom-set/README.md +11 -0
- data/tracks/fsharp/exercises/diamond/README.md +62 -0
- data/tracks/fsharp/exercises/difference-of-squares/README.md +25 -0
- data/tracks/fsharp/exercises/diffie-hellman/README.md +49 -0
- data/tracks/fsharp/exercises/dominoes/README.md +18 -0
- data/tracks/fsharp/exercises/dot-dsl/README.md +28 -0
- data/tracks/fsharp/exercises/error-handling/README.md +13 -0
- data/tracks/fsharp/exercises/etl/README.md +51 -0
- data/tracks/fsharp/exercises/food-chain/README.md +74 -0
- data/tracks/fsharp/exercises/forth/README.md +29 -0
- data/tracks/fsharp/exercises/gigasecond/README.md +15 -0
- data/tracks/fsharp/exercises/go-counting/README.md +37 -0
- data/tracks/fsharp/exercises/grade-school/README.md +47 -0
- data/tracks/fsharp/exercises/grains/README.md +39 -0
- data/tracks/fsharp/exercises/grep/README.md +71 -0
- data/tracks/fsharp/exercises/hamming/README.md +42 -0
- data/tracks/fsharp/exercises/hangman/README.md +21 -0
- data/tracks/fsharp/exercises/hello-world/README.md +21 -0
- data/tracks/fsharp/exercises/house/README.md +117 -0
- data/tracks/fsharp/exercises/isogram/README.md +19 -0
- data/tracks/fsharp/exercises/kindergarten-garden/README.md +66 -0
- data/tracks/fsharp/exercises/largest-series-product/README.md +20 -0
- data/tracks/fsharp/exercises/leap/README.md +33 -0
- data/tracks/fsharp/exercises/ledger/README.md +18 -0
- data/tracks/fsharp/exercises/lens-person/README.md +15 -0
- data/tracks/fsharp/exercises/linked-list/README.md +50 -0
- data/tracks/fsharp/exercises/list-ops/README.md +10 -0
- data/tracks/fsharp/exercises/luhn/README.md +71 -0
- data/tracks/fsharp/exercises/markdown/README.md +18 -0
- data/tracks/fsharp/exercises/matrix/README.md +45 -0
- data/tracks/fsharp/exercises/meetup/README.md +30 -0
- data/tracks/fsharp/exercises/minesweeper/README.md +30 -0
- data/tracks/fsharp/exercises/nth-prime/README.md +21 -0
- data/tracks/fsharp/exercises/nucleotide-count/README.md +33 -0
- data/tracks/fsharp/exercises/ocr-numbers/README.md +85 -0
- data/tracks/fsharp/exercises/palindrome-products/README.md +44 -0
- data/tracks/fsharp/exercises/pangram/README.md +15 -0
- data/tracks/fsharp/exercises/parallel-letter-frequency/README.md +15 -0
- data/tracks/fsharp/exercises/pascals-triangle/README.md +21 -0
- data/tracks/fsharp/exercises/perfect-numbers/README.md +24 -0
- data/tracks/fsharp/exercises/phone-number/README.md +34 -0
- data/tracks/fsharp/exercises/pig-latin/README.md +24 -0
- data/tracks/fsharp/exercises/poker/README.md +15 -0
- data/tracks/fsharp/exercises/pov/README.md +46 -0
- data/tracks/fsharp/exercises/prime-factors/README.md +36 -0
- data/tracks/fsharp/exercises/protein-translation/README.md +49 -0
- data/tracks/fsharp/exercises/proverb/README.md +22 -0
- data/tracks/fsharp/exercises/pythagorean-triplet/README.md +24 -0
- data/tracks/fsharp/exercises/queen-attack/README.md +33 -0
- data/tracks/fsharp/exercises/rail-fence-cipher/README.md +60 -0
- data/tracks/fsharp/exercises/raindrops/README.md +27 -0
- data/tracks/fsharp/exercises/react/README.md +19 -0
- data/tracks/fsharp/exercises/rectangles/README.md +67 -0
- data/tracks/fsharp/exercises/rna-transcription/README.md +29 -0
- data/tracks/fsharp/exercises/robot-name/README.md +22 -0
- data/tracks/fsharp/exercises/robot-simulator/README.md +34 -0
- data/tracks/fsharp/exercises/roman-numerals/README.md +49 -0
- data/tracks/fsharp/exercises/run-length-encoding/README.md +30 -0
- data/tracks/fsharp/exercises/saddle-points/README.md +33 -0
- data/tracks/fsharp/exercises/say/README.md +69 -0
- data/tracks/fsharp/exercises/scale-generator/README.md +60 -0
- data/tracks/fsharp/exercises/scrabble-score/README.md +44 -0
- data/tracks/fsharp/exercises/secret-handshake/README.md +35 -0
- data/tracks/fsharp/exercises/series/README.md +27 -0
- data/tracks/fsharp/exercises/sgf-parsing/README.md +68 -0
- data/tracks/fsharp/exercises/sieve/README.md +34 -0
- data/tracks/fsharp/exercises/simple-cipher/README.md +90 -0
- data/tracks/fsharp/exercises/simple-linked-list/README.md +28 -0
- data/tracks/fsharp/exercises/space-age/README.md +28 -0
- data/tracks/fsharp/exercises/strain/README.md +40 -0
- data/tracks/fsharp/exercises/sublist/README.md +21 -0
- data/tracks/fsharp/exercises/sum-of-multiples/README.md +18 -0
- data/tracks/fsharp/exercises/tournament/README.md +68 -0
- data/tracks/fsharp/exercises/transpose/README.md +65 -0
- data/tracks/fsharp/exercises/tree-building/README.md +30 -0
- data/tracks/fsharp/exercises/triangle/README.md +26 -0
- data/tracks/fsharp/exercises/twelve-days/README.md +39 -0
- data/tracks/fsharp/exercises/two-bucket/README.md +36 -0
- data/tracks/fsharp/exercises/variable-length-quantity/README.md +39 -0
- data/tracks/fsharp/exercises/word-count/README.md +19 -0
- data/tracks/fsharp/exercises/word-search/README.md +30 -0
- data/tracks/fsharp/exercises/wordy/README.md +68 -0
- data/tracks/fsharp/exercises/zebra-puzzle/README.md +32 -0
- data/tracks/fsharp/exercises/zipper/README.md +31 -0
- data/tracks/haskell/README.md +2 -2
- data/tracks/javascript/config.json +232 -4
- data/tracks/kotlin/config.json +8 -1
- data/tracks/kotlin/exercises/rotational-cipher/build.gradle +28 -0
- data/tracks/kotlin/exercises/rotational-cipher/src/example/kotlin/RotationalCipher.kt +18 -0
- data/tracks/kotlin/exercises/rotational-cipher/src/main/kotlin/.keep +0 -0
- data/tracks/kotlin/exercises/rotational-cipher/src/test/kotlin/RotationalCipherTest.kt +81 -0
- data/tracks/kotlin/exercises/settings.gradle +1 -0
- data/tracks/powershell/config/exercise_readme.go.tmpl +16 -0
- data/tracks/powershell/exercises/hamming/README.md +42 -0
- data/tracks/powershell/exercises/hello-world/README.md +21 -0
- data/tracks/purescript/README.md +4 -4
- data/tracks/scala/config.json +266 -6
- data/tracks/scala/config/exercise_readme.go.tmpl +16 -0
- data/tracks/scala/exercises/accumulate/README.md +46 -0
- data/tracks/scala/exercises/acronym/README.md +26 -0
- data/tracks/scala/exercises/all-your-base/README.md +46 -0
- data/tracks/scala/exercises/allergies/README.md +48 -0
- data/tracks/scala/exercises/alphametics/README.md +46 -0
- data/tracks/scala/exercises/anagram/README.md +24 -0
- data/tracks/scala/exercises/atbash-cipher/README.md +45 -0
- data/tracks/scala/exercises/bank-account/README.md +54 -0
- data/tracks/scala/exercises/beer-song/README.md +338 -0
- data/tracks/scala/exercises/binary-search-tree/README.md +71 -0
- data/tracks/scala/exercises/binary-search/README.md +52 -0
- data/tracks/scala/exercises/binary/README.md +46 -0
- data/tracks/scala/exercises/bob/README.md +29 -0
- data/tracks/scala/exercises/book-store/README.md +85 -0
- data/tracks/scala/exercises/bowling/README.md +64 -0
- data/tracks/scala/exercises/bracket-push/README.md +21 -0
- data/tracks/scala/exercises/change/README.md +34 -0
- data/tracks/scala/exercises/clock/README.md +24 -0
- data/tracks/scala/exercises/connect/README.md +53 -0
- data/tracks/scala/exercises/crypto-square/README.md +85 -0
- data/tracks/scala/exercises/custom-set/README.md +22 -0
- data/tracks/scala/exercises/difference-of-squares/README.md +30 -0
- data/tracks/scala/exercises/dominoes/README.md +29 -0
- data/tracks/scala/exercises/etl/README.md +62 -0
- data/tracks/scala/exercises/food-chain/README.md +81 -0
- data/tracks/scala/exercises/forth/README.md +40 -0
- data/tracks/scala/exercises/gigasecond/README.md +26 -0
- data/tracks/scala/exercises/grade-school/README.md +53 -0
- data/tracks/scala/exercises/grains/README.md +45 -0
- data/tracks/scala/exercises/hamming/README.md +112 -0
- data/tracks/scala/exercises/hello-world/README.md +38 -0
- data/tracks/scala/exercises/hexadecimal/README.md +25 -0
- data/tracks/scala/exercises/house/README.md +124 -0
- data/tracks/scala/exercises/isogram/README.md +30 -0
- data/tracks/scala/exercises/kindergarten-garden/README.md +77 -0
- data/tracks/scala/exercises/largest-series-product/README.md +31 -0
- data/tracks/scala/exercises/leap/README.md +50 -0
- data/tracks/scala/exercises/lens-person/README.md +11 -7
- data/tracks/scala/exercises/linked-list/README.md +45 -0
- data/tracks/scala/exercises/luhn/README.md +82 -0
- data/tracks/scala/exercises/matrix/README.md +56 -0
- data/tracks/scala/exercises/meetup/README.md +41 -0
- data/tracks/scala/exercises/minesweeper/README.md +41 -0
- data/tracks/scala/exercises/nth-prime/README.md +26 -0
- data/tracks/scala/exercises/nucleotide-count/README.md +107 -0
- data/tracks/scala/exercises/ocr-numbers/README.md +96 -0
- data/tracks/scala/exercises/octal/README.md +60 -0
- data/tracks/scala/exercises/palindrome-products/README.md +51 -0
- data/tracks/scala/exercises/pangram/README.md +26 -0
- data/tracks/scala/exercises/parallel-letter-frequency/README.md +50 -0
- data/tracks/scala/exercises/pascals-triangle/README.md +32 -0
- data/tracks/scala/exercises/perfect-numbers/README.md +35 -0
- data/tracks/scala/exercises/phone-number/README.md +56 -0
- data/tracks/scala/exercises/pig-latin/README.md +35 -0
- data/tracks/scala/exercises/prime-factors/README.md +47 -0
- data/tracks/scala/exercises/protein-translation/README.md +60 -0
- data/tracks/scala/exercises/pythagorean-triplet/README.md +35 -0
- data/tracks/scala/exercises/queen-attack/README.md +44 -0
- data/tracks/scala/exercises/rail-fence-cipher/README.md +71 -0
- data/tracks/scala/exercises/raindrops/README.md +35 -0
- data/tracks/scala/exercises/rna-transcription/README.md +36 -0
- data/tracks/scala/exercises/robot-name/README.md +40 -0
- data/tracks/scala/exercises/robot-simulator/README.md +45 -0
- data/tracks/scala/exercises/roman-numerals/README.md +72 -0
- data/tracks/scala/exercises/run-length-encoding/README.md +41 -0
- data/tracks/scala/exercises/saddle-points/README.md +44 -0
- data/tracks/scala/exercises/say/README.md +80 -0
- data/tracks/scala/exercises/scrabble-score/README.md +55 -0
- data/tracks/scala/exercises/secret-handshake/README.md +46 -0
- data/tracks/scala/exercises/series/README.md +38 -0
- data/tracks/scala/exercises/sgf-parsing/README.md +79 -0
- data/tracks/scala/exercises/sieve/README.md +45 -0
- data/tracks/scala/exercises/simple-cipher/README.md +101 -0
- data/tracks/scala/exercises/simple-linked-list/README.md +39 -0
- data/tracks/scala/exercises/space-age/README.md +35 -0
- data/tracks/scala/exercises/spiral-matrix/README.md +41 -0
- data/tracks/scala/exercises/strain/README.md +51 -0
- data/tracks/scala/exercises/sublist/README.md +32 -0
- data/tracks/scala/exercises/sum-of-multiples/README.md +29 -0
- data/tracks/scala/exercises/triangle/README.md +37 -0
- data/tracks/scala/exercises/trinary/README.md +39 -0
- data/tracks/scala/exercises/variable-length-quantity/README.md +54 -0
- data/tracks/scala/exercises/word-count/README.md +30 -0
- data/tracks/scala/exercises/wordy/README.md +74 -0
- data/tracks/scala/exercises/zebra-puzzle/README.md +43 -0
- data/tracks/scala/exercises/zipper/README.md +42 -0
- metadata +401 -1
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
# Zipper
|
|
2
|
+
|
|
3
|
+
Creating a zipper for a binary tree.
|
|
4
|
+
|
|
5
|
+
[Zippers](https://en.wikipedia.org/wiki/Zipper_%28data_structure%29) are
|
|
6
|
+
a way purely functional of navigating within a data structure and
|
|
7
|
+
manipulating it. They essentially contain a data structure and a
|
|
8
|
+
pointer into that data structure (called the focus).
|
|
9
|
+
|
|
10
|
+
For example given a rose tree (where each node contains a value and a
|
|
11
|
+
list of child nodes) a zipper might support these operations:
|
|
12
|
+
|
|
13
|
+
- `from_tree` (get a zipper out of a rose tree, the focus is on the root node)
|
|
14
|
+
- `to_tree` (get the rose tree out of the zipper)
|
|
15
|
+
- `value` (get the value of the focus node)
|
|
16
|
+
- `prev` (move the focus to the previous child of the same parent,
|
|
17
|
+
returns a new zipper)
|
|
18
|
+
- `next` (move the focus to the next child of the same parent, returns a
|
|
19
|
+
new zipper)
|
|
20
|
+
- `up` (move the focus to the parent, returns a new zipper)
|
|
21
|
+
- `set_value` (set the value of the focus node, returns a new zipper)
|
|
22
|
+
- `insert_before` (insert a new subtree before the focus node, it
|
|
23
|
+
becomes the `prev` of the focus node, returns a new zipper)
|
|
24
|
+
- `insert_after` (insert a new subtree after the focus node, it becomes
|
|
25
|
+
the `next` of the focus node, returns a new zipper)
|
|
26
|
+
- `delete` (removes the focus node and all subtrees, focus moves to the
|
|
27
|
+
`next` node if possible otherwise to the `prev` node if possible,
|
|
28
|
+
otherwise to the parent node, returns a new zipper)
|
|
29
|
+
|
|
30
|
+
## Submitting Incomplete Solutions
|
|
31
|
+
It's possible to submit an incomplete solution so you can see how others have completed the exercise.
|
data/tracks/haskell/README.md
CHANGED
|
@@ -54,11 +54,11 @@ Of course you can also add a totally new exercise, but it might be a good idea t
|
|
|
54
54
|
|
|
55
55
|
#### Updating an exercise test suite
|
|
56
56
|
Updating a test suite of an existing exercise is special because it usually affects all languages.
|
|
57
|
-
You can refer to the [documentation on updating a test suite](https://github.com/exercism/
|
|
57
|
+
You can refer to the [documentation on updating a test suite](https://github.com/exercism/docs/blob/master/contributing-to-language-tracks/README.md#changing-exercise-test-suites) and the [test suite principles](https://github.com/exercism/docs/blob/master/language-tracks/exercises/anatomy/test-suites.md).
|
|
58
58
|
Note that the whole test suite must run with the sample solution within a couple of seconds.
|
|
59
59
|
|
|
60
60
|
### Repository structure and conventions
|
|
61
|
-
The [track anatomy documentation](https://github.com/exercism/
|
|
61
|
+
The [track anatomy documentation](https://github.com/exercism/docs/blob/master/language-tracks/README.md) is a general description of all the files and directories that are not explicitly described below.
|
|
62
62
|
|
|
63
63
|
#### Directory structure
|
|
64
64
|
```bash
|
|
@@ -6,7 +6,10 @@
|
|
|
6
6
|
"test_pattern": ".*[.]spec[.]js$",
|
|
7
7
|
"exercises": [
|
|
8
8
|
{
|
|
9
|
+
"uuid": "4756cfc9-7509-4783-8be7-60e3376b8256",
|
|
9
10
|
"slug": "hello-world",
|
|
11
|
+
"core": false,
|
|
12
|
+
"unlocked_by": null,
|
|
10
13
|
"difficulty": 1,
|
|
11
14
|
"topics": [
|
|
12
15
|
"Control-flow (conditionals)",
|
|
@@ -16,7 +19,10 @@
|
|
|
16
19
|
]
|
|
17
20
|
},
|
|
18
21
|
{
|
|
22
|
+
"uuid": "0c231a1c-55f7-47b6-8a54-ccae4ab0c65b",
|
|
19
23
|
"slug": "leap",
|
|
24
|
+
"core": false,
|
|
25
|
+
"unlocked_by": null,
|
|
20
26
|
"difficulty": 1,
|
|
21
27
|
"topics": [
|
|
22
28
|
"Booleans",
|
|
@@ -25,7 +31,10 @@
|
|
|
25
31
|
]
|
|
26
32
|
},
|
|
27
33
|
{
|
|
34
|
+
"uuid": "3e1358c8-2bea-41f9-bc9e-8277f354a4e0",
|
|
28
35
|
"slug": "hamming",
|
|
36
|
+
"core": false,
|
|
37
|
+
"unlocked_by": null,
|
|
29
38
|
"difficulty": 1,
|
|
30
39
|
"topics": [
|
|
31
40
|
"Control-flow (loops)",
|
|
@@ -35,7 +44,10 @@
|
|
|
35
44
|
]
|
|
36
45
|
},
|
|
37
46
|
{
|
|
47
|
+
"uuid": "d7f57ab9-2edb-44cb-a04e-c575c0f4be4c",
|
|
38
48
|
"slug": "rna-transcription",
|
|
49
|
+
"core": false,
|
|
50
|
+
"unlocked_by": null,
|
|
39
51
|
"difficulty": 1,
|
|
40
52
|
"topics": [
|
|
41
53
|
"Strings",
|
|
@@ -43,7 +55,10 @@
|
|
|
43
55
|
]
|
|
44
56
|
},
|
|
45
57
|
{
|
|
58
|
+
"uuid": "c57bf909-130f-46e6-97ca-aeed58df1a15",
|
|
46
59
|
"slug": "pangram",
|
|
60
|
+
"core": false,
|
|
61
|
+
"unlocked_by": null,
|
|
47
62
|
"difficulty": 1,
|
|
48
63
|
"topics": [
|
|
49
64
|
"Control flow (conditionals)",
|
|
@@ -56,7 +71,10 @@
|
|
|
56
71
|
]
|
|
57
72
|
},
|
|
58
73
|
{
|
|
74
|
+
"uuid": "246be5d9-b361-4893-9707-f218ede2bed6",
|
|
59
75
|
"slug": "bob",
|
|
76
|
+
"core": false,
|
|
77
|
+
"unlocked_by": null,
|
|
60
78
|
"difficulty": 1,
|
|
61
79
|
"topics": [
|
|
62
80
|
"Control flow (conditionals)",
|
|
@@ -68,14 +86,20 @@
|
|
|
68
86
|
]
|
|
69
87
|
},
|
|
70
88
|
{
|
|
89
|
+
"uuid": "49e4874b-d7e2-4305-a9bc-627fab4ada44",
|
|
71
90
|
"slug": "gigasecond",
|
|
91
|
+
"core": false,
|
|
92
|
+
"unlocked_by": null,
|
|
72
93
|
"difficulty": 1,
|
|
73
94
|
"topics": [
|
|
74
95
|
"Time"
|
|
75
96
|
]
|
|
76
97
|
},
|
|
77
98
|
{
|
|
99
|
+
"uuid": "35821375-5c94-4d4b-aa56-e3b079a45ca0",
|
|
78
100
|
"slug": "isogram",
|
|
101
|
+
"core": false,
|
|
102
|
+
"unlocked_by": null,
|
|
79
103
|
"difficulty": 1,
|
|
80
104
|
"topics": [
|
|
81
105
|
"Strings",
|
|
@@ -83,7 +107,10 @@
|
|
|
83
107
|
]
|
|
84
108
|
},
|
|
85
109
|
{
|
|
110
|
+
"uuid": "6f315fc3-095a-4387-aefb-cc5fee97110a",
|
|
86
111
|
"slug": "beer-song",
|
|
112
|
+
"core": false,
|
|
113
|
+
"unlocked_by": null,
|
|
87
114
|
"difficulty": 1,
|
|
88
115
|
"topics": [
|
|
89
116
|
"Looping",
|
|
@@ -92,7 +119,10 @@
|
|
|
92
119
|
]
|
|
93
120
|
},
|
|
94
121
|
{
|
|
122
|
+
"uuid": "347f9f54-a0d9-469d-babf-b3edb34d9d70",
|
|
95
123
|
"slug": "phone-number",
|
|
124
|
+
"core": false,
|
|
125
|
+
"unlocked_by": null,
|
|
96
126
|
"difficulty": 1,
|
|
97
127
|
"topics": [
|
|
98
128
|
"Parsing",
|
|
@@ -100,7 +130,10 @@
|
|
|
100
130
|
]
|
|
101
131
|
},
|
|
102
132
|
{
|
|
133
|
+
"uuid": "432ec2ce-c919-4142-aea2-389b67503252",
|
|
103
134
|
"slug": "anagram",
|
|
135
|
+
"core": false,
|
|
136
|
+
"unlocked_by": null,
|
|
104
137
|
"difficulty": 1,
|
|
105
138
|
"topics": [
|
|
106
139
|
"Strings",
|
|
@@ -108,7 +141,10 @@
|
|
|
108
141
|
]
|
|
109
142
|
},
|
|
110
143
|
{
|
|
144
|
+
"uuid": "a717745f-da00-4a5f-8bf3-6876e20cdf17",
|
|
111
145
|
"slug": "food-chain",
|
|
146
|
+
"core": false,
|
|
147
|
+
"unlocked_by": null,
|
|
112
148
|
"difficulty": 1,
|
|
113
149
|
"topics": [
|
|
114
150
|
"Text formatting",
|
|
@@ -116,63 +152,90 @@
|
|
|
116
152
|
]
|
|
117
153
|
},
|
|
118
154
|
{
|
|
155
|
+
"uuid": "029bc3ed-772d-439b-bd0a-1ba1196a79ec",
|
|
119
156
|
"slug": "grade-school",
|
|
157
|
+
"core": false,
|
|
158
|
+
"unlocked_by": null,
|
|
120
159
|
"difficulty": 1,
|
|
121
160
|
"topics": [
|
|
122
161
|
|
|
123
162
|
]
|
|
124
163
|
},
|
|
125
164
|
{
|
|
165
|
+
"uuid": "3005340b-a8d6-46ac-9075-125f9adccc2a",
|
|
126
166
|
"slug": "robot-name",
|
|
167
|
+
"core": false,
|
|
168
|
+
"unlocked_by": null,
|
|
127
169
|
"difficulty": 1,
|
|
128
170
|
"topics": [
|
|
129
171
|
|
|
130
172
|
]
|
|
131
173
|
},
|
|
132
174
|
{
|
|
175
|
+
"uuid": "a2a19f61-62ba-447a-8f57-537c8baa2e7a",
|
|
133
176
|
"slug": "etl",
|
|
177
|
+
"core": false,
|
|
178
|
+
"unlocked_by": null,
|
|
134
179
|
"difficulty": 1,
|
|
135
180
|
"topics": [
|
|
136
181
|
|
|
137
182
|
]
|
|
138
183
|
},
|
|
139
184
|
{
|
|
185
|
+
"uuid": "b668e11a-a8ce-4e94-ba68-3a1f0fa3f6c8",
|
|
140
186
|
"slug": "space-age",
|
|
187
|
+
"core": false,
|
|
188
|
+
"unlocked_by": null,
|
|
141
189
|
"difficulty": 1,
|
|
142
190
|
"topics": [
|
|
143
191
|
|
|
144
192
|
]
|
|
145
193
|
},
|
|
146
194
|
{
|
|
195
|
+
"uuid": "c5be6908-f45c-4278-ba99-3701024f4eda",
|
|
147
196
|
"slug": "grains",
|
|
197
|
+
"core": false,
|
|
198
|
+
"unlocked_by": null,
|
|
148
199
|
"difficulty": 1,
|
|
149
200
|
"topics": [
|
|
150
201
|
|
|
151
202
|
]
|
|
152
203
|
},
|
|
153
204
|
{
|
|
205
|
+
"uuid": "fde792fa-84e9-4b86-8ecb-8466ad92a99d",
|
|
154
206
|
"slug": "triangle",
|
|
207
|
+
"core": false,
|
|
208
|
+
"unlocked_by": null,
|
|
155
209
|
"difficulty": 1,
|
|
156
210
|
"topics": [
|
|
157
211
|
|
|
158
212
|
]
|
|
159
213
|
},
|
|
160
214
|
{
|
|
215
|
+
"uuid": "1ff85150-6c51-4758-af02-4484cf35658e",
|
|
161
216
|
"slug": "clock",
|
|
217
|
+
"core": false,
|
|
218
|
+
"unlocked_by": null,
|
|
162
219
|
"difficulty": 1,
|
|
163
220
|
"topics": [
|
|
164
221
|
|
|
165
222
|
]
|
|
166
223
|
},
|
|
167
224
|
{
|
|
225
|
+
"uuid": "51aa5429-b2db-43ad-83cf-84e2ead22cb6",
|
|
168
226
|
"slug": "perfect-numbers",
|
|
227
|
+
"core": false,
|
|
228
|
+
"unlocked_by": null,
|
|
169
229
|
"difficulty": 1,
|
|
170
230
|
"topics": [
|
|
171
231
|
|
|
172
232
|
]
|
|
173
233
|
},
|
|
174
234
|
{
|
|
235
|
+
"uuid": "9a4ea3da-ad43-4850-bdf3-2c578c5de838",
|
|
175
236
|
"slug": "word-count",
|
|
237
|
+
"core": false,
|
|
238
|
+
"unlocked_by": null,
|
|
176
239
|
"difficulty": 1,
|
|
177
240
|
"topics": [
|
|
178
241
|
"Control flow (loops)",
|
|
@@ -183,161 +246,230 @@
|
|
|
183
246
|
]
|
|
184
247
|
},
|
|
185
248
|
{
|
|
249
|
+
"uuid": "0c1c4788-0372-42e7-81c1-b090bb7ebc8b",
|
|
186
250
|
"slug": "acronym",
|
|
251
|
+
"core": false,
|
|
252
|
+
"unlocked_by": null,
|
|
187
253
|
"difficulty": 1,
|
|
188
254
|
"topics": [
|
|
189
255
|
|
|
190
256
|
]
|
|
191
257
|
},
|
|
192
258
|
{
|
|
259
|
+
"uuid": "a6bd8126-3879-4593-8380-39ebfa87801b",
|
|
193
260
|
"slug": "scrabble-score",
|
|
261
|
+
"core": false,
|
|
262
|
+
"unlocked_by": null,
|
|
194
263
|
"difficulty": 1,
|
|
195
264
|
"topics": [
|
|
196
265
|
|
|
197
266
|
]
|
|
198
267
|
},
|
|
199
268
|
{
|
|
269
|
+
"uuid": "4226e3c6-99d4-406d-998a-bcf11845b211",
|
|
200
270
|
"slug": "roman-numerals",
|
|
271
|
+
"core": false,
|
|
272
|
+
"unlocked_by": null,
|
|
201
273
|
"difficulty": 1,
|
|
202
274
|
"topics": [
|
|
203
275
|
|
|
204
276
|
]
|
|
205
277
|
},
|
|
206
278
|
{
|
|
279
|
+
"uuid": "f1943e87-182a-44f5-a885-3d68a0c0a0dc",
|
|
207
280
|
"slug": "circular-buffer",
|
|
281
|
+
"core": false,
|
|
282
|
+
"unlocked_by": null,
|
|
208
283
|
"difficulty": 1,
|
|
209
284
|
"topics": [
|
|
210
285
|
|
|
211
286
|
]
|
|
212
287
|
},
|
|
213
288
|
{
|
|
289
|
+
"uuid": "c3035180-ff4c-4afe-8019-f8364158b74e",
|
|
214
290
|
"slug": "binary",
|
|
291
|
+
"core": false,
|
|
292
|
+
"unlocked_by": null,
|
|
215
293
|
"difficulty": 1,
|
|
216
294
|
"topics": [
|
|
217
295
|
|
|
218
296
|
]
|
|
219
297
|
},
|
|
220
298
|
{
|
|
299
|
+
"uuid": "73ecd6c2-e59b-4354-b305-64e28a60433f",
|
|
221
300
|
"slug": "prime-factors",
|
|
301
|
+
"core": false,
|
|
302
|
+
"unlocked_by": null,
|
|
222
303
|
"difficulty": 1,
|
|
223
304
|
"topics": [
|
|
224
305
|
|
|
225
306
|
]
|
|
226
307
|
},
|
|
227
308
|
{
|
|
309
|
+
"uuid": "86b1acf1-9e2d-4b04-b8b0-e9ae6beb5f3d",
|
|
228
310
|
"slug": "raindrops",
|
|
311
|
+
"core": false,
|
|
312
|
+
"unlocked_by": null,
|
|
229
313
|
"difficulty": 1,
|
|
230
314
|
"topics": [
|
|
231
315
|
|
|
232
316
|
]
|
|
233
317
|
},
|
|
234
318
|
{
|
|
319
|
+
"uuid": "23210e9e-81f6-4279-a776-00459c7ccd02",
|
|
235
320
|
"slug": "allergies",
|
|
321
|
+
"core": false,
|
|
322
|
+
"unlocked_by": null,
|
|
236
323
|
"difficulty": 1,
|
|
237
324
|
"topics": [
|
|
238
325
|
|
|
239
326
|
]
|
|
240
327
|
},
|
|
241
328
|
{
|
|
329
|
+
"uuid": "e61f3d54-55d2-4d32-9d2a-e7d6af3a3247",
|
|
242
330
|
"slug": "strain",
|
|
331
|
+
"core": false,
|
|
332
|
+
"unlocked_by": null,
|
|
243
333
|
"difficulty": 1,
|
|
244
334
|
"topics": [
|
|
245
335
|
|
|
246
336
|
]
|
|
247
337
|
},
|
|
248
338
|
{
|
|
339
|
+
"uuid": "99974454-0736-4cc0-b88f-ed5701397a97",
|
|
249
340
|
"slug": "atbash-cipher",
|
|
341
|
+
"core": false,
|
|
342
|
+
"unlocked_by": null,
|
|
250
343
|
"difficulty": 1,
|
|
251
344
|
"topics": [
|
|
252
345
|
|
|
253
346
|
]
|
|
254
347
|
},
|
|
255
348
|
{
|
|
349
|
+
"uuid": "dc9b2598-9757-4b20-82f9-8049ad081ac9",
|
|
256
350
|
"slug": "accumulate",
|
|
351
|
+
"core": false,
|
|
352
|
+
"unlocked_by": null,
|
|
257
353
|
"difficulty": 1,
|
|
258
354
|
"topics": [
|
|
259
355
|
|
|
260
356
|
]
|
|
261
357
|
},
|
|
262
358
|
{
|
|
359
|
+
"uuid": "a98e3593-d5b4-4c2b-8569-ae3ae7e07dad",
|
|
263
360
|
"slug": "crypto-square",
|
|
361
|
+
"core": false,
|
|
362
|
+
"unlocked_by": null,
|
|
264
363
|
"difficulty": 1,
|
|
265
364
|
"topics": [
|
|
266
365
|
|
|
267
366
|
]
|
|
268
367
|
},
|
|
269
368
|
{
|
|
369
|
+
"uuid": "f317721d-e1f5-4e68-9fdc-f9bc7b6b004d",
|
|
270
370
|
"slug": "trinary",
|
|
371
|
+
"core": false,
|
|
372
|
+
"unlocked_by": null,
|
|
271
373
|
"difficulty": 1,
|
|
272
374
|
"topics": [
|
|
273
375
|
|
|
274
376
|
]
|
|
275
377
|
},
|
|
276
378
|
{
|
|
379
|
+
"uuid": "4cad8ee8-40be-4d4d-8c14-45d8c6e29a32",
|
|
277
380
|
"slug": "sieve",
|
|
381
|
+
"core": false,
|
|
382
|
+
"unlocked_by": null,
|
|
278
383
|
"difficulty": 1,
|
|
279
384
|
"topics": [
|
|
280
385
|
|
|
281
386
|
]
|
|
282
387
|
},
|
|
283
388
|
{
|
|
389
|
+
"uuid": "fff57c49-cde9-4a0c-b70b-2903cef212af",
|
|
284
390
|
"slug": "simple-cipher",
|
|
391
|
+
"core": false,
|
|
392
|
+
"unlocked_by": null,
|
|
285
393
|
"difficulty": 1,
|
|
286
394
|
"topics": [
|
|
287
395
|
|
|
288
396
|
]
|
|
289
397
|
},
|
|
290
398
|
{
|
|
399
|
+
"uuid": "9892d47d-97a0-4a2f-8284-6f84c86559e8",
|
|
291
400
|
"slug": "octal",
|
|
401
|
+
"core": false,
|
|
402
|
+
"unlocked_by": null,
|
|
292
403
|
"difficulty": 1,
|
|
293
404
|
"topics": [
|
|
294
405
|
|
|
295
406
|
]
|
|
296
407
|
},
|
|
297
408
|
{
|
|
409
|
+
"uuid": "bb46e832-8c37-45ee-9ee7-5037015b965c",
|
|
298
410
|
"slug": "luhn",
|
|
411
|
+
"core": false,
|
|
412
|
+
"unlocked_by": null,
|
|
299
413
|
"difficulty": 1,
|
|
300
414
|
"topics": [
|
|
301
415
|
|
|
302
416
|
]
|
|
303
417
|
},
|
|
304
418
|
{
|
|
419
|
+
"uuid": "9a515ad0-34c7-4191-8784-5c4cd6385b38",
|
|
305
420
|
"slug": "pig-latin",
|
|
421
|
+
"core": false,
|
|
422
|
+
"unlocked_by": null,
|
|
306
423
|
"difficulty": 1,
|
|
307
424
|
"topics": [
|
|
308
425
|
|
|
309
426
|
]
|
|
310
427
|
},
|
|
311
428
|
{
|
|
429
|
+
"uuid": "26a973dd-d72e-40fb-abeb-0ba306356ed6",
|
|
312
430
|
"slug": "pythagorean-triplet",
|
|
431
|
+
"core": false,
|
|
432
|
+
"unlocked_by": null,
|
|
313
433
|
"difficulty": 1,
|
|
314
434
|
"topics": [
|
|
315
435
|
|
|
316
436
|
]
|
|
317
437
|
},
|
|
318
438
|
{
|
|
439
|
+
"uuid": "06afdb06-8d2a-4cb0-baf1-48ae997cf1f5",
|
|
319
440
|
"slug": "series",
|
|
441
|
+
"core": false,
|
|
442
|
+
"unlocked_by": null,
|
|
320
443
|
"difficulty": 1,
|
|
321
444
|
"topics": [
|
|
322
445
|
|
|
323
446
|
]
|
|
324
447
|
},
|
|
325
448
|
{
|
|
449
|
+
"uuid": "07110dd5-b879-40b9-9485-685cb0963d8f",
|
|
326
450
|
"slug": "difference-of-squares",
|
|
451
|
+
"core": false,
|
|
452
|
+
"unlocked_by": null,
|
|
327
453
|
"difficulty": 1,
|
|
328
454
|
"topics": [
|
|
329
455
|
|
|
330
456
|
]
|
|
331
457
|
},
|
|
332
458
|
{
|
|
459
|
+
"uuid": "0a3a452c-f734-47eb-8e65-34c8ae710ef0",
|
|
333
460
|
"slug": "secret-handshake",
|
|
461
|
+
"core": false,
|
|
462
|
+
"unlocked_by": null,
|
|
334
463
|
"difficulty": 1,
|
|
335
464
|
"topics": [
|
|
336
465
|
|
|
337
466
|
]
|
|
338
467
|
},
|
|
339
468
|
{
|
|
469
|
+
"uuid": "8786d591-077b-49bc-be8d-d014dc9dc308",
|
|
340
470
|
"slug": "proverb",
|
|
471
|
+
"core": false,
|
|
472
|
+
"unlocked_by": null,
|
|
341
473
|
"difficulty": 1,
|
|
342
474
|
"topics": [
|
|
343
475
|
"Arrays",
|
|
@@ -345,189 +477,270 @@
|
|
|
345
477
|
]
|
|
346
478
|
},
|
|
347
479
|
{
|
|
480
|
+
"uuid": "ecc41237-f629-458f-873e-2cc51ba1a385",
|
|
348
481
|
"slug": "linked-list",
|
|
482
|
+
"core": false,
|
|
483
|
+
"unlocked_by": null,
|
|
349
484
|
"difficulty": 1,
|
|
350
485
|
"topics": [
|
|
351
486
|
|
|
352
487
|
]
|
|
353
488
|
},
|
|
354
489
|
{
|
|
490
|
+
"uuid": "bb54bf08-24ba-45e1-bdf7-08db161e5843",
|
|
355
491
|
"slug": "wordy",
|
|
492
|
+
"core": false,
|
|
493
|
+
"unlocked_by": null,
|
|
356
494
|
"difficulty": 1,
|
|
357
495
|
"topics": [
|
|
358
496
|
|
|
359
497
|
]
|
|
360
498
|
},
|
|
361
499
|
{
|
|
500
|
+
"uuid": "32a0a5fa-c7de-470c-beff-118b448b3916",
|
|
362
501
|
"slug": "flatten-array",
|
|
502
|
+
"core": false,
|
|
503
|
+
"unlocked_by": null,
|
|
363
504
|
"difficulty": 1,
|
|
364
505
|
"topics": [
|
|
365
506
|
|
|
366
507
|
]
|
|
367
508
|
},
|
|
368
509
|
{
|
|
510
|
+
"uuid": "33b8f4c0-3210-478a-9225-5c30ad6df870",
|
|
369
511
|
"slug": "hexadecimal",
|
|
512
|
+
"core": false,
|
|
513
|
+
"unlocked_by": null,
|
|
370
514
|
"difficulty": 1,
|
|
371
515
|
"topics": [
|
|
372
516
|
|
|
373
517
|
]
|
|
374
518
|
},
|
|
375
519
|
{
|
|
520
|
+
"uuid": "44bd02a7-0e3a-4441-ab76-524e36d4661c",
|
|
376
521
|
"slug": "largest-series-product",
|
|
522
|
+
"core": false,
|
|
523
|
+
"unlocked_by": null,
|
|
377
524
|
"difficulty": 1,
|
|
378
525
|
"topics": [
|
|
379
526
|
|
|
380
527
|
]
|
|
381
528
|
},
|
|
382
529
|
{
|
|
530
|
+
"uuid": "2702ac90-0be2-43a2-91b6-7256a25fec87",
|
|
383
531
|
"slug": "kindergarten-garden",
|
|
532
|
+
"core": false,
|
|
533
|
+
"unlocked_by": null,
|
|
384
534
|
"difficulty": 1,
|
|
385
535
|
"topics": [
|
|
386
536
|
|
|
387
537
|
]
|
|
388
538
|
},
|
|
389
539
|
{
|
|
540
|
+
"uuid": "5991c379-f033-4b46-9702-6b7fd03640e8",
|
|
390
541
|
"slug": "binary-search",
|
|
542
|
+
"core": false,
|
|
543
|
+
"unlocked_by": null,
|
|
391
544
|
"difficulty": 1,
|
|
392
545
|
"topics": [
|
|
393
546
|
|
|
394
547
|
]
|
|
395
548
|
},
|
|
396
549
|
{
|
|
550
|
+
"uuid": "865806e0-950f-49a5-a6e5-26472b90ab85",
|
|
397
551
|
"slug": "binary-search-tree",
|
|
552
|
+
"core": false,
|
|
553
|
+
"unlocked_by": null,
|
|
398
554
|
"difficulty": 1,
|
|
399
555
|
"topics": [
|
|
400
556
|
|
|
401
557
|
]
|
|
402
558
|
},
|
|
403
559
|
{
|
|
560
|
+
"uuid": "fbfe6032-c209-40bd-b485-8b2881638166",
|
|
404
561
|
"slug": "matrix",
|
|
562
|
+
"core": false,
|
|
563
|
+
"unlocked_by": null,
|
|
405
564
|
"difficulty": 1,
|
|
406
565
|
"topics": [
|
|
407
566
|
|
|
408
567
|
]
|
|
409
568
|
},
|
|
410
569
|
{
|
|
570
|
+
"uuid": "00002977-ea1e-45e2-b66e-09d793b5c1ad",
|
|
411
571
|
"slug": "robot-simulator",
|
|
572
|
+
"core": false,
|
|
573
|
+
"unlocked_by": null,
|
|
412
574
|
"difficulty": 1,
|
|
413
575
|
"topics": [
|
|
414
576
|
|
|
415
577
|
]
|
|
416
578
|
},
|
|
417
579
|
{
|
|
580
|
+
"uuid": "8fa51380-ec2c-4806-8833-cf543579de17",
|
|
418
581
|
"slug": "nth-prime",
|
|
582
|
+
"core": false,
|
|
583
|
+
"unlocked_by": null,
|
|
419
584
|
"difficulty": 1,
|
|
420
585
|
"topics": [
|
|
421
586
|
|
|
422
587
|
]
|
|
423
588
|
},
|
|
424
589
|
{
|
|
590
|
+
"uuid": "fde83f66-d927-48f8-a599-efb98927f0b1",
|
|
425
591
|
"slug": "palindrome-products",
|
|
592
|
+
"core": false,
|
|
593
|
+
"unlocked_by": null,
|
|
426
594
|
"difficulty": 1,
|
|
427
595
|
"topics": [
|
|
428
596
|
|
|
429
597
|
]
|
|
430
598
|
},
|
|
431
599
|
{
|
|
600
|
+
"uuid": "a96ab45d-10a0-42cf-a754-c2466037ceaf",
|
|
432
601
|
"slug": "pascals-triangle",
|
|
602
|
+
"core": false,
|
|
603
|
+
"unlocked_by": null,
|
|
433
604
|
"difficulty": 1,
|
|
434
605
|
"topics": [
|
|
435
606
|
|
|
436
607
|
]
|
|
437
608
|
},
|
|
438
609
|
{
|
|
610
|
+
"uuid": "01d286f6-5f29-4d4b-a4de-e217a4833bfa",
|
|
439
611
|
"slug": "say",
|
|
612
|
+
"core": false,
|
|
613
|
+
"unlocked_by": null,
|
|
440
614
|
"difficulty": 1,
|
|
441
615
|
"topics": [
|
|
442
616
|
|
|
443
617
|
]
|
|
444
618
|
},
|
|
445
619
|
{
|
|
620
|
+
"uuid": "d4ec15c4-2742-493b-97fe-9d5121f0b659",
|
|
446
621
|
"slug": "custom-set",
|
|
622
|
+
"core": false,
|
|
623
|
+
"unlocked_by": null,
|
|
447
624
|
"difficulty": 1,
|
|
448
625
|
"topics": [
|
|
449
626
|
|
|
450
627
|
]
|
|
451
628
|
},
|
|
452
629
|
{
|
|
630
|
+
"uuid": "f30463c4-9d8c-4238-a691-e594291b4425",
|
|
453
631
|
"slug": "sum-of-multiples",
|
|
632
|
+
"core": false,
|
|
633
|
+
"unlocked_by": null,
|
|
454
634
|
"difficulty": 1,
|
|
455
635
|
"topics": [
|
|
456
636
|
|
|
457
637
|
]
|
|
458
638
|
},
|
|
459
639
|
{
|
|
640
|
+
"uuid": "fefcfeba-59ec-4c63-a562-374201ee39a7",
|
|
460
641
|
"slug": "queen-attack",
|
|
642
|
+
"core": false,
|
|
643
|
+
"unlocked_by": null,
|
|
461
644
|
"difficulty": 1,
|
|
462
645
|
"topics": [
|
|
463
646
|
|
|
464
647
|
]
|
|
465
648
|
},
|
|
466
649
|
{
|
|
650
|
+
"uuid": "98cbae4f-78b6-4745-b922-39e8db9a12bb",
|
|
467
651
|
"slug": "saddle-points",
|
|
652
|
+
"core": false,
|
|
653
|
+
"unlocked_by": null,
|
|
468
654
|
"difficulty": 1,
|
|
469
655
|
"topics": [
|
|
470
656
|
|
|
471
657
|
]
|
|
472
658
|
},
|
|
473
659
|
{
|
|
660
|
+
"uuid": "759618b1-7ccc-46cd-889d-aea58ec88756",
|
|
474
661
|
"slug": "ocr-numbers",
|
|
662
|
+
"core": false,
|
|
663
|
+
"unlocked_by": null,
|
|
475
664
|
"difficulty": 1,
|
|
476
665
|
"topics": [
|
|
477
666
|
|
|
478
667
|
]
|
|
479
668
|
},
|
|
480
669
|
{
|
|
670
|
+
"uuid": "86b1b6ba-c1fe-492d-a7ec-c22c525b4da8",
|
|
481
671
|
"slug": "meetup",
|
|
672
|
+
"core": false,
|
|
673
|
+
"unlocked_by": null,
|
|
482
674
|
"difficulty": 1,
|
|
483
675
|
"topics": [
|
|
484
676
|
|
|
485
677
|
]
|
|
486
678
|
},
|
|
487
679
|
{
|
|
680
|
+
"uuid": "25099f87-5c3b-4a8a-b648-4639d1e9fa84",
|
|
488
681
|
"slug": "bracket-push",
|
|
682
|
+
"core": false,
|
|
683
|
+
"unlocked_by": null,
|
|
489
684
|
"difficulty": 1,
|
|
490
685
|
"topics": [
|
|
491
686
|
|
|
492
687
|
]
|
|
493
688
|
},
|
|
494
689
|
{
|
|
690
|
+
"uuid": "4c857b17-33b0-47fa-b981-6b2fe4e394a1",
|
|
495
691
|
"slug": "two-bucket",
|
|
692
|
+
"core": false,
|
|
693
|
+
"unlocked_by": null,
|
|
496
694
|
"difficulty": 1,
|
|
497
695
|
"topics": [
|
|
498
696
|
|
|
499
697
|
]
|
|
500
698
|
},
|
|
501
699
|
{
|
|
700
|
+
"uuid": "c168fe1f-f84e-46e6-91fc-7553d048a4e9",
|
|
502
701
|
"slug": "bowling",
|
|
702
|
+
"core": false,
|
|
703
|
+
"unlocked_by": null,
|
|
503
704
|
"difficulty": 1,
|
|
504
705
|
"topics": [
|
|
505
706
|
|
|
506
707
|
]
|
|
507
708
|
},
|
|
508
709
|
{
|
|
710
|
+
"uuid": "04a4ef78-5b61-454f-8c37-798875fb4956",
|
|
509
711
|
"slug": "diamond",
|
|
712
|
+
"core": false,
|
|
713
|
+
"unlocked_by": null,
|
|
510
714
|
"difficulty": 1,
|
|
511
715
|
"topics": [
|
|
512
716
|
|
|
513
717
|
]
|
|
514
718
|
},
|
|
515
719
|
{
|
|
720
|
+
"uuid": "cdfcec62-f2f3-4408-ad2c-8b5e1e56e791",
|
|
516
721
|
"slug": "all-your-base",
|
|
722
|
+
"core": false,
|
|
723
|
+
"unlocked_by": null,
|
|
517
724
|
"difficulty": 1,
|
|
518
725
|
"topics": [
|
|
519
726
|
|
|
520
727
|
]
|
|
521
728
|
},
|
|
522
729
|
{
|
|
730
|
+
"uuid": "d66c2b56-b465-4922-af35-ae78944c0aac",
|
|
523
731
|
"slug": "run-length-encoding",
|
|
732
|
+
"core": false,
|
|
733
|
+
"unlocked_by": null,
|
|
524
734
|
"difficulty": 1,
|
|
525
735
|
"topics": [
|
|
526
736
|
|
|
527
737
|
]
|
|
528
738
|
},
|
|
529
739
|
{
|
|
740
|
+
"uuid": "22fa5ab4-935b-44cc-b055-9803214ae5f3",
|
|
530
741
|
"slug": "minesweeper",
|
|
742
|
+
"core": false,
|
|
743
|
+
"unlocked_by": null,
|
|
531
744
|
"difficulty": 7,
|
|
532
745
|
"topics": [
|
|
533
746
|
"games",
|
|
@@ -536,7 +749,10 @@
|
|
|
536
749
|
]
|
|
537
750
|
},
|
|
538
751
|
{
|
|
752
|
+
"uuid": "42a7fd83-4508-403c-8b5e-f0a3126fac8a",
|
|
539
753
|
"slug": "alphametics",
|
|
754
|
+
"core": false,
|
|
755
|
+
"unlocked_by": null,
|
|
540
756
|
"difficulty": 7,
|
|
541
757
|
"topics": [
|
|
542
758
|
"games",
|
|
@@ -544,7 +760,10 @@
|
|
|
544
760
|
]
|
|
545
761
|
},
|
|
546
762
|
{
|
|
763
|
+
"uuid": "c21ab6e8-b845-49d0-a2f6-1c89c7a07626",
|
|
547
764
|
"slug": "simple-linked-list",
|
|
765
|
+
"core": false,
|
|
766
|
+
"unlocked_by": null,
|
|
548
767
|
"difficulty": 8,
|
|
549
768
|
"topics": [
|
|
550
769
|
"Arrays",
|
|
@@ -553,19 +772,28 @@
|
|
|
553
772
|
]
|
|
554
773
|
},
|
|
555
774
|
{
|
|
775
|
+
"uuid": "e70defe4-5944-4392-956c-63cb92e7fd9c",
|
|
556
776
|
"slug": "list-ops",
|
|
777
|
+
"core": false,
|
|
778
|
+
"unlocked_by": null,
|
|
557
779
|
"difficulty": 8,
|
|
558
780
|
"topics": [
|
|
559
781
|
"Data structures",
|
|
560
782
|
"Lists",
|
|
561
783
|
"Recursion"
|
|
562
784
|
]
|
|
785
|
+
},
|
|
786
|
+
{
|
|
787
|
+
"uuid": "1b53340d-ea40-44ee-bf2e-42e516704e7c",
|
|
788
|
+
"slug": "nucleotide-count",
|
|
789
|
+
"deprecated": true
|
|
790
|
+
},
|
|
791
|
+
{
|
|
792
|
+
"uuid": "e9a6b2ea-a67d-4b75-800d-7b46240094ec",
|
|
793
|
+
"slug": "point-mutations",
|
|
794
|
+
"deprecated": true
|
|
563
795
|
}
|
|
564
796
|
],
|
|
565
|
-
"deprecated": [
|
|
566
|
-
"nucleotide-count",
|
|
567
|
-
"point-mutations"
|
|
568
|
-
],
|
|
569
797
|
"foregone": [
|
|
570
798
|
|
|
571
799
|
]
|