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,72 @@
|
|
|
1
|
+
# Twelve Days
|
|
2
|
+
|
|
3
|
+
Output the lyrics to 'The Twelve Days of Christmas'.
|
|
4
|
+
|
|
5
|
+
```
|
|
6
|
+
On the first day of Christmas my true love gave to me, a Partridge in a Pear Tree.
|
|
7
|
+
|
|
8
|
+
On the second day of Christmas my true love gave to me, two Turtle Doves, and a Partridge in a Pear Tree.
|
|
9
|
+
|
|
10
|
+
On the third day of Christmas my true love gave to me, three French Hens, two Turtle Doves, and a Partridge in a Pear Tree.
|
|
11
|
+
|
|
12
|
+
On the fourth day of Christmas my true love gave to me, four Calling Birds, three French Hens, two Turtle Doves, and a Partridge in a Pear Tree.
|
|
13
|
+
|
|
14
|
+
On the fifth day of Christmas my true love gave to me, five Gold Rings, four Calling Birds, three French Hens, two Turtle Doves, and a Partridge in a Pear Tree.
|
|
15
|
+
|
|
16
|
+
On the sixth day of Christmas my true love gave to me, six Geese-a-Laying, five Gold Rings, four Calling Birds, three French Hens, two Turtle Doves, and a Partridge in a Pear Tree.
|
|
17
|
+
|
|
18
|
+
On the seventh day of Christmas my true love gave to me, seven Swans-a-Swimming, six Geese-a-Laying, five Gold Rings, four Calling Birds, three French Hens, two Turtle Doves, and a Partridge in a Pear Tree.
|
|
19
|
+
|
|
20
|
+
On the eighth day of Christmas my true love gave to me, eight Maids-a-Milking, seven Swans-a-Swimming, six Geese-a-Laying, five Gold Rings, four Calling Birds, three French Hens, two Turtle Doves, and a Partridge in a Pear Tree.
|
|
21
|
+
|
|
22
|
+
On the ninth day of Christmas my true love gave to me, nine Ladies Dancing, eight Maids-a-Milking, seven Swans-a-Swimming, six Geese-a-Laying, five Gold Rings, four Calling Birds, three French Hens, two Turtle Doves, and a Partridge in a Pear Tree.
|
|
23
|
+
|
|
24
|
+
On the tenth day of Christmas my true love gave to me, ten Lords-a-Leaping, nine Ladies Dancing, eight Maids-a-Milking, seven Swans-a-Swimming, six Geese-a-Laying, five Gold Rings, four Calling Birds, three French Hens, two Turtle Doves, and a Partridge in a Pear Tree.
|
|
25
|
+
|
|
26
|
+
On the eleventh day of Christmas my true love gave to me, eleven Pipers Piping, ten Lords-a-Leaping, nine Ladies Dancing, eight Maids-a-Milking, seven Swans-a-Swimming, six Geese-a-Laying, five Gold Rings, four Calling Birds, three French Hens, two Turtle Doves, and a Partridge in a Pear Tree.
|
|
27
|
+
|
|
28
|
+
On the twelfth day of Christmas my true love gave to me, twelve Drummers Drumming, eleven Pipers Piping, ten Lords-a-Leaping, nine Ladies Dancing, eight Maids-a-Milking, seven Swans-a-Swimming, six Geese-a-Laying, five Gold Rings, four Calling Birds, three French Hens, two Turtle Doves, and a Partridge in a Pear Tree.
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
## Running tests
|
|
32
|
+
|
|
33
|
+
Execute the tests with:
|
|
34
|
+
|
|
35
|
+
```bash
|
|
36
|
+
$ elixir bob_test.exs
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
(Replace `bob_test.exs` with the name of the test file.)
|
|
40
|
+
|
|
41
|
+
### Pending tests
|
|
42
|
+
|
|
43
|
+
In the test suites, all but the first test have been skipped.
|
|
44
|
+
|
|
45
|
+
Once you get a test passing, you can unskip the next one by
|
|
46
|
+
commenting out the relevant `@tag :pending` with a `#` symbol.
|
|
47
|
+
|
|
48
|
+
For example:
|
|
49
|
+
|
|
50
|
+
```elixir
|
|
51
|
+
# @tag :pending
|
|
52
|
+
test "shouting" do
|
|
53
|
+
assert Bob.hey("WATCH OUT!") == "Whoa, chill out!"
|
|
54
|
+
end
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
Or, you can enable all the tests by commenting out the
|
|
58
|
+
`ExUnit.configure` line in the test suite.
|
|
59
|
+
|
|
60
|
+
```elixir
|
|
61
|
+
# ExUnit.configure exclude: :pending, trace: true
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
For more detailed information about the Elixir track, please
|
|
65
|
+
see the [help page](http://exercism.io/languages/elixir).
|
|
66
|
+
|
|
67
|
+
## Source
|
|
68
|
+
|
|
69
|
+
Wikipedia [http://en.wikipedia.org/wiki/The_Twelve_Days_of_Christmas_(song)](http://en.wikipedia.org/wiki/The_Twelve_Days_of_Christmas_(song))
|
|
70
|
+
|
|
71
|
+
## Submitting Incomplete Solutions
|
|
72
|
+
It's possible to submit an incomplete solution so you can see how others have completed the exercise.
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
# Word Count
|
|
2
|
+
|
|
3
|
+
Given a phrase, count the occurrences of each word in that phrase.
|
|
4
|
+
|
|
5
|
+
For example for the input `"olly olly in come free"`
|
|
6
|
+
|
|
7
|
+
```plain
|
|
8
|
+
olly: 2
|
|
9
|
+
in: 1
|
|
10
|
+
come: 1
|
|
11
|
+
free: 1
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
## Running tests
|
|
16
|
+
|
|
17
|
+
Execute the tests with:
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
$ elixir bob_test.exs
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
(Replace `bob_test.exs` with the name of the test file.)
|
|
24
|
+
|
|
25
|
+
### Pending tests
|
|
26
|
+
|
|
27
|
+
In the test suites, all but the first test have been skipped.
|
|
28
|
+
|
|
29
|
+
Once you get a test passing, you can unskip the next one by
|
|
30
|
+
commenting out the relevant `@tag :pending` with a `#` symbol.
|
|
31
|
+
|
|
32
|
+
For example:
|
|
33
|
+
|
|
34
|
+
```elixir
|
|
35
|
+
# @tag :pending
|
|
36
|
+
test "shouting" do
|
|
37
|
+
assert Bob.hey("WATCH OUT!") == "Whoa, chill out!"
|
|
38
|
+
end
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
Or, you can enable all the tests by commenting out the
|
|
42
|
+
`ExUnit.configure` line in the test suite.
|
|
43
|
+
|
|
44
|
+
```elixir
|
|
45
|
+
# ExUnit.configure exclude: :pending, trace: true
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
For more detailed information about the Elixir track, please
|
|
49
|
+
see the [help page](http://exercism.io/languages/elixir).
|
|
50
|
+
|
|
51
|
+
## Source
|
|
52
|
+
|
|
53
|
+
This is a classic toy problem, but we were reminded of it by seeing it in the Go Tour.
|
|
54
|
+
|
|
55
|
+
## Submitting Incomplete Solutions
|
|
56
|
+
It's possible to submit an incomplete solution so you can see how others have completed the exercise.
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
# Wordy
|
|
2
|
+
|
|
3
|
+
Parse and evaluate simple math word problems returning the answer as an integer.
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
## Iteration 1 — Addition
|
|
7
|
+
|
|
8
|
+
Add two numbers together.
|
|
9
|
+
|
|
10
|
+
> What is 5 plus 13?
|
|
11
|
+
|
|
12
|
+
Evaluates to 18.
|
|
13
|
+
|
|
14
|
+
Handle large numbers and negative numbers.
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
## Iteration 2 — Subtraction, Multiplication and Division
|
|
18
|
+
|
|
19
|
+
Now, perform the other three operations.
|
|
20
|
+
|
|
21
|
+
> What is 7 minus 5?
|
|
22
|
+
|
|
23
|
+
2
|
|
24
|
+
|
|
25
|
+
> What is 6 multiplied by 4?
|
|
26
|
+
|
|
27
|
+
24
|
|
28
|
+
|
|
29
|
+
> What is 25 divided by 5?
|
|
30
|
+
|
|
31
|
+
5
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
## Iteration 3 — Multiple Operations
|
|
35
|
+
|
|
36
|
+
Handle a set of operations, in sequence.
|
|
37
|
+
|
|
38
|
+
Since these are verbal word problems, evaluate the expression from
|
|
39
|
+
left-to-right, _ignoring the typical order of operations._
|
|
40
|
+
|
|
41
|
+
> What is 5 plus 13 plus 6?
|
|
42
|
+
|
|
43
|
+
24
|
|
44
|
+
|
|
45
|
+
> What is 3 plus 2 multiplied by 3?
|
|
46
|
+
|
|
47
|
+
15 (i.e. not 9)
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
## Bonus — Exponentials
|
|
51
|
+
|
|
52
|
+
If you'd like, handle exponentials.
|
|
53
|
+
|
|
54
|
+
> What is 2 raised to the 5th power?
|
|
55
|
+
|
|
56
|
+
32
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
## Running tests
|
|
60
|
+
|
|
61
|
+
Execute the tests with:
|
|
62
|
+
|
|
63
|
+
```bash
|
|
64
|
+
$ elixir bob_test.exs
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
(Replace `bob_test.exs` with the name of the test file.)
|
|
68
|
+
|
|
69
|
+
### Pending tests
|
|
70
|
+
|
|
71
|
+
In the test suites, all but the first test have been skipped.
|
|
72
|
+
|
|
73
|
+
Once you get a test passing, you can unskip the next one by
|
|
74
|
+
commenting out the relevant `@tag :pending` with a `#` symbol.
|
|
75
|
+
|
|
76
|
+
For example:
|
|
77
|
+
|
|
78
|
+
```elixir
|
|
79
|
+
# @tag :pending
|
|
80
|
+
test "shouting" do
|
|
81
|
+
assert Bob.hey("WATCH OUT!") == "Whoa, chill out!"
|
|
82
|
+
end
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
Or, you can enable all the tests by commenting out the
|
|
86
|
+
`ExUnit.configure` line in the test suite.
|
|
87
|
+
|
|
88
|
+
```elixir
|
|
89
|
+
# ExUnit.configure exclude: :pending, trace: true
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
For more detailed information about the Elixir track, please
|
|
93
|
+
see the [help page](http://exercism.io/languages/elixir).
|
|
94
|
+
|
|
95
|
+
## Source
|
|
96
|
+
|
|
97
|
+
Inspired by one of the generated questions in the Extreme Startup game. [https://github.com/rchatley/extreme_startup](https://github.com/rchatley/extreme_startup)
|
|
98
|
+
|
|
99
|
+
## Submitting Incomplete Solutions
|
|
100
|
+
It's possible to submit an incomplete solution so you can see how others have completed the exercise.
|
|
@@ -0,0 +1,68 @@
|
|
|
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
|
+
## Running tests
|
|
31
|
+
|
|
32
|
+
Execute the tests with:
|
|
33
|
+
|
|
34
|
+
```bash
|
|
35
|
+
$ elixir bob_test.exs
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
(Replace `bob_test.exs` with the name of the test file.)
|
|
39
|
+
|
|
40
|
+
### Pending tests
|
|
41
|
+
|
|
42
|
+
In the test suites, all but the first test have been skipped.
|
|
43
|
+
|
|
44
|
+
Once you get a test passing, you can unskip the next one by
|
|
45
|
+
commenting out the relevant `@tag :pending` with a `#` symbol.
|
|
46
|
+
|
|
47
|
+
For example:
|
|
48
|
+
|
|
49
|
+
```elixir
|
|
50
|
+
# @tag :pending
|
|
51
|
+
test "shouting" do
|
|
52
|
+
assert Bob.hey("WATCH OUT!") == "Whoa, chill out!"
|
|
53
|
+
end
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
Or, you can enable all the tests by commenting out the
|
|
57
|
+
`ExUnit.configure` line in the test suite.
|
|
58
|
+
|
|
59
|
+
```elixir
|
|
60
|
+
# ExUnit.configure exclude: :pending, trace: true
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
For more detailed information about the Elixir track, please
|
|
64
|
+
see the [help page](http://exercism.io/languages/elixir).
|
|
65
|
+
|
|
66
|
+
|
|
67
|
+
## Submitting Incomplete Solutions
|
|
68
|
+
It's possible to submit an incomplete solution so you can see how others have completed the exercise.
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
# {{ .Spec.Name }}
|
|
2
|
+
|
|
3
|
+
{{ .Spec.Description -}}
|
|
4
|
+
{{- with .Hints }}
|
|
5
|
+
{{ . }}
|
|
6
|
+
{{ end }}
|
|
7
|
+
{{- with .TrackInsert }}
|
|
8
|
+
{{ . }}
|
|
9
|
+
{{ end }}
|
|
10
|
+
{{- with .Spec.Credits -}}
|
|
11
|
+
## Source
|
|
12
|
+
|
|
13
|
+
{{ . }}
|
|
14
|
+
{{ end }}
|
|
15
|
+
## Submitting Incomplete Solutions
|
|
16
|
+
It's possible to submit an incomplete solution so you can see how others have completed the exercise.
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
# Accumulate
|
|
2
|
+
|
|
3
|
+
Implement the `accumulate` operation, which, given a collection and an
|
|
4
|
+
operation to perform on each element of the collection, returns a new
|
|
5
|
+
collection containing the result of applying that operation to each element of
|
|
6
|
+
the input collection.
|
|
7
|
+
|
|
8
|
+
Given the collection of numbers:
|
|
9
|
+
|
|
10
|
+
- 1, 2, 3, 4, 5
|
|
11
|
+
|
|
12
|
+
And the operation:
|
|
13
|
+
|
|
14
|
+
- square a number (`x => x * x`)
|
|
15
|
+
|
|
16
|
+
Your code should be able to produce the collection of squares:
|
|
17
|
+
|
|
18
|
+
- 1, 4, 9, 16, 25
|
|
19
|
+
|
|
20
|
+
Check out the test suite to see the expected function signature.
|
|
21
|
+
|
|
22
|
+
## Restrictions
|
|
23
|
+
|
|
24
|
+
Keep your hands off that collect/map/fmap/whatchamacallit functionality
|
|
25
|
+
provided by your standard library!
|
|
26
|
+
Solve this one yourself using other basic tools instead.
|
|
27
|
+
|
|
28
|
+
Lisp specific: it's perfectly fine to use `MAPCAR` or the equivalent,
|
|
29
|
+
as this is idiomatic Lisp, not a library function.
|
|
30
|
+
|
|
31
|
+
## Hints
|
|
32
|
+
For this exercise the following F# feature comes in handy:
|
|
33
|
+
- [Tail recursion](https://blogs.msdn.microsoft.com/fsharpteam/2011/07/08/tail-calls-in-f/) Prevent stack overflows with large input by using tail recursion. While there are no test cases checking explicitly for this, using tail recursion leads to a more performant solution. Another good resource on tail recursion is [this blog post](http://blog.ploeh.dk/2015/12/22/tail-recurse/).
|
|
34
|
+
|
|
35
|
+
## Source
|
|
36
|
+
|
|
37
|
+
Conversation with James Edward Gray II [https://twitter.com/jeg2](https://twitter.com/jeg2)
|
|
38
|
+
|
|
39
|
+
## Submitting Incomplete Solutions
|
|
40
|
+
It's possible to submit an incomplete solution so you can see how others have completed the exercise.
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# Acronym
|
|
2
|
+
|
|
3
|
+
Convert a phrase to its acronym.
|
|
4
|
+
|
|
5
|
+
Techies love their TLA (Three Letter Acronyms)!
|
|
6
|
+
|
|
7
|
+
Help generate some jargon by writing a program that converts a long name
|
|
8
|
+
like Portable Network Graphics to its acronym (PNG).
|
|
9
|
+
|
|
10
|
+
## Source
|
|
11
|
+
|
|
12
|
+
Julien Vanier [https://github.com/monkbroc](https://github.com/monkbroc)
|
|
13
|
+
|
|
14
|
+
## Submitting Incomplete Solutions
|
|
15
|
+
It's possible to submit an incomplete solution so you can see how others have completed the exercise.
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
# All Your Base
|
|
2
|
+
|
|
3
|
+
Convert a number, represented as a sequence of digits in one base, to any other base.
|
|
4
|
+
|
|
5
|
+
Implement general base conversion. Given a number in base **a**,
|
|
6
|
+
represented as a sequence of digits, convert it to base **b**.
|
|
7
|
+
|
|
8
|
+
## Note
|
|
9
|
+
- Try to implement the conversion yourself.
|
|
10
|
+
Do not use something else to perform the conversion for you.
|
|
11
|
+
|
|
12
|
+
## About [Positional Notation](https://en.wikipedia.org/wiki/Positional_notation)
|
|
13
|
+
|
|
14
|
+
In positional notation, a number in base **b** can be understood as a linear
|
|
15
|
+
combination of powers of **b**.
|
|
16
|
+
|
|
17
|
+
The number 42, *in base 10*, means:
|
|
18
|
+
|
|
19
|
+
(4 * 10^1) + (2 * 10^0)
|
|
20
|
+
|
|
21
|
+
The number 101010, *in base 2*, means:
|
|
22
|
+
|
|
23
|
+
(1 * 2^5) + (0 * 2^4) + (1 * 2^3) + (0 * 2^2) + (1 * 2^1) + (0 * 2^0)
|
|
24
|
+
|
|
25
|
+
The number 1120, *in base 3*, means:
|
|
26
|
+
|
|
27
|
+
(1 * 3^3) + (1 * 3^2) + (2 * 3^1) + (0 * 3^0)
|
|
28
|
+
|
|
29
|
+
I think you got the idea!
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
*Yes. Those three numbers above are exactly the same. Congratulations!*
|
|
33
|
+
|
|
34
|
+
## Submitting Incomplete Solutions
|
|
35
|
+
It's possible to submit an incomplete solution so you can see how others have completed the exercise.
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# Allergies
|
|
2
|
+
|
|
3
|
+
Given a person's allergy score, determine whether or not they're allergic to a given item, and their full list of allergies.
|
|
4
|
+
|
|
5
|
+
An allergy test produces a single numeric score which contains the
|
|
6
|
+
information about all the allergies the person has (that they were
|
|
7
|
+
tested for).
|
|
8
|
+
|
|
9
|
+
The list of items (and their value) that were tested are:
|
|
10
|
+
|
|
11
|
+
* eggs (1)
|
|
12
|
+
* peanuts (2)
|
|
13
|
+
* shellfish (4)
|
|
14
|
+
* strawberries (8)
|
|
15
|
+
* tomatoes (16)
|
|
16
|
+
* chocolate (32)
|
|
17
|
+
* pollen (64)
|
|
18
|
+
* cats (128)
|
|
19
|
+
|
|
20
|
+
So if Tom is allergic to peanuts and chocolate, he gets a score of 34.
|
|
21
|
+
|
|
22
|
+
Now, given just that score of 34, your program should be able to say:
|
|
23
|
+
|
|
24
|
+
- Whether Tom is allergic to any one of those allergens listed above.
|
|
25
|
+
- All the allergens Tom is allergic to.
|
|
26
|
+
|
|
27
|
+
Note: a given score may include allergens **not** listed above (i.e.
|
|
28
|
+
allergens that score 256, 512, 1024, etc.). Your program should
|
|
29
|
+
ignore those components of the score. For example, if the allergy
|
|
30
|
+
score is 257, your program should only report the eggs (1) allergy.
|
|
31
|
+
|
|
32
|
+
## Source
|
|
33
|
+
|
|
34
|
+
Jumpstart Lab Warm-up [http://jumpstartlab.com](http://jumpstartlab.com)
|
|
35
|
+
|
|
36
|
+
## Submitting Incomplete Solutions
|
|
37
|
+
It's possible to submit an incomplete solution so you can see how others have completed the exercise.
|