trackler 2.2.0.2 → 2.2.0.3
Sign up to get free protection for your applications and to get access to all the features.
- 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
|
]
|