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,52 @@
|
|
|
1
|
+
# Pov
|
|
2
|
+
|
|
3
|
+
Reparent a graph on a selected node.
|
|
4
|
+
|
|
5
|
+
# Tree Reparenting
|
|
6
|
+
|
|
7
|
+
This exercise is all about re-orientating a graph to see things from a different
|
|
8
|
+
point of view. For example family trees are usually presented from the
|
|
9
|
+
ancestor's perspective:
|
|
10
|
+
|
|
11
|
+
```
|
|
12
|
+
+------0------+
|
|
13
|
+
| | |
|
|
14
|
+
+-1-+ +-2-+ +-3-+
|
|
15
|
+
| | | | | |
|
|
16
|
+
4 5 6 7 8 9
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
But the same information can be presented from the perspective of any other node
|
|
20
|
+
in the graph, by pulling it up to the root and dragging its relationships along
|
|
21
|
+
with it. So the same graph from 6's perspective would look like:
|
|
22
|
+
|
|
23
|
+
```
|
|
24
|
+
6
|
|
25
|
+
|
|
|
26
|
+
+-----2-----+
|
|
27
|
+
| |
|
|
28
|
+
7 +-----0-----+
|
|
29
|
+
| |
|
|
30
|
+
+-1-+ +-3-+
|
|
31
|
+
| | | |
|
|
32
|
+
4 5 8 9
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
This lets us more simply describe the paths between two nodes. So for example
|
|
36
|
+
the path from 6-9 (which in the first graph goes up to the root and then down to
|
|
37
|
+
a different leaf node) can be seen to follow the path 6-2-0-3-9
|
|
38
|
+
|
|
39
|
+
This exercise involves taking an input graph and re-orientating it from the point
|
|
40
|
+
of view of one of the nodes.
|
|
41
|
+
|
|
42
|
+
### Submitting Exercises
|
|
43
|
+
|
|
44
|
+
Note that, when trying to submit an exercise, make sure you're exercise file you're submitting is in the `exercism/csharp/<exerciseName>` directory.
|
|
45
|
+
|
|
46
|
+
For example, if you're submitting `bob.cs` for the Bob exercise, the submit command would be something like `exercism submit <path_to_exercism_dir>/csharp/bob/bob.cs`.
|
|
47
|
+
## Source
|
|
48
|
+
|
|
49
|
+
Adaptation of exercise from 4clojure [https://www.4clojure.com/](https://www.4clojure.com/)
|
|
50
|
+
|
|
51
|
+
## Submitting Incomplete Solutions
|
|
52
|
+
It's possible to submit an incomplete solution so you can see how others have completed the exercise.
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
# Prime Factors
|
|
2
|
+
|
|
3
|
+
Compute the prime factors of a given natural number.
|
|
4
|
+
|
|
5
|
+
A prime number is only evenly divisible by itself and 1.
|
|
6
|
+
|
|
7
|
+
Note that 1 is not a prime number.
|
|
8
|
+
|
|
9
|
+
## Example
|
|
10
|
+
|
|
11
|
+
What are the prime factors of 60?
|
|
12
|
+
|
|
13
|
+
- Our first divisor is 2. 2 goes into 60, leaving 30.
|
|
14
|
+
- 2 goes into 30, leaving 15.
|
|
15
|
+
- 2 doesn't go cleanly into 15. So let's move on to our next divisor, 3.
|
|
16
|
+
- 3 goes cleanly into 15, leaving 5.
|
|
17
|
+
- 3 does not go cleanly into 5. The next possible factor is 4.
|
|
18
|
+
- 4 does not go cleanly into 5. The next possible factor is 5.
|
|
19
|
+
- 5 does go cleanly into 5.
|
|
20
|
+
- We're left only with 1, so now, we're done.
|
|
21
|
+
|
|
22
|
+
Our successful divisors in that computation represent the list of prime
|
|
23
|
+
factors of 60: 2, 2, 3, and 5.
|
|
24
|
+
|
|
25
|
+
You can check this yourself:
|
|
26
|
+
|
|
27
|
+
- 2 * 2 * 3 * 5
|
|
28
|
+
- = 4 * 15
|
|
29
|
+
- = 60
|
|
30
|
+
- Success!
|
|
31
|
+
|
|
32
|
+
### Submitting Exercises
|
|
33
|
+
|
|
34
|
+
Note that, when trying to submit an exercise, make sure you're exercise file you're submitting is in the `exercism/csharp/<exerciseName>` directory.
|
|
35
|
+
|
|
36
|
+
For example, if you're submitting `bob.cs` for the Bob exercise, the submit command would be something like `exercism submit <path_to_exercism_dir>/csharp/bob/bob.cs`.
|
|
37
|
+
## Source
|
|
38
|
+
|
|
39
|
+
The Prime Factors Kata by Uncle Bob [http://butunclebob.com/ArticleS.UncleBob.ThePrimeFactorsKata](http://butunclebob.com/ArticleS.UncleBob.ThePrimeFactorsKata)
|
|
40
|
+
|
|
41
|
+
## Submitting Incomplete Solutions
|
|
42
|
+
It's possible to submit an incomplete solution so you can see how others have completed the exercise.
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
# Protein Translation
|
|
2
|
+
|
|
3
|
+
Translate RNA sequences into proteins.
|
|
4
|
+
|
|
5
|
+
RNA can be broken into three nucleotide sequences called codons, and then translated to a polypeptide like so:
|
|
6
|
+
|
|
7
|
+
RNA: `"AUGUUUUCU"` => translates to
|
|
8
|
+
|
|
9
|
+
Codons: `"AUG", "UUU", "UCU"`
|
|
10
|
+
=> which become a polypeptide with the following sequence =>
|
|
11
|
+
|
|
12
|
+
Protein: `"Methionine", "Phenylalanine", "Serine"`
|
|
13
|
+
|
|
14
|
+
There are 64 codons which in turn correspond to 20 amino acids; however, all of the codon sequences and resulting amino acids are not important in this exercise. If it works for one codon, the program should work for all of them.
|
|
15
|
+
However, feel free to expand the list in the test suite to include them all.
|
|
16
|
+
|
|
17
|
+
There are also four terminating codons (also known as 'STOP' codons); if any of these codons are encountered (by the ribosome), all translation ends and the protein is terminated.
|
|
18
|
+
|
|
19
|
+
All subsequent codons after are ignored, like this:
|
|
20
|
+
|
|
21
|
+
RNA: `"AUGUUUUCUUAAAUG"` =>
|
|
22
|
+
|
|
23
|
+
Codons: `"AUG", "UUU", "UCU", "UAG", "AUG"` =>
|
|
24
|
+
|
|
25
|
+
Protein: `"Methionine", "Phenylalanine", "Serine"`
|
|
26
|
+
|
|
27
|
+
Note the stop codon terminates the translation and the final methionine is not translated into the protein sequence.
|
|
28
|
+
|
|
29
|
+
Below are the codons and resulting Amino Acids needed for the exercise.
|
|
30
|
+
|
|
31
|
+
Codon | Protein
|
|
32
|
+
:--- | :---
|
|
33
|
+
AUG | Methionine
|
|
34
|
+
UUU, UUC | Phenylalanine
|
|
35
|
+
UUA, UUG | Leucine
|
|
36
|
+
UCU, UCC, UCA, UCG | Serine
|
|
37
|
+
UAU, UAC | Tyrosine
|
|
38
|
+
UGU, UGC | Cysteine
|
|
39
|
+
UGG | Tryptophan
|
|
40
|
+
UAA, UAG, UGA | STOP
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
Learn more about [protein translation on Wikipedia](http://en.wikipedia.org/wiki/Translation_(biology))
|
|
44
|
+
|
|
45
|
+
### Submitting Exercises
|
|
46
|
+
|
|
47
|
+
Note that, when trying to submit an exercise, make sure you're exercise file you're submitting is in the `exercism/csharp/<exerciseName>` directory.
|
|
48
|
+
|
|
49
|
+
For example, if you're submitting `bob.cs` for the Bob exercise, the submit command would be something like `exercism submit <path_to_exercism_dir>/csharp/bob/bob.cs`.
|
|
50
|
+
## Source
|
|
51
|
+
|
|
52
|
+
Tyler Long
|
|
53
|
+
|
|
54
|
+
## Submitting Incomplete Solutions
|
|
55
|
+
It's possible to submit an incomplete solution so you can see how others have completed the exercise.
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# Proverb
|
|
2
|
+
|
|
3
|
+
For want of a horseshoe nail, a kingdom was lost, or so the saying goes. Output
|
|
4
|
+
the full text of this proverbial rhyme:
|
|
5
|
+
|
|
6
|
+
> For want of a nail the shoe was lost.
|
|
7
|
+
> For want of a shoe the horse was lost.
|
|
8
|
+
> For want of a horse the rider was lost.
|
|
9
|
+
> For want of a rider the message was lost.
|
|
10
|
+
> For want of a message the battle was lost.
|
|
11
|
+
> For want of a battle the kingdom was lost.
|
|
12
|
+
> And all for the want of a horseshoe nail.
|
|
13
|
+
|
|
14
|
+
## HINTS
|
|
15
|
+
|
|
16
|
+
Try to capture the structure of the song in your code, where you build up the song by composing its parts.
|
|
17
|
+
|
|
18
|
+
### Submitting Exercises
|
|
19
|
+
|
|
20
|
+
Note that, when trying to submit an exercise, make sure you're exercise file you're submitting is in the `exercism/csharp/<exerciseName>` directory.
|
|
21
|
+
|
|
22
|
+
For example, if you're submitting `bob.cs` for the Bob exercise, the submit command would be something like `exercism submit <path_to_exercism_dir>/csharp/bob/bob.cs`.
|
|
23
|
+
## Source
|
|
24
|
+
|
|
25
|
+
Wikipedia [http://en.wikipedia.org/wiki/For_Want_of_a_Nail](http://en.wikipedia.org/wiki/For_Want_of_a_Nail)
|
|
26
|
+
|
|
27
|
+
## Submitting Incomplete Solutions
|
|
28
|
+
It's possible to submit an incomplete solution so you can see how others have completed the exercise.
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# Pythagorean Triplet
|
|
2
|
+
|
|
3
|
+
A Pythagorean triplet is a set of three natural numbers, {a, b, c}, for
|
|
4
|
+
which,
|
|
5
|
+
|
|
6
|
+
```
|
|
7
|
+
a**2 + b**2 = c**2
|
|
8
|
+
```
|
|
9
|
+
|
|
10
|
+
For example,
|
|
11
|
+
|
|
12
|
+
```
|
|
13
|
+
3**2 + 4**2 = 9 + 16 = 25 = 5**2.
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
There exists exactly one Pythagorean triplet for which a + b + c = 1000.
|
|
17
|
+
|
|
18
|
+
Find the product a * b * c.
|
|
19
|
+
|
|
20
|
+
### Submitting Exercises
|
|
21
|
+
|
|
22
|
+
Note that, when trying to submit an exercise, make sure you're exercise file you're submitting is in the `exercism/csharp/<exerciseName>` directory.
|
|
23
|
+
|
|
24
|
+
For example, if you're submitting `bob.cs` for the Bob exercise, the submit command would be something like `exercism submit <path_to_exercism_dir>/csharp/bob/bob.cs`.
|
|
25
|
+
## Source
|
|
26
|
+
|
|
27
|
+
Problem 9 at Project Euler [http://projecteuler.net/problem=9](http://projecteuler.net/problem=9)
|
|
28
|
+
|
|
29
|
+
## Submitting Incomplete Solutions
|
|
30
|
+
It's possible to submit an incomplete solution so you can see how others have completed the exercise.
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# Queen Attack
|
|
2
|
+
|
|
3
|
+
Given the position of two queens on a chess board, indicate whether or not they
|
|
4
|
+
are positioned so that they can attack each other.
|
|
5
|
+
|
|
6
|
+
In the game of chess, a queen can attack pieces which are on the same
|
|
7
|
+
row, column, or diagonal.
|
|
8
|
+
|
|
9
|
+
A chessboard can be represented by an 8 by 8 array.
|
|
10
|
+
|
|
11
|
+
So if you're told the white queen is at (2, 3) and the black queen at
|
|
12
|
+
(5, 6), then you'd know you've got a set-up like so:
|
|
13
|
+
|
|
14
|
+
```plain
|
|
15
|
+
_ _ _ _ _ _ _ _
|
|
16
|
+
_ _ _ _ _ _ _ _
|
|
17
|
+
_ _ _ W _ _ _ _
|
|
18
|
+
_ _ _ _ _ _ _ _
|
|
19
|
+
_ _ _ _ _ _ _ _
|
|
20
|
+
_ _ _ _ _ _ B _
|
|
21
|
+
_ _ _ _ _ _ _ _
|
|
22
|
+
_ _ _ _ _ _ _ _
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
You'd also be able to answer whether the queens can attack each other.
|
|
26
|
+
In this case, that answer would be yes, they can, because both pieces
|
|
27
|
+
share a diagonal.
|
|
28
|
+
|
|
29
|
+
### Submitting Exercises
|
|
30
|
+
|
|
31
|
+
Note that, when trying to submit an exercise, make sure you're exercise file you're submitting is in the `exercism/csharp/<exerciseName>` directory.
|
|
32
|
+
|
|
33
|
+
For example, if you're submitting `bob.cs` for the Bob exercise, the submit command would be something like `exercism submit <path_to_exercism_dir>/csharp/bob/bob.cs`.
|
|
34
|
+
## Source
|
|
35
|
+
|
|
36
|
+
J Dalbey's Programming Practice problems [http://users.csc.calpoly.edu/~jdalbey/103/Projects/ProgrammingPractice.html](http://users.csc.calpoly.edu/~jdalbey/103/Projects/ProgrammingPractice.html)
|
|
37
|
+
|
|
38
|
+
## Submitting Incomplete Solutions
|
|
39
|
+
It's possible to submit an incomplete solution so you can see how others have completed the exercise.
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
# Rail Fence Cipher
|
|
2
|
+
|
|
3
|
+
Implement encoding and decoding for the rail fence cipher.
|
|
4
|
+
|
|
5
|
+
The Rail Fence cipher is a form of transposition cipher that gets its name from
|
|
6
|
+
the way in which it's encoded. It was already used by the ancient Greeks.
|
|
7
|
+
|
|
8
|
+
In the Rail Fence cipher, the message is written downwards on successive "rails"
|
|
9
|
+
of an imaginary fence, then moving up when we get to the bottom (like a zig-zag).
|
|
10
|
+
Finally the message is then read off in rows.
|
|
11
|
+
|
|
12
|
+
For example, using three "rails" and the message "WE ARE DISCOVERED FLEE AT ONCE",
|
|
13
|
+
the cipherer writes out:
|
|
14
|
+
```
|
|
15
|
+
W . . . E . . . C . . . R . . . L . . . T . . . E
|
|
16
|
+
. E . R . D . S . O . E . E . F . E . A . O . C .
|
|
17
|
+
. . A . . . I . . . V . . . D . . . E . . . N . .
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
Then reads off:
|
|
21
|
+
```
|
|
22
|
+
WECRLTEERDSOEEFEAOCAIVDEN
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
To decrypt a message you take the zig-zag shape and fill the ciphertext along the rows.
|
|
27
|
+
```
|
|
28
|
+
? . . . ? . . . ? . . . ? . . . ? . . . ? . . . ?
|
|
29
|
+
. ? . ? . ? . ? . ? . ? . ? . ? . ? . ? . ? . ? .
|
|
30
|
+
. . ? . . . ? . . . ? . . . ? . . . ? . . . ? . .
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
The first row has seven spots that can be filled with "WECRLTE".
|
|
34
|
+
```
|
|
35
|
+
W . . . E . . . C . . . R . . . L . . . T . . . E
|
|
36
|
+
. ? . ? . ? . ? . ? . ? . ? . ? . ? . ? . ? . ? .
|
|
37
|
+
. . ? . . . ? . . . ? . . . ? . . . ? . . . ? . .
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
Now the 2nd row takes "ERDSOEEFEAOC".
|
|
41
|
+
```
|
|
42
|
+
W . . . E . . . C . . . R . . . L . . . T . . . E
|
|
43
|
+
. E . R . D . S . O . E . E . F . E . A . O . C .
|
|
44
|
+
. . ? . . . ? . . . ? . . . ? . . . ? . . . ? . .
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
Leaving "AIVDEN" for the last row.
|
|
48
|
+
```
|
|
49
|
+
W . . . E . . . C . . . R . . . L . . . T . . . E
|
|
50
|
+
. E . R . D . S . O . E . E . F . E . A . O . C .
|
|
51
|
+
. . A . . . I . . . V . . . D . . . E . . . N . .
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
If you now read along the zig-zag shape you can read the original message.
|
|
55
|
+
|
|
56
|
+
### Submitting Exercises
|
|
57
|
+
|
|
58
|
+
Note that, when trying to submit an exercise, make sure you're exercise file you're submitting is in the `exercism/csharp/<exerciseName>` directory.
|
|
59
|
+
|
|
60
|
+
For example, if you're submitting `bob.cs` for the Bob exercise, the submit command would be something like `exercism submit <path_to_exercism_dir>/csharp/bob/bob.cs`.
|
|
61
|
+
## Source
|
|
62
|
+
|
|
63
|
+
Wikipedia [https://en.wikipedia.org/wiki/Transposition_cipher#Rail_Fence_cipher](https://en.wikipedia.org/wiki/Transposition_cipher#Rail_Fence_cipher)
|
|
64
|
+
|
|
65
|
+
## Submitting Incomplete Solutions
|
|
66
|
+
It's possible to submit an incomplete solution so you can see how others have completed the exercise.
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# Raindrops
|
|
2
|
+
|
|
3
|
+
Convert a number to a string, the contents of which depend on the number's factors.
|
|
4
|
+
|
|
5
|
+
- If the number has 3 as a factor, output 'Pling'.
|
|
6
|
+
- If the number has 5 as a factor, output 'Plang'.
|
|
7
|
+
- If the number has 7 as a factor, output 'Plong'.
|
|
8
|
+
- If the number does not have 3, 5, or 7 as a factor,
|
|
9
|
+
just pass the number's digits straight through.
|
|
10
|
+
|
|
11
|
+
## Examples
|
|
12
|
+
|
|
13
|
+
- 28's factors are 1, 2, 4, **7**, 14, 28.
|
|
14
|
+
- In raindrop-speak, this would be a simple "Plong".
|
|
15
|
+
- 30's factors are 1, 2, **3**, **5**, 6, 10, 15, 30.
|
|
16
|
+
- In raindrop-speak, this would be a "PlingPlang".
|
|
17
|
+
- 34 has four factors: 1, 2, 17, and 34.
|
|
18
|
+
- In raindrop-speak, this would be "34".
|
|
19
|
+
|
|
20
|
+
### Submitting Exercises
|
|
21
|
+
|
|
22
|
+
Note that, when trying to submit an exercise, make sure you're exercise file you're submitting is in the `exercism/csharp/<exerciseName>` directory.
|
|
23
|
+
|
|
24
|
+
For example, if you're submitting `bob.cs` for the Bob exercise, the submit command would be something like `exercism submit <path_to_exercism_dir>/csharp/bob/bob.cs`.
|
|
25
|
+
## Source
|
|
26
|
+
|
|
27
|
+
A variation on a famous interview question intended to weed out potential candidates. [http://jumpstartlab.com](http://jumpstartlab.com)
|
|
28
|
+
|
|
29
|
+
## Submitting Incomplete Solutions
|
|
30
|
+
It's possible to submit an incomplete solution so you can see how others have completed the exercise.
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# React
|
|
2
|
+
|
|
3
|
+
Implement a basic reactive system.
|
|
4
|
+
|
|
5
|
+
Reactive programming is a programming paradigm that focuses on how values
|
|
6
|
+
are computed in terms of each other to allow a change to one value to
|
|
7
|
+
automatically propagate to other values, like in a spreadsheet.
|
|
8
|
+
|
|
9
|
+
Implement a basic reactive system with cells with settable values ("input"
|
|
10
|
+
cells) and cells with values computed in terms of other cells ("compute"
|
|
11
|
+
cells). Implement updates so that when an input value is changed, values
|
|
12
|
+
propagate to reach a new stable system state.
|
|
13
|
+
|
|
14
|
+
In addition, compute cells should allow for registering change notification
|
|
15
|
+
callbacks. Call a cell’s callbacks when the cell’s value in a new stable
|
|
16
|
+
state has changed from the previous stable state.
|
|
17
|
+
|
|
18
|
+
## Hints
|
|
19
|
+
In this exercise the following C# feature is used:
|
|
20
|
+
- [Events](https://msdn.microsoft.com/en-us/library/9aackb16(v=vs.110).aspx).
|
|
21
|
+
|
|
22
|
+
### Submitting Exercises
|
|
23
|
+
|
|
24
|
+
Note that, when trying to submit an exercise, make sure you're exercise file you're submitting is in the `exercism/csharp/<exerciseName>` directory.
|
|
25
|
+
|
|
26
|
+
For example, if you're submitting `bob.cs` for the Bob exercise, the submit command would be something like `exercism submit <path_to_exercism_dir>/csharp/bob/bob.cs`.
|
|
27
|
+
|
|
28
|
+
## Submitting Incomplete Solutions
|
|
29
|
+
It's possible to submit an incomplete solution so you can see how others have completed the exercise.
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
# Rectangles
|
|
2
|
+
|
|
3
|
+
Count the rectangles in an ASCII diagram like the one below.
|
|
4
|
+
|
|
5
|
+
```
|
|
6
|
+
+--+
|
|
7
|
+
++ |
|
|
8
|
+
+-++--+
|
|
9
|
+
| | |
|
|
10
|
+
+--+--+
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
The above diagram contains 6 rectangles:
|
|
14
|
+
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
+-----+
|
|
19
|
+
| |
|
|
20
|
+
+-----+
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
```
|
|
24
|
+
+--+
|
|
25
|
+
| |
|
|
26
|
+
| |
|
|
27
|
+
| |
|
|
28
|
+
+--+
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
```
|
|
32
|
+
+--+
|
|
33
|
+
| |
|
|
34
|
+
+--+
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
+--+
|
|
43
|
+
| |
|
|
44
|
+
+--+
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
+--+
|
|
51
|
+
| |
|
|
52
|
+
+--+
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
++
|
|
58
|
+
++
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
You may assume that the input is always a proper rectangle (i.e. the length of
|
|
64
|
+
every line equals the length of the first line).
|
|
65
|
+
|
|
66
|
+
### Submitting Exercises
|
|
67
|
+
|
|
68
|
+
Note that, when trying to submit an exercise, make sure you're exercise file you're submitting is in the `exercism/csharp/<exerciseName>` directory.
|
|
69
|
+
|
|
70
|
+
For example, if you're submitting `bob.cs` for the Bob exercise, the submit command would be something like `exercism submit <path_to_exercism_dir>/csharp/bob/bob.cs`.
|
|
71
|
+
|
|
72
|
+
## Submitting Incomplete Solutions
|
|
73
|
+
It's possible to submit an incomplete solution so you can see how others have completed the exercise.
|