trackler 2.2.1.103 → 2.2.1.104
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/trackler/version.rb +1 -1
- data/problem-specifications/exercises/all-your-base/canonical-data.json +43 -43
- data/tracks/bash/.github/PULL_REQUEST_TEMPLATE.md +10 -0
- data/tracks/cfml/tasks/exercise_template/.meta/hints.md +1 -0
- data/tracks/csharp/config/exercise_readme.go.tmpl +4 -4
- data/tracks/csharp/exercises/accumulate/README.md +1 -5
- data/tracks/csharp/exercises/acronym/README.md +1 -3
- data/tracks/csharp/exercises/all-your-base/README.md +2 -4
- data/tracks/csharp/exercises/allergies/README.md +1 -3
- data/tracks/csharp/exercises/alphametics/README.md +3 -5
- data/tracks/csharp/exercises/anagram/README.md +1 -2
- data/tracks/csharp/exercises/armstrong-numbers/README.md +14 -1
- data/tracks/csharp/exercises/atbash-cipher/README.md +3 -3
- data/tracks/csharp/exercises/bank-account/README.md +1 -3
- data/tracks/csharp/exercises/beer-song/README.md +3 -4
- data/tracks/csharp/exercises/binary-search-tree/README.md +1 -2
- data/tracks/csharp/exercises/binary-search/README.md +1 -2
- data/tracks/csharp/exercises/binary/README.md +3 -2
- data/tracks/csharp/exercises/bob/README.md +3 -3
- data/tracks/csharp/exercises/book-store/README.md +6 -7
- data/tracks/csharp/exercises/bowling/README.md +21 -8
- data/tracks/csharp/exercises/bracket-push/README.md +1 -2
- data/tracks/csharp/exercises/change/README.md +2 -3
- data/tracks/csharp/exercises/circular-buffer/README.md +14 -8
- data/tracks/csharp/exercises/clock/README.md +1 -2
- data/tracks/csharp/exercises/collatz-conjecture/README.md +4 -4
- data/tracks/csharp/exercises/complex-numbers/README.md +1 -2
- data/tracks/csharp/exercises/connect/README.md +2 -4
- data/tracks/csharp/exercises/crypto-square/README.md +11 -10
- data/tracks/csharp/exercises/custom-set/README.md +1 -3
- data/tracks/csharp/exercises/diamond/README.md +10 -9
- data/tracks/csharp/exercises/difference-of-squares/README.md +1 -2
- data/tracks/csharp/exercises/diffie-hellman/README.md +1 -2
- data/tracks/csharp/exercises/dominoes/README.md +10 -3
- data/tracks/csharp/exercises/dot-dsl/README.md +2 -4
- data/tracks/csharp/exercises/error-handling/README.md +1 -3
- data/tracks/csharp/exercises/etl/README.md +4 -3
- data/tracks/csharp/exercises/flatten-array/README.md +2 -4
- data/tracks/csharp/exercises/food-chain/README.md +2 -3
- data/tracks/csharp/exercises/forth/README.md +1 -3
- data/tracks/csharp/exercises/gigasecond/README.md +1 -2
- data/tracks/csharp/exercises/go-counting/README.md +2 -4
- data/tracks/csharp/exercises/grade-school/README.md +1 -3
- data/tracks/csharp/exercises/grains/README.md +1 -3
- data/tracks/csharp/exercises/grep/README.md +13 -14
- data/tracks/csharp/exercises/hamming/README.md +1 -2
- data/tracks/csharp/exercises/hangman/README.md +1 -3
- data/tracks/csharp/exercises/hello-world/README.md +1 -2
- data/tracks/csharp/exercises/hexadecimal/README.md +1 -2
- data/tracks/csharp/exercises/house/README.md +3 -5
- data/tracks/csharp/exercises/isbn-verifier/README.md +34 -22
- data/tracks/csharp/exercises/isogram/README.md +3 -3
- data/tracks/csharp/exercises/kindergarten-garden/README.md +14 -15
- data/tracks/csharp/exercises/largest-series-product/README.md +1 -2
- data/tracks/csharp/exercises/leap/README.md +2 -3
- data/tracks/csharp/exercises/ledger/README.md +1 -3
- data/tracks/csharp/exercises/linked-list/README.md +11 -12
- data/tracks/csharp/exercises/list-ops/README.md +1 -3
- data/tracks/csharp/exercises/luhn/README.md +8 -9
- data/tracks/csharp/exercises/markdown/README.md +1 -3
- data/tracks/csharp/exercises/matrix/README.md +7 -6
- data/tracks/csharp/exercises/meetup/README.md +17 -15
- data/tracks/csharp/exercises/minesweeper/README.md +1 -3
- data/tracks/csharp/exercises/nth-prime/README.md +1 -2
- data/tracks/csharp/exercises/nucleotide-count/README.md +9 -24
- data/tracks/csharp/exercises/ocr-numbers/README.md +7 -8
- data/tracks/csharp/exercises/octal/README.md +7 -4
- data/tracks/csharp/exercises/palindrome-products/README.md +16 -18
- data/tracks/csharp/exercises/pangram/README.md +2 -3
- data/tracks/csharp/exercises/parallel-letter-frequency/README.md +1 -3
- data/tracks/csharp/exercises/pascals-triangle/README.md +3 -4
- data/tracks/csharp/exercises/perfect-numbers/README.md +3 -4
- data/tracks/csharp/exercises/phone-number/README.md +5 -5
- data/tracks/csharp/exercises/pig-latin/README.md +1 -2
- data/tracks/csharp/exercises/poker/README.md +1 -2
- data/tracks/csharp/exercises/pov/README.md +4 -7
- data/tracks/csharp/exercises/prime-factors/README.md +1 -2
- data/tracks/csharp/exercises/protein-translation/README.md +6 -8
- data/tracks/csharp/exercises/proverb/README.md +15 -11
- data/tracks/csharp/exercises/pythagorean-triplet/README.md +4 -5
- data/tracks/csharp/exercises/queen-attack/README.md +2 -3
- data/tracks/csharp/exercises/rail-fence-cipher/README.md +13 -9
- data/tracks/csharp/exercises/raindrops/README.md +1 -2
- data/tracks/csharp/exercises/react/README.md +1 -3
- data/tracks/csharp/exercises/rectangles/README.md +17 -19
- data/tracks/csharp/exercises/reverse-string/README.md +16 -1
- data/tracks/csharp/exercises/rna-transcription/README.md +3 -4
- data/tracks/csharp/exercises/robot-name/README.md +1 -2
- data/tracks/csharp/exercises/robot-simulator/README.md +1 -2
- data/tracks/csharp/exercises/roman-numerals/README.md +2 -3
- data/tracks/csharp/exercises/rotational-cipher/README.md +3 -3
- data/tracks/csharp/exercises/run-length-encoding/README.md +5 -6
- data/tracks/csharp/exercises/saddle-points/README.md +3 -4
- data/tracks/csharp/exercises/say/README.md +1 -2
- data/tracks/csharp/exercises/scale-generator/README.md +1 -4
- data/tracks/csharp/exercises/scrabble-score/README.md +4 -3
- data/tracks/csharp/exercises/secret-handshake/README.md +2 -3
- data/tracks/csharp/exercises/series/README.md +1 -2
- data/tracks/csharp/exercises/sgf-parsing/README.md +5 -7
- data/tracks/csharp/exercises/sieve/README.md +1 -2
- data/tracks/csharp/exercises/simple-cipher/README.md +6 -9
- data/tracks/csharp/exercises/simple-linked-list/README.md +1 -2
- data/tracks/csharp/exercises/space-age/README.md +2 -3
- data/tracks/csharp/exercises/spiral-matrix/README.md +7 -8
- data/tracks/csharp/exercises/strain/README.md +1 -2
- data/tracks/csharp/exercises/sublist/README.md +1 -3
- data/tracks/csharp/exercises/sum-of-multiples/README.md +4 -8
- data/tracks/csharp/exercises/tournament/README.md +6 -8
- data/tracks/csharp/exercises/transpose/README.md +8 -9
- data/tracks/csharp/exercises/tree-building/README.md +4 -6
- data/tracks/csharp/exercises/triangle/README.md +10 -8
- data/tracks/csharp/exercises/trinary/README.md +2 -3
- data/tracks/csharp/exercises/twelve-days/README.md +2 -3
- data/tracks/csharp/exercises/two-bucket/README.md +11 -12
- data/tracks/csharp/exercises/two-fer/README.md +8 -9
- data/tracks/csharp/exercises/variable-length-quantity/README.md +7 -9
- data/tracks/csharp/exercises/word-count/README.md +2 -4
- data/tracks/csharp/exercises/word-search/README.md +2 -4
- data/tracks/csharp/exercises/wordy/README.md +1 -7
- data/tracks/csharp/exercises/zebra-puzzle/README.md +1 -2
- data/tracks/csharp/exercises/zipper/README.md +2 -4
- data/tracks/dart/config.json +2 -2
- data/tracks/go/config/exercise_readme.go.tmpl +17 -4
- data/tracks/go/exercises/acronym/README.md +0 -1
- data/tracks/go/exercises/all-your-base/README.md +0 -1
- data/tracks/go/exercises/allergies/README.md +0 -1
- data/tracks/go/exercises/alphametics/README.md +0 -1
- data/tracks/go/exercises/atbash-cipher/README.md +2 -1
- data/tracks/go/exercises/bank-account/README.md +0 -1
- data/tracks/go/exercises/beer-song/README.md +2 -2
- data/tracks/go/exercises/binary/README.md +2 -0
- data/tracks/go/exercises/bowling/README.md +20 -6
- data/tracks/go/exercises/change/README.md +1 -1
- data/tracks/go/exercises/circular-buffer/README.md +13 -6
- data/tracks/go/exercises/collatz-conjecture/README.md +1 -1
- data/tracks/go/exercises/connect/README.md +1 -2
- data/tracks/go/exercises/counter/README.md +0 -1
- data/tracks/go/exercises/crypto-square/README.md +10 -8
- data/tracks/go/exercises/custom-set/README.md +0 -1
- data/tracks/go/exercises/diamond/README.md +6 -6
- data/tracks/go/exercises/dominoes/README.md +0 -1
- data/tracks/go/exercises/error-handling/README.md +0 -1
- data/tracks/go/exercises/etl/README.md +3 -1
- data/tracks/go/exercises/food-chain/README.md +1 -1
- data/tracks/go/exercises/forth/README.md +0 -1
- data/tracks/go/exercises/grade-school/README.md +0 -1
- data/tracks/go/exercises/grains/README.md +0 -1
- data/tracks/go/exercises/house/README.md +2 -3
- data/tracks/go/exercises/isbn-verifier/README.md +26 -21
- data/tracks/go/exercises/isogram/README.md +2 -1
- data/tracks/go/exercises/kindergarten-garden/README.md +13 -13
- data/tracks/go/exercises/leap/README.md +1 -1
- data/tracks/go/exercises/ledger/README.md +0 -1
- data/tracks/go/exercises/luhn/README.md +7 -7
- data/tracks/go/exercises/matrix/README.md +6 -4
- data/tracks/go/exercises/meetup/README.md +16 -13
- data/tracks/go/exercises/minesweeper/README.md +0 -1
- data/tracks/go/exercises/nucleotide-count/README.md +25 -17
- data/tracks/go/exercises/ocr-numbers/README.md +6 -6
- data/tracks/go/exercises/octal/README.md +6 -2
- data/tracks/go/exercises/palindrome-products/README.md +15 -16
- data/tracks/go/exercises/pangram/README.md +1 -1
- data/tracks/go/exercises/parallel-letter-frequency/README.md +0 -1
- data/tracks/go/exercises/pascals-triangle/README.md +2 -2
- data/tracks/go/exercises/pov/README.md +3 -5
- data/tracks/go/exercises/protein-translation/README.md +5 -6
- data/tracks/go/exercises/pythagorean-triplet/README.md +3 -3
- data/tracks/go/exercises/queen-attack/README.md +1 -1
- data/tracks/go/exercises/react/README.md +0 -1
- data/tracks/go/exercises/reverse-string/README.md +1 -1
- data/tracks/go/exercises/rna-transcription/README.md +2 -2
- data/tracks/go/exercises/robot-name/README.md +15 -0
- data/tracks/go/exercises/roman-numerals/README.md +1 -1
- data/tracks/go/exercises/rotational-cipher/README.md +0 -1
- data/tracks/go/exercises/run-length-encoding/README.md +21 -4
- data/tracks/go/exercises/saddle-points/README.md +2 -2
- data/tracks/go/exercises/scrabble-score/README.md +3 -1
- data/tracks/go/exercises/secret-handshake/README.md +1 -1
- data/tracks/go/exercises/simple-linked-list/README.md +1 -2
- data/tracks/go/exercises/space-age/README.md +1 -2
- data/tracks/go/exercises/spiral-matrix/README.md +1 -1
- data/tracks/go/exercises/sublist/README.md +0 -1
- data/tracks/go/exercises/sum-of-multiples/README.md +3 -6
- data/tracks/go/exercises/tournament/README.md +5 -6
- data/tracks/go/exercises/transpose/README.md +7 -7
- data/tracks/go/exercises/tree-building/README.md +3 -4
- data/tracks/go/exercises/triangle/README.md +21 -6
- data/tracks/go/exercises/trinary/README.md +1 -1
- data/tracks/go/exercises/twelve-days/README.md +2 -3
- data/tracks/go/exercises/two-fer/README.md +2 -31
- data/tracks/go/exercises/variable-length-quantity/README.md +6 -7
- data/tracks/go/exercises/word-count/README.md +1 -2
- data/tracks/go/exercises/word-search/README.md +1 -2
- data/tracks/go/exercises/wordy/README.md +0 -5
- data/tracks/groovy/config.json +11 -0
- data/tracks/groovy/exercises/rotational-cipher/Example.groovy +38 -0
- data/tracks/groovy/exercises/rotational-cipher/README.md +49 -0
- data/tracks/groovy/exercises/rotational-cipher/RotationalCipher.groovy +11 -0
- data/tracks/groovy/exercises/rotational-cipher/RotationalCipherSpec.groovy +68 -0
- data/tracks/haskell/exercises/acronym/package.yaml +1 -1
- data/tracks/haskell/exercises/acronym/test/Tests.hs +2 -6
- data/tracks/haskell/exercises/anagram/package.yaml +1 -1
- data/tracks/haskell/exercises/anagram/test/Tests.hs +0 -20
- data/tracks/haskell/exercises/clock/package.yaml +1 -1
- data/tracks/haskell/exercises/clock/test/Tests.hs +16 -9
- data/tracks/haskell/exercises/complex-numbers/package.yaml +1 -1
- data/tracks/haskell/exercises/custom-set/package.yaml +1 -1
- data/tracks/haskell/exercises/hamming/package.yaml +1 -1
- data/tracks/haskell/exercises/kindergarten-garden/package.yaml +1 -1
- data/tracks/haskell/exercises/matrix/package.yaml +1 -1
- data/tracks/haskell/exercises/matrix/test/Tests.hs +25 -13
- data/tracks/haskell/exercises/ocr-numbers/package.yaml +1 -1
- data/tracks/haskell/exercises/prime-factors/package.yaml +1 -1
- data/tracks/haskell/exercises/queen-attack/package.yaml +1 -1
- data/tracks/haskell/exercises/rail-fence-cipher/package.yaml +1 -1
- data/tracks/haskell/exercises/raindrops/package.yaml +1 -1
- data/tracks/haskell/exercises/robot-simulator/package.yaml +1 -1
- data/tracks/haskell/exercises/roman-numerals/package.yaml +1 -1
- data/tracks/haskell/exercises/roman-numerals/test/Tests.hs +4 -0
- data/tracks/haskell/exercises/run-length-encoding/package.yaml +1 -1
- data/tracks/haskell/exercises/word-count/package.yaml +1 -1
- data/tracks/java/config.json +0 -1
- data/tracks/java/exercises/forth/README.md +1 -1
- data/tracks/objective-c/config/exercise_readme.go.tmpl +22 -4
- data/tracks/objective-c/exercises/acronym/README.md +8 -3
- data/tracks/objective-c/exercises/all-your-base/README.md +8 -3
- data/tracks/objective-c/exercises/allergies/README.md +8 -3
- data/tracks/objective-c/exercises/anagram/README.md +8 -2
- data/tracks/objective-c/exercises/atbash-cipher/README.md +10 -3
- data/tracks/objective-c/exercises/beer-song/README.md +10 -4
- data/tracks/objective-c/exercises/binary-search/README.md +8 -2
- data/tracks/objective-c/exercises/bob/.meta/description.md +10 -0
- data/tracks/objective-c/exercises/bob/README.md +8 -2
- data/tracks/objective-c/exercises/bracket-push/README.md +8 -2
- data/tracks/objective-c/exercises/clock/README.md +8 -2
- data/tracks/objective-c/exercises/collatz-conjecture/README.md +8 -2
- data/tracks/objective-c/exercises/crypto-square/README.md +18 -10
- data/tracks/objective-c/exercises/difference-of-squares/README.md +8 -2
- data/tracks/objective-c/exercises/etl/README.md +11 -3
- data/tracks/objective-c/exercises/flatten-array/README.md +9 -4
- data/tracks/objective-c/exercises/gigasecond/README.md +8 -2
- data/tracks/objective-c/exercises/grade-school/README.md +8 -3
- data/tracks/objective-c/exercises/grains/README.md +8 -2
- data/tracks/objective-c/exercises/hamming/README.md +8 -2
- data/tracks/objective-c/exercises/hello-world/README.md +8 -2
- data/tracks/objective-c/exercises/isogram/README.md +10 -3
- data/tracks/objective-c/exercises/largest-series-product/README.md +8 -2
- data/tracks/objective-c/exercises/leap/README.md +9 -3
- data/tracks/objective-c/exercises/luhn/README.md +15 -9
- data/tracks/objective-c/exercises/meetup/README.md +24 -15
- data/tracks/objective-c/exercises/nth-prime/README.md +8 -2
- data/tracks/objective-c/exercises/nucleotide-count/README.md +16 -24
- data/tracks/objective-c/exercises/pangram/README.md +9 -3
- data/tracks/objective-c/exercises/pascals-triangle/README.md +10 -4
- data/tracks/objective-c/exercises/perfect-numbers/README.md +10 -4
- data/tracks/objective-c/exercises/phone-number/README.md +12 -5
- data/tracks/objective-c/exercises/raindrops/README.md +8 -2
- data/tracks/objective-c/exercises/rna-transcription/README.md +10 -4
- data/tracks/objective-c/exercises/robot-name/README.md +8 -2
- data/tracks/objective-c/exercises/roman-numerals/README.md +9 -3
- data/tracks/objective-c/exercises/run-length-encoding/README.md +12 -6
- data/tracks/objective-c/exercises/say/README.md +8 -2
- data/tracks/objective-c/exercises/scrabble-score/README.md +11 -3
- data/tracks/objective-c/exercises/secret-handshake/README.md +10 -4
- data/tracks/objective-c/exercises/sieve/README.md +8 -2
- data/tracks/objective-c/exercises/space-age/README.md +9 -3
- data/tracks/objective-c/exercises/sublist/README.md +7 -2
- data/tracks/objective-c/exercises/sum-of-multiples/README.md +11 -8
- data/tracks/objective-c/exercises/transpose/README.md +15 -9
- data/tracks/objective-c/exercises/triangle/README.md +17 -8
- data/tracks/objective-c/exercises/two-fer/README.md +8 -2
- data/tracks/objective-c/exercises/word-count/README.md +9 -4
- data/tracks/php/.travis.yml +1 -1
- data/tracks/php/config/exercise_readme.go.tmpl +20 -4
- data/tracks/php/exercises/accumulate/README.md +9 -6
- data/tracks/php/exercises/acronym/README.md +9 -4
- data/tracks/php/exercises/all-your-base/README.md +35 -11
- data/tracks/php/exercises/allergies/README.md +9 -4
- data/tracks/php/exercises/anagram/README.md +10 -4
- data/tracks/php/exercises/atbash-cipher/README.md +12 -5
- data/tracks/php/exercises/beer-song/README.md +12 -6
- data/tracks/php/exercises/binary-search/README.md +10 -4
- data/tracks/php/exercises/binary/README.md +12 -4
- data/tracks/php/exercises/bob/.meta/description.md +10 -0
- data/tracks/php/exercises/bob/README.md +10 -4
- data/tracks/php/exercises/book-store/README.md +15 -9
- data/tracks/php/exercises/bowling/README.md +30 -10
- data/tracks/php/exercises/bracket-push/README.md +10 -4
- data/tracks/php/exercises/change/README.md +11 -5
- data/tracks/php/exercises/clock/README.md +10 -4
- data/tracks/php/exercises/collatz-conjecture/README.md +10 -4
- data/tracks/php/exercises/connect/README.md +11 -6
- data/tracks/php/exercises/crypto-square/README.md +10 -4
- data/tracks/php/exercises/difference-of-squares/README.md +10 -4
- data/tracks/php/exercises/etl/README.md +13 -5
- data/tracks/php/exercises/flatten-array/README.md +10 -4
- data/tracks/php/exercises/gigasecond/README.md +10 -4
- data/tracks/php/exercises/grade-school/README.md +10 -5
- data/tracks/php/exercises/grains/README.md +10 -5
- data/tracks/php/exercises/hamming/README.md +10 -4
- data/tracks/php/exercises/hello-world/README.md +10 -4
- data/tracks/php/exercises/isogram/README.md +12 -5
- data/tracks/php/exercises/largest-series-product/README.md +10 -4
- data/tracks/php/exercises/leap/README.md +11 -5
- data/tracks/php/exercises/luhn/README.md +17 -11
- data/tracks/php/exercises/markdown/README.md +10 -5
- data/tracks/php/exercises/meetup/README.md +45 -12
- data/tracks/php/exercises/meetup/example.php +0 -2
- data/tracks/php/exercises/meetup/meetup_test.php +0 -2
- data/tracks/php/exercises/minesweeper/README.md +10 -5
- data/tracks/php/exercises/nth-prime/README.md +10 -4
- data/tracks/php/exercises/nucleotide-count/README.md +15 -23
- data/tracks/php/exercises/ocr-numbers/README.md +16 -10
- data/tracks/php/exercises/pangram/README.md +11 -5
- data/tracks/php/exercises/pascals-triangle/README.md +12 -6
- data/tracks/php/exercises/perfect-numbers/README.md +12 -6
- data/tracks/php/exercises/phone-number/README.md +14 -7
- data/tracks/php/exercises/pig-latin/README.md +10 -4
- data/tracks/php/exercises/prime-factors/README.md +10 -4
- data/tracks/php/exercises/queen-attack/README.md +11 -5
- data/tracks/php/exercises/rail-fence-cipher/README.md +10 -4
- data/tracks/php/exercises/raindrops/README.md +10 -4
- data/tracks/php/exercises/rna-transcription/README.md +11 -5
- data/tracks/php/exercises/robot-name/README.md +10 -4
- data/tracks/php/exercises/robot-simulator/README.md +10 -4
- data/tracks/php/exercises/roman-numerals/README.md +11 -5
- data/tracks/php/exercises/run-length-encoding/README.md +13 -4
- data/tracks/php/exercises/scrabble-score/README.md +13 -5
- data/tracks/php/exercises/series/README.md +27 -0
- data/tracks/php/exercises/series/example.php +0 -2
- data/tracks/php/exercises/series/series_test.php +0 -1
- data/tracks/php/exercises/sieve/README.md +10 -4
- data/tracks/php/exercises/space-age/README.md +11 -5
- data/tracks/php/exercises/sum-of-multiples/README.md +12 -9
- data/tracks/php/exercises/transpose/README.md +10 -4
- data/tracks/php/exercises/triangle/README.md +19 -10
- data/tracks/php/exercises/trinary/README.md +11 -5
- data/tracks/php/exercises/variable-length-quantity/README.md +16 -11
- data/tracks/php/exercises/word-count/README.md +10 -5
- data/tracks/php/exercises/wordy/README.md +9 -8
- data/tracks/rust/config/exercise_readme.go.tmpl +32 -4
- data/tracks/rust/exercises/all-your-base/README.md +0 -1
- data/tracks/rust/exercises/alphametics/README.md +0 -1
- data/tracks/rust/exercises/custom-set/README.md +0 -1
- data/tracks/rust/exercises/dominoes/README.md +0 -1
- data/tracks/rust/exercises/forth/README.md +0 -1
- data/tracks/rust/exercises/isbn-verifier/README.md +1 -1
- data/tracks/rust/exercises/minesweeper/README.md +0 -1
- data/tracks/rust/exercises/nucleotide-codons/README.md +0 -1
- data/tracks/rust/exercises/parallel-letter-frequency/README.md +0 -1
- data/tracks/rust/exercises/protein-translation/README.md +2 -2
- data/tracks/rust/exercises/react/README.md +0 -1
- data/tracks/rust/exercises/rectangles/README.md +0 -1
- data/tracks/rust/exercises/reverse-string/README.md +1 -1
- data/tracks/rust/exercises/rna-transcription/.meta/hints.md +9 -0
- data/tracks/rust/exercises/rna-transcription/README.md +12 -1
- data/tracks/rust/exercises/rna-transcription/example.rs +66 -27
- data/tracks/rust/exercises/rna-transcription/tests/rna-transcription.rs +52 -19
- data/tracks/rust/exercises/sublist/README.md +0 -1
- data/tracks/rust/exercises/tournament/README.md +0 -1
- data/tracks/swift/config/exercise_readme.go.tmpl +7 -4
- data/tracks/swift/exercises/accumulate/README.md +0 -3
- data/tracks/swift/exercises/acronym/README.md +0 -1
- data/tracks/swift/exercises/all-your-base/README.md +1 -2
- data/tracks/swift/exercises/allergies/README.md +0 -1
- data/tracks/swift/exercises/atbash-cipher/README.md +2 -1
- data/tracks/swift/exercises/beer-song/README.md +2 -2
- data/tracks/swift/exercises/binary/README.md +2 -0
- data/tracks/swift/exercises/bob/.meta/description.md +10 -0
- data/tracks/swift/exercises/bowling/README.md +20 -6
- data/tracks/swift/exercises/circular-buffer/README.md +21 -13
- data/tracks/swift/exercises/collatz-conjecture/README.md +1 -1
- data/tracks/swift/exercises/crypto-square/README.md +10 -8
- data/tracks/swift/exercises/custom-set/README.md +0 -1
- data/tracks/swift/exercises/diamond/README.md +3 -0
- data/tracks/swift/exercises/dominoes/README.md +3 -4
- data/tracks/swift/exercises/etl/README.md +3 -1
- data/tracks/swift/exercises/flatten-array/README.md +1 -2
- data/tracks/swift/exercises/food-chain/README.md +1 -1
- data/tracks/swift/exercises/grade-school/README.md +0 -1
- data/tracks/swift/exercises/grains/README.md +0 -1
- data/tracks/swift/exercises/house/README.md +2 -3
- data/tracks/swift/exercises/isbn-verifier/README.md +32 -16
- data/tracks/swift/exercises/isogram/README.md +2 -1
- data/tracks/swift/exercises/kindergarten-garden/README.md +13 -13
- data/tracks/swift/exercises/leap/README.md +1 -1
- data/tracks/swift/exercises/linked-list/README.md +10 -10
- data/tracks/swift/exercises/list-ops/README.md +1 -0
- data/tracks/swift/exercises/luhn/README.md +7 -7
- data/tracks/swift/exercises/matrix/README.md +6 -4
- data/tracks/swift/exercises/meetup/README.md +16 -13
- data/tracks/swift/exercises/minesweeper/README.md +0 -1
- data/tracks/swift/exercises/nucleotide-count/README.md +8 -22
- data/tracks/swift/exercises/ocr-numbers/README.md +6 -6
- data/tracks/swift/exercises/octal/README.md +6 -2
- data/tracks/swift/exercises/palindrome-products/README.md +15 -16
- data/tracks/swift/exercises/pangram/README.md +1 -1
- data/tracks/swift/exercises/pascals-triangle/README.md +2 -2
- data/tracks/swift/exercises/perfect-numbers/README.md +2 -2
- data/tracks/swift/exercises/phone-number/README.md +4 -3
- data/tracks/swift/exercises/protein-translation/README.md +4 -4
- data/tracks/swift/exercises/pythagorean-triplet/README.md +3 -3
- data/tracks/swift/exercises/queen-attack/README.md +1 -1
- data/tracks/swift/exercises/rna-transcription/README.md +2 -2
- data/tracks/swift/exercises/roman-numerals/README.md +1 -1
- data/tracks/swift/exercises/run-length-encoding/README.md +4 -4
- data/tracks/swift/exercises/saddle-points/README.md +2 -2
- data/tracks/swift/exercises/say/README.md +1 -1
- data/tracks/swift/exercises/scrabble-score/README.md +3 -1
- data/tracks/swift/exercises/secret-handshake/README.md +2 -2
- data/tracks/swift/exercises/simple-cipher/README.md +5 -7
- data/tracks/swift/exercises/space-age/README.md +1 -1
- data/tracks/swift/exercises/sublist/README.md +0 -1
- data/tracks/swift/exercises/sum-of-multiples/README.md +3 -6
- data/tracks/swift/exercises/tournament/README.md +5 -6
- data/tracks/swift/exercises/transpose/README.md +7 -7
- data/tracks/swift/exercises/triangle/README.md +9 -6
- data/tracks/swift/exercises/trinary/README.md +1 -1
- data/tracks/swift/exercises/twelve-days/README.md +1 -1
- data/tracks/swift/exercises/two-fer/README.md +2 -29
- data/tracks/swift/exercises/word-count/README.md +1 -2
- data/tracks/swift/exercises/wordy/README.md +0 -5
- metadata +12 -10
- data/tracks/cfml/tasks/exercise_template/.meta/HINTS.md +0 -0
- data/tracks/csharp/docs/EXERCISE_README_INSERT.md +0 -5
- data/tracks/go/docs/EXERCISE_README_INSERT.md +0 -16
- data/tracks/java/exercises/forth/.meta/readme.go.tmpl +0 -17
- data/tracks/objective-c/docs/EXERCISE_README_INSERT.md +0 -15
- data/tracks/php/docs/EXERCISE_README_INSERT.md +0 -13
- data/tracks/rust/config/exercise-readme-insert.md +0 -31
- data/tracks/swift/docs/EXERCISE_README_INSERT.md +0 -6
@@ -39,15 +39,11 @@ cases = [ Case { description = "basic"
|
|
39
39
|
, input = "First In, First Out"
|
40
40
|
, expected = "FIFO"
|
41
41
|
}
|
42
|
-
, Case { description = "all caps
|
43
|
-
, input = "PHP: Hypertext Preprocessor"
|
44
|
-
, expected = "PHP"
|
45
|
-
}
|
46
|
-
, Case { description = "non-acronym all caps word"
|
42
|
+
, Case { description = "all caps word"
|
47
43
|
, input = "GNU Image Manipulation Program"
|
48
44
|
, expected = "GIMP"
|
49
45
|
}
|
50
|
-
, Case { description = "
|
46
|
+
, Case { description = "punctuation without whitespace"
|
51
47
|
, input = "Complementary metal-oxide semiconductor"
|
52
48
|
, expected = "CMOS"
|
53
49
|
}
|
@@ -35,16 +35,6 @@ cases = [ Case { description = "no matches"
|
|
35
35
|
, candidates = [ "hello", "world", "zombies", "pants"]
|
36
36
|
, expected = []
|
37
37
|
}
|
38
|
-
, Case { description = "detects simple anagram"
|
39
|
-
, subject = "ant"
|
40
|
-
, candidates = ["tan", "stand", "at"]
|
41
|
-
, expected = ["tan"]
|
42
|
-
}
|
43
|
-
, Case { description = "does not detect false positives"
|
44
|
-
, subject = "galea"
|
45
|
-
, candidates = ["eagle"]
|
46
|
-
, expected = []
|
47
|
-
}
|
48
38
|
, Case { description = "detects two anagrams"
|
49
39
|
, subject = "master"
|
50
40
|
, candidates = ["stream", "pigeon", "maters"]
|
@@ -65,11 +55,6 @@ cases = [ Case { description = "no matches"
|
|
65
55
|
, candidates = ["gallery", "ballerina", "regally", "clergy", "largely", "leading"]
|
66
56
|
, expected = ["gallery", "regally", "largely"]
|
67
57
|
}
|
68
|
-
, Case { description = "does not detect identical words"
|
69
|
-
, subject = "corn"
|
70
|
-
, candidates = ["corn", "dark", "Corn", "rank", "CORN", "cron", "park"]
|
71
|
-
, expected = ["cron"]
|
72
|
-
}
|
73
58
|
, Case { description = "does not detect non-anagrams with identical checksum"
|
74
59
|
, subject = "mass"
|
75
60
|
, candidates = ["last"]
|
@@ -90,11 +75,6 @@ cases = [ Case { description = "no matches"
|
|
90
75
|
, candidates = ["cashregister", "Carthorse", "radishes"]
|
91
76
|
, expected = ["Carthorse"]
|
92
77
|
}
|
93
|
-
, Case { description = "does not detect a word as its own anagram"
|
94
|
-
, subject = "banana"
|
95
|
-
, candidates = ["Banana"]
|
96
|
-
, expected = []
|
97
|
-
}
|
98
78
|
, Case { description = "does not detect a anagram if the original word is repeated"
|
99
79
|
, subject = "go"
|
100
80
|
, candidates = ["go Go GO"]
|
@@ -29,6 +29,7 @@ specs = do
|
|
29
29
|
|
30
30
|
describe "create" $ for_ createCases createTest
|
31
31
|
describe "add" $ for_ addCases addTest
|
32
|
+
describe "sub" $ for_ subCases subTest
|
32
33
|
describe "equal" $ for_ equalCases equalTest
|
33
34
|
|
34
35
|
where
|
@@ -41,6 +42,10 @@ specs = do
|
|
41
42
|
where
|
42
43
|
assertion = toString (fromHourMin h m + m') `shouldBe` e
|
43
44
|
|
45
|
+
subTest (l, h, m, m', e) = it l assertion
|
46
|
+
where
|
47
|
+
assertion = toString (fromHourMin h m - m') `shouldBe` e
|
48
|
+
|
44
49
|
equalTest (l, (h1, m1), (h2, m2), e) = it l assertion
|
45
50
|
where
|
46
51
|
assertion = fromHourMin h1 m1 == fromHourMin h2 m2 `shouldBe` e
|
@@ -74,15 +79,17 @@ specs = do
|
|
74
79
|
, ("add more than two hours with carry" , 0, 45, 160, "03:25")
|
75
80
|
, ("add across midnight" , 23, 59, 2, "00:01")
|
76
81
|
, ("add more than one day (1500 min = 25 hrs)" , 5, 32, 1500, "06:32")
|
77
|
-
, ("add more than two days" , 1, 1, 3500, "11:21")
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
, ("subtract
|
82
|
-
, ("subtract more than
|
83
|
-
, ("subtract
|
84
|
-
, ("subtract more than
|
85
|
-
, ("subtract more than two
|
82
|
+
, ("add more than two days" , 1, 1, 3500, "11:21") ]
|
83
|
+
|
84
|
+
subCases =
|
85
|
+
[ ("subtract minutes" , 10, 3, 3, "10:00")
|
86
|
+
, ("subtract to previous hour" , 10, 3, 30, "09:33")
|
87
|
+
, ("subtract more than an hour" , 10, 3, 70, "08:53")
|
88
|
+
, ("subtract across midnight" , 0, 3, 4, "23:59")
|
89
|
+
, ("subtract more than two hours" , 0, 0, 160, "21:20")
|
90
|
+
, ("subtract more than two hours with borrow" , 6, 15, 160, "03:35")
|
91
|
+
, ("subtract more than one day (1500 min = 25 hrs)", 5, 32, 1500, "04:32")
|
92
|
+
, ("subtract more than two days" , 2, 20, 3000, "00:20") ]
|
86
93
|
|
87
94
|
equalCases =
|
88
95
|
[ ("clocks with same time" , (15, 37), ( 15, 37), True )
|
@@ -27,19 +27,31 @@ specs = do
|
|
27
27
|
let intMatrix = fromString :: String -> Matrix Int
|
28
28
|
let vector = Vector.fromList
|
29
29
|
|
30
|
-
it "extract
|
31
|
-
row 0 (intMatrix "1
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
30
|
+
it "extract row from one number matrix" $
|
31
|
+
row 0 (intMatrix "1") `shouldBe` vector [1]
|
32
|
+
|
33
|
+
it "can extract row" $
|
34
|
+
row 1 (intMatrix "1 2\n3 4") `shouldBe` vector [3, 4]
|
35
|
+
|
36
|
+
it "extract row where numbers have different widths" $
|
37
|
+
row 1 (intMatrix "1 2\n10 20") `shouldBe` vector [10, 20]
|
38
|
+
|
39
|
+
it "can extract row from non-square matrix" $
|
40
|
+
row 2 (intMatrix "1 2 3\n4 5 6\n7 8 9\n8 7 6") `shouldBe` vector [7, 8, 9]
|
41
|
+
|
42
|
+
it "extract column from one number matrix" $
|
43
|
+
column 0 (intMatrix "1") `shouldBe` vector [1]
|
44
|
+
|
45
|
+
it "can extract column" $
|
46
|
+
column 2 (intMatrix "1 2 3\n4 5 6\n7 8 9") `shouldBe` vector [3, 6, 9]
|
47
|
+
|
48
|
+
it "can extract column from non-square matrix" $
|
49
|
+
column 2 (intMatrix "1 2 3\n4 5 6\n7 8 9\n 8 7 6") `shouldBe` vector [3, 6, 9, 6]
|
50
|
+
|
51
|
+
it "extract column where numbers have different widths" $
|
52
|
+
column 1 (intMatrix "89 1903 3\n18 3 1\n9 4 800") `shouldBe` vector [1903, 3, 4]
|
53
|
+
|
54
|
+
-- Track-specific tests:
|
43
55
|
|
44
56
|
it "shape" $ do
|
45
57
|
shape (intMatrix "" ) `shouldBe` (0, 0)
|
@@ -61,6 +61,10 @@ cases = [ Case { description = "1 is a single I"
|
|
61
61
|
, number = 48
|
62
62
|
, expected = Just "XLVIII"
|
63
63
|
}
|
64
|
+
, Case { description = "49 is not 40 + 5 + 4 but rather 50 - 10 + 10 - 1"
|
65
|
+
, number = 49
|
66
|
+
, expected = Just "XLIX"
|
67
|
+
}
|
64
68
|
, Case { description = "50 is a single L"
|
65
69
|
, number = 59
|
66
70
|
, expected = Just "LIX"
|
data/tracks/java/config.json
CHANGED
@@ -37,5 +37,5 @@ in your terminal.
|
|
37
37
|
|
38
38
|
|
39
39
|
## Submitting Incomplete Solutions
|
40
|
-
It's possible to submit an incomplete solution so you can see how others have completed the exercise.
|
41
40
|
|
41
|
+
It's possible to submit an incomplete solution so you can see how others have completed the exercise.
|
@@ -4,10 +4,28 @@
|
|
4
4
|
{{- with .Hints }}
|
5
5
|
{{ . }}
|
6
6
|
{{ end }}
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
7
|
+
## Setup
|
8
|
+
|
9
|
+
There are two different methods of getting set up to run the tests with Objective-C:
|
10
|
+
|
11
|
+
- Create an Xcode project with a test target which will run the tests.
|
12
|
+
- Use the ruby gem `objc` as a test runner utility.
|
13
|
+
|
14
|
+
Both are described in more detail here: http://exercism.io/languages/objective-c
|
15
|
+
|
16
|
+
### Submitting Exercises
|
17
|
+
|
18
|
+
When submitting an exercise, make sure your solution file is in the same directory as the test code.
|
19
|
+
|
20
|
+
The submit command will look something like:
|
21
|
+
|
22
|
+
```shell
|
23
|
+
exercism submit <path-to-exercism-workspace>/objective-c/{{ .Spec.Slug }}/{{ .Spec.MixedCaseName }}.m
|
24
|
+
```
|
25
|
+
|
26
|
+
You can find the Exercism workspace by running `exercism debug` and looking for the line beginning
|
27
|
+
with Workspace.
|
28
|
+
{{ with .Spec.Credits }}
|
11
29
|
## Source
|
12
30
|
|
13
31
|
{{ . }}
|
@@ -7,7 +7,6 @@ Techies love their TLA (Three Letter Acronyms)!
|
|
7
7
|
Help generate some jargon by writing a program that converts a long name
|
8
8
|
like Portable Network Graphics to its acronym (PNG).
|
9
9
|
|
10
|
-
|
11
10
|
## Setup
|
12
11
|
|
13
12
|
There are two different methods of getting set up to run the tests with Objective-C:
|
@@ -17,12 +16,18 @@ There are two different methods of getting set up to run the tests with Objectiv
|
|
17
16
|
|
18
17
|
Both are described in more detail here: http://exercism.io/languages/objective-c
|
19
18
|
|
20
|
-
|
21
19
|
### Submitting Exercises
|
22
20
|
|
23
21
|
When submitting an exercise, make sure your solution file is in the same directory as the test code.
|
24
22
|
|
25
|
-
|
23
|
+
The submit command will look something like:
|
24
|
+
|
25
|
+
```shell
|
26
|
+
exercism submit <path-to-exercism-workspace>/objective-c/acronym/Acronym.m
|
27
|
+
```
|
28
|
+
|
29
|
+
You can find the Exercism workspace by running `exercism debug` and looking for the line beginning
|
30
|
+
with Workspace.
|
26
31
|
|
27
32
|
## Source
|
28
33
|
|
@@ -6,6 +6,7 @@ Implement general base conversion. Given a number in base **a**,
|
|
6
6
|
represented as a sequence of digits, convert it to base **b**.
|
7
7
|
|
8
8
|
## Note
|
9
|
+
|
9
10
|
- Try to implement the conversion yourself.
|
10
11
|
Do not use something else to perform the conversion for you.
|
11
12
|
|
@@ -28,7 +29,6 @@ The number 1120, *in base 3*, means:
|
|
28
29
|
|
29
30
|
I think you got the idea!
|
30
31
|
|
31
|
-
|
32
32
|
*Yes. Those three numbers above are exactly the same. Congratulations!*
|
33
33
|
|
34
34
|
## Setup
|
@@ -40,13 +40,18 @@ There are two different methods of getting set up to run the tests with Objectiv
|
|
40
40
|
|
41
41
|
Both are described in more detail here: http://exercism.io/languages/objective-c
|
42
42
|
|
43
|
-
|
44
43
|
### Submitting Exercises
|
45
44
|
|
46
45
|
When submitting an exercise, make sure your solution file is in the same directory as the test code.
|
47
46
|
|
48
|
-
|
47
|
+
The submit command will look something like:
|
48
|
+
|
49
|
+
```shell
|
50
|
+
exercism submit <path-to-exercism-workspace>/objective-c/all-your-base/AllYourBase.m
|
51
|
+
```
|
49
52
|
|
53
|
+
You can find the Exercism workspace by running `exercism debug` and looking for the line beginning
|
54
|
+
with Workspace.
|
50
55
|
|
51
56
|
## Submitting Incomplete Solutions
|
52
57
|
It's possible to submit an incomplete solution so you can see how others have completed the exercise.
|
@@ -29,7 +29,6 @@ allergens that score 256, 512, 1024, etc.). Your program should
|
|
29
29
|
ignore those components of the score. For example, if the allergy
|
30
30
|
score is 257, your program should only report the eggs (1) allergy.
|
31
31
|
|
32
|
-
|
33
32
|
## Setup
|
34
33
|
|
35
34
|
There are two different methods of getting set up to run the tests with Objective-C:
|
@@ -39,12 +38,18 @@ There are two different methods of getting set up to run the tests with Objectiv
|
|
39
38
|
|
40
39
|
Both are described in more detail here: http://exercism.io/languages/objective-c
|
41
40
|
|
42
|
-
|
43
41
|
### Submitting Exercises
|
44
42
|
|
45
43
|
When submitting an exercise, make sure your solution file is in the same directory as the test code.
|
46
44
|
|
47
|
-
|
45
|
+
The submit command will look something like:
|
46
|
+
|
47
|
+
```shell
|
48
|
+
exercism submit <path-to-exercism-workspace>/objective-c/allergies/Allergies.m
|
49
|
+
```
|
50
|
+
|
51
|
+
You can find the Exercism workspace by running `exercism debug` and looking for the line beginning
|
52
|
+
with Workspace.
|
48
53
|
|
49
54
|
## Source
|
50
55
|
|
@@ -15,12 +15,18 @@ There are two different methods of getting set up to run the tests with Objectiv
|
|
15
15
|
|
16
16
|
Both are described in more detail here: http://exercism.io/languages/objective-c
|
17
17
|
|
18
|
-
|
19
18
|
### Submitting Exercises
|
20
19
|
|
21
20
|
When submitting an exercise, make sure your solution file is in the same directory as the test code.
|
22
21
|
|
23
|
-
|
22
|
+
The submit command will look something like:
|
23
|
+
|
24
|
+
```shell
|
25
|
+
exercism submit <path-to-exercism-workspace>/objective-c/anagram/Anagram.m
|
26
|
+
```
|
27
|
+
|
28
|
+
You can find the Exercism workspace by running `exercism debug` and looking for the line beginning
|
29
|
+
with Workspace.
|
24
30
|
|
25
31
|
## Source
|
26
32
|
|