trackler 2.2.1.44 → 2.2.1.45
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/lib/trackler/version.rb +1 -1
- data/problem-specifications/exercises/isbn-verifier/canonical-data.json +88 -0
- data/problem-specifications/exercises/isbn-verifier/description.md +35 -0
- data/problem-specifications/exercises/isbn-verifier/metadata.yml +4 -0
- data/problem-specifications/exercises/robot-simulator/canonical-data.json +125 -32
- data/problem-specifications/exercises/sum-of-multiples/description.md +0 -3
- data/problem-specifications/exercises/two-bucket/canonical-data.json +3 -3
- data/tracks/c/config.json +235 -237
- data/tracks/c/exercises/acronym/README.md +0 -1
- data/tracks/c/exercises/all-your-base/README.md +1 -1
- data/tracks/c/exercises/allergies/README.md +0 -1
- data/tracks/c/exercises/atbash-cipher/README.md +2 -1
- data/tracks/c/exercises/beer-song/README.md +1 -1
- data/tracks/c/exercises/binary/README.md +2 -0
- data/tracks/c/exercises/grains/README.md +0 -1
- data/tracks/c/exercises/isogram/README.md +2 -1
- data/tracks/c/exercises/leap/README.md +1 -1
- data/tracks/c/exercises/meetup/README.md +1 -2
- data/tracks/c/exercises/nucleotide-count/README.md +8 -22
- data/tracks/c/exercises/palindrome-products/README.md +12 -6
- data/tracks/c/exercises/pangram/README.md +1 -1
- data/tracks/c/exercises/pascals-triangle/README.md +1 -1
- data/tracks/c/exercises/perfect-numbers/README.md +2 -2
- data/tracks/c/exercises/phone-number/README.md +3 -2
- data/tracks/c/exercises/roman-numerals/README.md +1 -1
- data/tracks/c/exercises/scrabble-score/README.md +3 -1
- data/tracks/c/exercises/space-age/README.md +2 -1
- data/tracks/c/exercises/triangle/README.md +9 -6
- data/tracks/c/exercises/word-count/README.md +1 -2
- data/tracks/csharp/exercises/accumulate/Accumulate.csproj +2 -2
- data/tracks/csharp/exercises/acronym/Acronym.csproj +2 -2
- data/tracks/csharp/exercises/all-your-base/AllYourBase.csproj +2 -2
- data/tracks/csharp/exercises/allergies/Allergies.csproj +2 -2
- data/tracks/csharp/exercises/alphametics/Alphametics.csproj +2 -2
- data/tracks/csharp/exercises/anagram/Anagram.csproj +2 -2
- data/tracks/csharp/exercises/atbash-cipher/AtbashCipher.csproj +2 -2
- data/tracks/csharp/exercises/bank-account/BankAccount.csproj +2 -2
- data/tracks/csharp/exercises/beer-song/BeerSong.csproj +2 -2
- data/tracks/csharp/exercises/binary-search/BinarySearch.csproj +2 -2
- data/tracks/csharp/exercises/binary-search-tree/BinarySearchTree.csproj +2 -2
- data/tracks/csharp/exercises/bob/Bob.csproj +2 -2
- data/tracks/csharp/exercises/book-store/BookStore.csproj +2 -2
- data/tracks/csharp/exercises/bowling/Bowling.csproj +2 -2
- data/tracks/csharp/exercises/bracket-push/BracketPush.csproj +2 -2
- data/tracks/csharp/exercises/change/Change.csproj +2 -2
- data/tracks/csharp/exercises/circular-buffer/CircularBuffer.csproj +2 -2
- data/tracks/csharp/exercises/clock/Clock.csproj +2 -2
- data/tracks/csharp/exercises/collatz-conjecture/CollatzConjecture.csproj +2 -2
- data/tracks/csharp/exercises/complex-numbers/ComplexNumbers.csproj +2 -2
- data/tracks/csharp/exercises/connect/Connect.cs +1 -1
- data/tracks/csharp/exercises/connect/Connect.csproj +2 -2
- data/tracks/csharp/exercises/connect/ConnectTest.cs +120 -85
- data/tracks/csharp/exercises/connect/Example.cs +11 -7
- data/tracks/csharp/exercises/crypto-square/CryptoSquare.csproj +2 -2
- data/tracks/csharp/exercises/custom-set/CustomSet.csproj +2 -2
- data/tracks/csharp/exercises/diamond/Diamond.csproj +2 -2
- data/tracks/csharp/exercises/difference-of-squares/DifferenceOfSquares.csproj +2 -2
- data/tracks/csharp/exercises/diffie-hellman/DiffieHellman.csproj +2 -2
- data/tracks/csharp/exercises/dominoes/Dominoes.csproj +2 -2
- data/tracks/csharp/exercises/dot-dsl/DotDsl.csproj +2 -2
- data/tracks/csharp/exercises/error-handling/ErrorHandling.csproj +2 -2
- data/tracks/csharp/exercises/etl/Etl.csproj +2 -2
- data/tracks/csharp/exercises/flatten-array/FlattenArray.csproj +2 -2
- data/tracks/csharp/exercises/food-chain/FoodChain.csproj +2 -2
- data/tracks/csharp/exercises/forth/Forth.csproj +2 -2
- data/tracks/csharp/exercises/gigasecond/Gigasecond.csproj +2 -2
- data/tracks/csharp/exercises/go-counting/GoCounting.csproj +2 -2
- data/tracks/csharp/exercises/grade-school/GradeSchool.csproj +2 -2
- data/tracks/csharp/exercises/grains/Grains.csproj +2 -2
- data/tracks/csharp/exercises/grep/Grep.csproj +2 -2
- data/tracks/csharp/exercises/hamming/Hamming.csproj +2 -2
- data/tracks/csharp/exercises/hangman/Hangman.csproj +2 -2
- data/tracks/csharp/exercises/hello-world/HelloWorld.csproj +2 -2
- data/tracks/csharp/exercises/house/House.csproj +2 -2
- data/tracks/csharp/exercises/isogram/Isogram.csproj +2 -2
- data/tracks/csharp/exercises/kindergarten-garden/KindergartenGarden.csproj +2 -2
- data/tracks/csharp/exercises/largest-series-product/LargestSeriesProduct.csproj +2 -2
- data/tracks/csharp/exercises/leap/Leap.csproj +2 -2
- data/tracks/csharp/exercises/ledger/Ledger.csproj +2 -2
- data/tracks/csharp/exercises/linked-list/LinkedList.csproj +2 -2
- data/tracks/csharp/exercises/list-ops/ListOps.csproj +2 -2
- data/tracks/csharp/exercises/luhn/Luhn.csproj +2 -2
- data/tracks/csharp/exercises/markdown/Markdown.csproj +2 -2
- data/tracks/csharp/exercises/matrix/Matrix.csproj +2 -2
- data/tracks/csharp/exercises/meetup/Meetup.csproj +2 -2
- data/tracks/csharp/exercises/minesweeper/Minesweeper.csproj +2 -2
- data/tracks/csharp/exercises/nth-prime/NthPrime.csproj +2 -2
- data/tracks/csharp/exercises/nucleotide-count/NucleotideCount.csproj +2 -2
- data/tracks/csharp/exercises/ocr-numbers/OcrNumbers.csproj +2 -2
- data/tracks/csharp/exercises/palindrome-products/PalindromeProducts.csproj +2 -2
- data/tracks/csharp/exercises/pangram/Pangram.csproj +2 -2
- data/tracks/csharp/exercises/parallel-letter-frequency/ParallelLetterFrequency.csproj +2 -2
- data/tracks/csharp/exercises/pascals-triangle/PascalsTriangle.csproj +2 -2
- data/tracks/csharp/exercises/perfect-numbers/PerfectNumbers.csproj +2 -2
- data/tracks/csharp/exercises/phone-number/PhoneNumber.csproj +2 -2
- data/tracks/csharp/exercises/pig-latin/PigLatin.csproj +2 -2
- data/tracks/csharp/exercises/poker/Poker.csproj +2 -2
- data/tracks/csharp/exercises/pov/Pov.csproj +2 -2
- data/tracks/csharp/exercises/prime-factors/PrimeFactors.csproj +2 -2
- data/tracks/csharp/exercises/protein-translation/ProteinTranslation.csproj +2 -2
- data/tracks/csharp/exercises/proverb/Proverb.csproj +2 -2
- data/tracks/csharp/exercises/pythagorean-triplet/PythagoreanTriplet.csproj +2 -2
- data/tracks/csharp/exercises/queen-attack/QueenAttack.csproj +2 -2
- data/tracks/csharp/exercises/rail-fence-cipher/RailFenceCipher.csproj +2 -2
- data/tracks/csharp/exercises/raindrops/Raindrops.csproj +2 -2
- data/tracks/csharp/exercises/react/React.csproj +2 -2
- data/tracks/csharp/exercises/rectangles/Rectangles.csproj +2 -2
- data/tracks/csharp/exercises/rna-transcription/RnaTranscription.csproj +2 -2
- data/tracks/csharp/exercises/robot-name/RobotName.csproj +2 -2
- data/tracks/csharp/exercises/robot-simulator/RobotSimulator.csproj +2 -2
- data/tracks/csharp/exercises/roman-numerals/RomanNumerals.csproj +2 -2
- data/tracks/csharp/exercises/rotational-cipher/RotationalCipher.csproj +2 -2
- data/tracks/csharp/exercises/run-length-encoding/RunLengthEncoding.csproj +2 -2
- data/tracks/csharp/exercises/saddle-points/SaddlePoints.csproj +2 -2
- data/tracks/csharp/exercises/say/Say.csproj +2 -2
- data/tracks/csharp/exercises/scale-generator/ScaleGenerator.csproj +2 -2
- data/tracks/csharp/exercises/scrabble-score/ScrabbleScore.csproj +2 -2
- data/tracks/csharp/exercises/secret-handshake/SecretHandshake.csproj +2 -2
- data/tracks/csharp/exercises/series/Series.csproj +2 -2
- data/tracks/csharp/exercises/series/SeriesTest.cs +17 -17
- data/tracks/csharp/exercises/sgf-parsing/SgfParsing.csproj +2 -2
- data/tracks/csharp/exercises/sieve/Sieve.csproj +2 -2
- data/tracks/csharp/exercises/simple-cipher/SimpleCipher.csproj +2 -2
- data/tracks/csharp/exercises/simple-linked-list/SimpleLinkedList.csproj +2 -2
- data/tracks/csharp/exercises/space-age/SpaceAge.csproj +2 -2
- data/tracks/csharp/exercises/spiral-matrix/SpiralMatrix.csproj +2 -2
- data/tracks/csharp/exercises/strain/Strain.csproj +2 -2
- data/tracks/csharp/exercises/sublist/Sublist.csproj +2 -2
- data/tracks/csharp/exercises/sum-of-multiples/SumOfMultiples.csproj +2 -2
- data/tracks/csharp/exercises/tournament/Tournament.csproj +2 -2
- data/tracks/csharp/exercises/transpose/Transpose.csproj +2 -2
- data/tracks/csharp/exercises/tree-building/TreeBuilding.csproj +2 -2
- data/tracks/csharp/exercises/triangle/Triangle.cs +0 -11
- data/tracks/csharp/exercises/triangle/Triangle.csproj +2 -2
- data/tracks/csharp/exercises/triangle/TriangleTest.cs +17 -17
- data/tracks/csharp/exercises/twelve-days/TwelveDays.csproj +2 -2
- data/tracks/csharp/exercises/two-bucket/TwoBucket.csproj +2 -2
- data/tracks/csharp/exercises/two-fer/TwoFer.csproj +2 -2
- data/tracks/csharp/exercises/variable-length-quantity/VariableLengthQuantity.csproj +2 -2
- data/tracks/csharp/exercises/word-count/WordCount.csproj +2 -2
- data/tracks/csharp/exercises/word-search/WordSearch.csproj +2 -2
- data/tracks/csharp/exercises/wordy/Wordy.csproj +2 -2
- data/tracks/csharp/exercises/zebra-puzzle/ZebraPuzzle.csproj +2 -2
- data/tracks/csharp/exercises/zipper/Zipper.csproj +2 -2
- data/tracks/csharp/generators/Exercises/Connect.cs +47 -0
- data/tracks/csharp/generators/Exercises/Triangle.cs +1 -1
- data/tracks/dart/config/maintainers.json +27 -1
- data/tracks/dart/pubspec.yaml +3 -0
- data/tracks/dart/tool/create-exercise +144 -5
- data/tracks/elm/.gitattributes +1 -0
- data/tracks/elm/bin/install-elm-format +9 -3
- data/tracks/elm/config.json +30 -0
- data/tracks/elm/exercises/all-your-base/AllYourBase.elm +1 -0
- data/tracks/elm/exercises/all-your-base/AllYourBase.example.elm +68 -0
- data/tracks/elm/exercises/all-your-base/README.md +65 -0
- data/tracks/elm/exercises/all-your-base/elm-package.json +15 -0
- data/tracks/elm/exercises/all-your-base/tests/Tests.elm +53 -0
- data/tracks/elm/exercises/all-your-base/tests/elm-package.json +16 -0
- data/tracks/elm/exercises/collatz-conjecture/CollatzConjecture.elm +2 -0
- data/tracks/elm/exercises/collatz-conjecture/CollatzConjecture.example.elm +19 -0
- data/tracks/elm/exercises/collatz-conjecture/elm-package.json +15 -0
- data/tracks/elm/exercises/collatz-conjecture/package.json +14 -0
- data/tracks/elm/exercises/collatz-conjecture/tests/Tests.elm +38 -0
- data/tracks/elm/exercises/collatz-conjecture/tests/elm-package.json +16 -0
- data/tracks/elm/exercises/isogram/Isogram.elm +1 -0
- data/tracks/elm/exercises/isogram/Isogram.example.elm +76 -0
- data/tracks/elm/exercises/isogram/README.md +50 -0
- data/tracks/elm/exercises/isogram/elm-package.json +14 -0
- data/tracks/elm/exercises/isogram/package.json +14 -0
- data/tracks/elm/exercises/isogram/tests/Tests.elm +46 -0
- data/tracks/elm/exercises/isogram/tests/elm-package.json +16 -0
- data/tracks/fsharp/.gitignore +2 -1
- data/tracks/fsharp/exercises/accumulate/Accumulate.fsproj +3 -2
- data/tracks/fsharp/exercises/acronym/Acronym.fs +1 -1
- data/tracks/fsharp/exercises/acronym/Acronym.fsproj +3 -2
- data/tracks/fsharp/exercises/acronym/AcronymTest.fs +13 -38
- data/tracks/fsharp/exercises/acronym/Example.fs +1 -1
- data/tracks/fsharp/exercises/all-your-base/AllYourBase.fsproj +3 -2
- data/tracks/fsharp/exercises/all-your-base/AllYourBaseTest.fs +64 -61
- data/tracks/fsharp/exercises/all-your-base/Example.fs +4 -1
- data/tracks/fsharp/exercises/allergies/Allergies.fs +2 -2
- data/tracks/fsharp/exercises/allergies/Allergies.fsproj +3 -2
- data/tracks/fsharp/exercises/allergies/AllergiesTest.fs +28 -37
- data/tracks/fsharp/exercises/allergies/Example.fs +3 -3
- data/tracks/fsharp/exercises/alphametics/Alphametics.fsproj +3 -2
- data/tracks/fsharp/exercises/anagram/Anagram.fsproj +3 -2
- data/tracks/fsharp/exercises/atbash-cipher/AtbashCipher.fs +4 -2
- data/tracks/fsharp/exercises/atbash-cipher/AtbashCipher.fsproj +3 -2
- data/tracks/fsharp/exercises/atbash-cipher/AtbashCipherTest.fs +38 -42
- data/tracks/fsharp/exercises/atbash-cipher/Example.fs +5 -3
- data/tracks/fsharp/exercises/bank-account/BankAccount.fsproj +3 -2
- data/tracks/fsharp/exercises/beer-song/BeerSong.fsproj +3 -2
- data/tracks/fsharp/exercises/beer-song/BeerSongTest.fs +36 -32
- data/tracks/fsharp/exercises/beer-song/Example.fs +2 -2
- data/tracks/fsharp/exercises/binary-search/BinarySearch.fsproj +3 -2
- data/tracks/fsharp/exercises/binary-search-tree/BinarySearchTree.fsproj +3 -2
- data/tracks/fsharp/exercises/bob/Bob.fs +1 -1
- data/tracks/fsharp/exercises/bob/Bob.fsproj +3 -2
- data/tracks/fsharp/exercises/bob/BobTest.fs +64 -20
- data/tracks/fsharp/exercises/bob/Example.fs +3 -4
- data/tracks/fsharp/exercises/book-store/BookStore.fs +1 -1
- data/tracks/fsharp/exercises/book-store/BookStore.fsproj +3 -2
- data/tracks/fsharp/exercises/book-store/BookStoreTest.fs +32 -25
- data/tracks/fsharp/exercises/book-store/Example.fs +1 -1
- data/tracks/fsharp/exercises/bowling/Bowling.fsproj +3 -2
- data/tracks/fsharp/exercises/bracket-push/BracketPush.fs +1 -1
- data/tracks/fsharp/exercises/bracket-push/BracketPush.fsproj +3 -2
- data/tracks/fsharp/exercises/bracket-push/BracketPushTest.fs +24 -25
- data/tracks/fsharp/exercises/bracket-push/Example.fs +1 -1
- data/tracks/fsharp/exercises/change/Change.fs +1 -1
- data/tracks/fsharp/exercises/change/Change.fsproj +3 -2
- data/tracks/fsharp/exercises/change/ChangeTest.fs +42 -18
- data/tracks/fsharp/exercises/change/Example.fs +7 -4
- data/tracks/fsharp/exercises/circular-buffer/CircularBuffer.fsproj +3 -2
- data/tracks/fsharp/exercises/clock/Clock.fsproj +3 -2
- data/tracks/fsharp/exercises/connect/Connect.fsproj +3 -2
- data/tracks/fsharp/exercises/crypto-square/CryptoSquare.fs +1 -40
- data/tracks/fsharp/exercises/crypto-square/CryptoSquare.fsproj +3 -2
- data/tracks/fsharp/exercises/crypto-square/CryptoSquareTest.fs +16 -40
- data/tracks/fsharp/exercises/crypto-square/Example.fs +13 -16
- data/tracks/fsharp/exercises/custom-set/CustomSet.fs +12 -12
- data/tracks/fsharp/exercises/custom-set/CustomSet.fsproj +3 -2
- data/tracks/fsharp/exercises/diamond/Diamond.fsproj +3 -2
- data/tracks/fsharp/exercises/difference-of-squares/DifferenceOfSquares.fs +2 -2
- data/tracks/fsharp/exercises/difference-of-squares/DifferenceOfSquares.fsproj +3 -2
- data/tracks/fsharp/exercises/difference-of-squares/DifferenceOfSquaresTest.fs +24 -20
- data/tracks/fsharp/exercises/difference-of-squares/Example.fs +3 -3
- data/tracks/fsharp/exercises/diffie-hellman/DiffieHellman.fsproj +3 -2
- data/tracks/fsharp/exercises/dominoes/Dominoes.fsproj +3 -2
- data/tracks/fsharp/exercises/dot-dsl/DotDsl.fsproj +3 -2
- data/tracks/fsharp/exercises/error-handling/ErrorHandling.fsproj +3 -2
- data/tracks/fsharp/exercises/etl/Etl.fsproj +3 -2
- data/tracks/fsharp/exercises/food-chain/FoodChain.fsproj +3 -2
- data/tracks/fsharp/exercises/forth/Forth.fsproj +3 -2
- data/tracks/fsharp/exercises/gigasecond/Example.fs +1 -3
- data/tracks/fsharp/exercises/gigasecond/Gigasecond.fs +1 -1
- data/tracks/fsharp/exercises/gigasecond/Gigasecond.fsproj +3 -2
- data/tracks/fsharp/exercises/gigasecond/GigasecondTest.fs +21 -12
- data/tracks/fsharp/exercises/go-counting/GoCounting.fsproj +3 -2
- data/tracks/fsharp/exercises/grade-school/GradeSchool.fsproj +3 -2
- data/tracks/fsharp/exercises/grains/Grains.fsproj +3 -2
- data/tracks/fsharp/exercises/grep/Grep.fsproj +3 -2
- data/tracks/fsharp/exercises/hamming/Hamming.fsproj +3 -2
- data/tracks/fsharp/exercises/hangman/Hangman.fsproj +3 -2
- data/tracks/fsharp/exercises/hello-world/HelloWorld.fsproj +3 -2
- data/tracks/fsharp/exercises/hello-world/HelloWorldTest.fs +6 -3
- data/tracks/fsharp/exercises/house/House.fsproj +3 -2
- data/tracks/fsharp/exercises/isogram/Example.fs +1 -1
- data/tracks/fsharp/exercises/isogram/Isogram.fs +1 -1
- data/tracks/fsharp/exercises/isogram/Isogram.fsproj +3 -2
- data/tracks/fsharp/exercises/isogram/IsogramTest.fs +16 -40
- data/tracks/fsharp/exercises/kindergarten-garden/Example.fs +6 -4
- data/tracks/fsharp/exercises/kindergarten-garden/KindergartenGarden.fs +3 -5
- data/tracks/fsharp/exercises/kindergarten-garden/KindergartenGarden.fsproj +3 -2
- data/tracks/fsharp/exercises/kindergarten-garden/KindergartenGardenTest.fs +100 -47
- data/tracks/fsharp/exercises/largest-series-product/LargestSeriesProduct.fsproj +3 -2
- data/tracks/fsharp/exercises/leap/Example.fs +2 -2
- data/tracks/fsharp/exercises/leap/Leap.fs +2 -2
- data/tracks/fsharp/exercises/leap/Leap.fsproj +3 -2
- data/tracks/fsharp/exercises/leap/LeapTest.fs +19 -15
- data/tracks/fsharp/exercises/ledger/Ledger.fsproj +3 -2
- data/tracks/fsharp/exercises/lens-person/LensPerson.fsproj +3 -2
- data/tracks/fsharp/exercises/linked-list/LinkedList.fsproj +3 -2
- data/tracks/fsharp/exercises/list-ops/ListOps.fsproj +3 -2
- data/tracks/fsharp/exercises/luhn/Luhn.fsproj +3 -2
- data/tracks/fsharp/exercises/luhn/LuhnTest.fs +30 -65
- data/tracks/fsharp/exercises/markdown/Markdown.fsproj +3 -2
- data/tracks/fsharp/exercises/matrix/Matrix.fsproj +3 -2
- data/tracks/fsharp/exercises/meetup/Meetup.fsproj +3 -2
- data/tracks/fsharp/exercises/minesweeper/Example.fs +9 -11
- data/tracks/fsharp/exercises/minesweeper/Minesweeper.fsproj +3 -2
- data/tracks/fsharp/exercises/minesweeper/MinesweeperTest.fs +117 -80
- data/tracks/fsharp/exercises/nth-prime/NthPrime.fsproj +3 -2
- data/tracks/fsharp/exercises/nucleotide-count/NucleotideCount.fsproj +3 -2
- data/tracks/fsharp/exercises/ocr-numbers/OcrNumbers.fsproj +3 -2
- data/tracks/fsharp/exercises/palindrome-products/PalindromeProducts.fsproj +3 -2
- data/tracks/fsharp/exercises/pangram/Pangram.fsproj +3 -2
- data/tracks/fsharp/exercises/pangram/PangramTest.fs +15 -27
- data/tracks/fsharp/exercises/parallel-letter-frequency/ParallelLetterFrequency.fsproj +3 -2
- data/tracks/fsharp/exercises/pascals-triangle/PascalsTriangle.fsproj +3 -2
- data/tracks/fsharp/exercises/perfect-numbers/PerfectNumbers.fsproj +3 -2
- data/tracks/fsharp/exercises/phone-number/PhoneNumber.fsproj +3 -2
- data/tracks/fsharp/exercises/pig-latin/Example.fs +1 -1
- data/tracks/fsharp/exercises/pig-latin/PigLatin.fsproj +3 -2
- data/tracks/fsharp/exercises/pig-latin/PigLatinTest.fs +64 -26
- data/tracks/fsharp/exercises/poker/Poker.fsproj +3 -2
- data/tracks/fsharp/exercises/pov/Pov.fsproj +3 -2
- data/tracks/fsharp/exercises/prime-factors/PrimeFactors.fsproj +3 -2
- data/tracks/fsharp/exercises/protein-translation/ProteinTranslation.fsproj +3 -2
- data/tracks/fsharp/exercises/proverb/Proverb.fsproj +3 -2
- data/tracks/fsharp/exercises/pythagorean-triplet/PythagoreanTriplet.fsproj +3 -2
- data/tracks/fsharp/exercises/queen-attack/Example.fs +3 -1
- data/tracks/fsharp/exercises/queen-attack/QueenAttack.fs +2 -0
- data/tracks/fsharp/exercises/queen-attack/QueenAttack.fsproj +3 -2
- data/tracks/fsharp/exercises/queen-attack/QueenAttackTest.fs +50 -20
- data/tracks/fsharp/exercises/rail-fence-cipher/RailFenceCipher.fsproj +3 -2
- data/tracks/fsharp/exercises/raindrops/Raindrops.fsproj +3 -2
- data/tracks/fsharp/exercises/raindrops/RaindropsTest.fs +77 -37
- data/tracks/fsharp/exercises/react/React.fsproj +3 -2
- data/tracks/fsharp/exercises/rectangles/Rectangles.fsproj +3 -2
- data/tracks/fsharp/exercises/rna-transcription/Example.fs +15 -7
- data/tracks/fsharp/exercises/rna-transcription/RnaTranscription.fs +2 -2
- data/tracks/fsharp/exercises/rna-transcription/RnaTranscription.fsproj +3 -2
- data/tracks/fsharp/exercises/rna-transcription/RnaTranscriptionTest.fs +29 -14
- data/tracks/fsharp/exercises/robot-name/RobotName.fsproj +3 -2
- data/tracks/fsharp/exercises/robot-simulator/RobotSimulator.fsproj +3 -2
- data/tracks/fsharp/exercises/roman-numerals/Example.fs +2 -2
- data/tracks/fsharp/exercises/roman-numerals/RomanNumerals.fs +2 -2
- data/tracks/fsharp/exercises/roman-numerals/RomanNumerals.fsproj +3 -2
- data/tracks/fsharp/exercises/roman-numerals/RomanNumeralsTest.fs +79 -26
- data/tracks/fsharp/exercises/run-length-encoding/RunLengthEncoding.fsproj +3 -2
- data/tracks/fsharp/exercises/saddle-points/SaddlePoints.fsproj +3 -2
- data/tracks/fsharp/exercises/say/Say.fsproj +3 -2
- data/tracks/fsharp/exercises/scale-generator/ScaleGenerator.fsproj +3 -2
- data/tracks/fsharp/exercises/scrabble-score/ScrabbleScore.fsproj +3 -2
- data/tracks/fsharp/exercises/scrabble-score/ScrabbleScoreTest.fs +33 -17
- data/tracks/fsharp/exercises/secret-handshake/SecretHandshake.fsproj +3 -2
- data/tracks/fsharp/exercises/series/Series.fsproj +3 -2
- data/tracks/fsharp/exercises/sgf-parsing/SgfParsing.fsproj +3 -2
- data/tracks/fsharp/exercises/sieve/Sieve.fsproj +3 -2
- data/tracks/fsharp/exercises/simple-cipher/SimpleCipher.fsproj +3 -2
- data/tracks/fsharp/exercises/simple-linked-list/SimpleLinkedList.fsproj +3 -2
- data/tracks/fsharp/exercises/space-age/SpaceAge.fsproj +3 -2
- data/tracks/fsharp/exercises/strain/Strain.fsproj +3 -2
- data/tracks/fsharp/exercises/sublist/Sublist.fsproj +3 -2
- data/tracks/fsharp/exercises/sum-of-multiples/SumOfMultiples.fsproj +3 -2
- data/tracks/fsharp/exercises/tournament/Tournament.fsproj +3 -2
- data/tracks/fsharp/exercises/transpose/Transpose.fsproj +3 -2
- data/tracks/fsharp/exercises/tree-building/TreeBuilding.fsproj +3 -2
- data/tracks/fsharp/exercises/triangle/Triangle.fsproj +3 -2
- data/tracks/fsharp/exercises/twelve-days/TwelveDays.fsproj +3 -2
- data/tracks/fsharp/exercises/two-bucket/TwoBucket.fsproj +3 -2
- data/tracks/fsharp/exercises/two-fer/TwoFer.fsproj +3 -2
- data/tracks/fsharp/exercises/variable-length-quantity/VariableLengthQuantity.fsproj +3 -2
- data/tracks/fsharp/exercises/word-count/WordCount.fsproj +3 -2
- data/tracks/fsharp/exercises/word-search/WordSearch.fsproj +3 -2
- data/tracks/fsharp/exercises/wordy/Wordy.fsproj +3 -2
- data/tracks/fsharp/exercises/zebra-puzzle/ZebraPuzzle.fsproj +3 -2
- data/tracks/fsharp/exercises/zipper/Zipper.fsproj +3 -2
- data/tracks/fsharp/generators/Common.fs +96 -0
- data/tracks/fsharp/generators/Exercise.fs +250 -0
- data/tracks/fsharp/generators/Generators.fs +210 -0
- data/tracks/fsharp/generators/Generators.fsproj +32 -0
- data/tracks/fsharp/generators/Generators.sln +24 -0
- data/tracks/fsharp/generators/Input.fs +99 -0
- data/tracks/fsharp/generators/Options.fs +31 -0
- data/tracks/fsharp/generators/Output.fs +224 -0
- data/tracks/fsharp/generators/Program.fs +35 -0
- data/tracks/fsharp/generators/Properties/launchSettings.json +8 -0
- data/tracks/fsharp/generators/Templates/_AssertEmpty.liquid +1 -0
- data/tracks/fsharp/generators/Templates/_AssertEqual.liquid +1 -0
- data/tracks/fsharp/generators/Templates/_TestClass.liquid +13 -0
- data/tracks/fsharp/generators/Templates/_TestMethod.liquid +3 -0
- data/tracks/fsharp/generators/Templates/_TestMethodBody.liquid +4 -0
- data/tracks/go/.travis.yml +3 -3
- data/tracks/groovy/CONTRIBUTING.md +2 -2
- data/tracks/groovy/config.json +12 -0
- data/tracks/groovy/exercises/scrabble-score/Example.groovy +18 -0
- data/tracks/groovy/exercises/scrabble-score/README.md +63 -0
- data/tracks/groovy/exercises/scrabble-score/ScrabbleScore.groovy +7 -0
- data/tracks/groovy/exercises/scrabble-score/ScrabbleScoreSpec.groovy +45 -0
- data/tracks/groovy/exercises/two-fer/TwoFer.groovy +2 -2
- data/tracks/haskell/exercises/change/README.md +1 -1
- data/tracks/haskell/exercises/lens-person/README.md +1 -1
- data/tracks/haskell/exercises/palindrome-products/README.md +5 -12
- data/tracks/haskell/exercises/sum-of-multiples/README.md +0 -3
- data/tracks/idris/config.json +12 -0
- data/tracks/idris/exercises/accumulate/Accumulate.ipkg +5 -0
- data/tracks/idris/exercises/accumulate/Makefile +23 -0
- data/tracks/idris/exercises/accumulate/README.md +32 -0
- data/tracks/idris/exercises/accumulate/src/Example.idr +6 -0
- data/tracks/idris/exercises/accumulate/src/Test/Accumulate.idr +35 -0
- data/tracks/java/config/maintainers.json +4 -7
- data/tracks/java/config.json +99 -22
- data/tracks/java/exercises/binary-search-tree/.meta/src/reference/java/{BST.java → BinarySearchTree.java} +1 -1
- data/tracks/java/exercises/binary-search-tree/src/test/java/{BSTTest.java → BinarySearchTreeTest.java} +34 -36
- data/tracks/java/exercises/robot-simulator/src/main/java/GridPosition.java +19 -15
- data/tracks/java/exercises/saddle-points/.meta/src/reference/java/MatrixCoordinate.java +7 -1
- data/tracks/java/exercises/saddle-points/src/main/java/MatrixCoordinate.java +7 -1
- data/tracks/java/exercises/settings.gradle +1 -0
- data/tracks/java/exercises/tournament/.meta/src/reference/java/Result.java +5 -0
- data/tracks/java/exercises/tournament/.meta/src/reference/java/TeamResult.java +41 -0
- data/tracks/java/exercises/tournament/.meta/src/reference/java/Tournament.java +62 -0
- data/tracks/java/exercises/tournament/README.md +78 -0
- data/tracks/java/exercises/tournament/build.gradle +18 -0
- data/tracks/java/{.Rhistory → exercises/tournament/src/main/java/.keep} +0 -0
- data/tracks/java/exercises/tournament/src/test/java/TournamentTest.java +160 -0
- data/tracks/php/config.json +14 -0
- data/tracks/php/exercises/collatz-conjecture/collatz-conjecture_test.php +44 -0
- data/tracks/php/exercises/collatz-conjecture/example.php +18 -0
- data/tracks/python/exercises/circular-buffer/circular_buffer.py +1 -1
- data/tracks/python/exercises/clock/clock.py +1 -1
- data/tracks/python/exercises/etl/etl.py +1 -1
- data/tracks/python/exercises/grade-school/grade_school.py +1 -1
- data/tracks/python/exercises/grains/grains.py +2 -2
- data/tracks/python/exercises/kindergarten-garden/kindergarten_garden.py +1 -1
- data/tracks/python/exercises/linked-list/linked_list.py +1 -1
- data/tracks/python/exercises/rectangles/rectangles.py +1 -1
- data/tracks/python/exercises/sum-of-multiples/sum_of_multiples.py +1 -1
- data/tracks/rust/exercises/bob/tests/bob.rs +1 -0
- data/tracks/rust/exercises/crypto-square/tests/crypto-square.rs +7 -0
- data/tracks/rust/exercises/gigasecond/tests/gigasecond.rs +1 -1
- data/tracks/rust/exercises/phone-number/Cargo.lock +1 -1
- data/tracks/rust/exercises/phone-number/Cargo.toml +1 -1
- data/tracks/rust/exercises/phone-number/example.rs +17 -23
- data/tracks/rust/exercises/phone-number/tests/phone-number.rs +31 -40
- data/tracks/rust/exercises/say/tests/say.rs +2 -0
- data/tracks/rust/exercises/sum-of-multiples/README.md +0 -3
- data/tracks/scala/config.json +11 -0
- data/tracks/scala/exercises/collatz-conjecture/README.md +43 -0
- data/tracks/scala/exercises/collatz-conjecture/build.sbt +3 -0
- data/tracks/scala/exercises/collatz-conjecture/example.scala +17 -0
- data/tracks/scala/exercises/collatz-conjecture/src/main/scala/.keep +0 -0
- data/tracks/scala/exercises/collatz-conjecture/src/test/scala/CollatzConjectureTest.scala +34 -0
- data/tracks/scala/testgen/src/main/scala/CollatzConjectureTestGenerator.scala +35 -0
- data/tracks/scheme/config.json +8 -0
- data/tracks/scheme/exercises/word-count/README.md +19 -0
- data/tracks/scheme/exercises/word-count/example.scm +27 -0
- data/tracks/scheme/exercises/word-count/word-count-test.scm +90 -0
- data/tracks/scheme/exercises/word-count/word-count.scm +5 -0
- data/tracks/sml/README.md +20 -1
- data/tracks/sml/bin/generate +74 -20
- data/tracks/sml/exercises/binary/README.md +23 -5
- data/tracks/sml/exercises/binary/binary.sml +2 -0
- data/tracks/sml/exercises/binary/example.sml +10 -21
- data/tracks/sml/exercises/binary/test.sml +55 -30
- data/tracks/sml/exercises/binary/testlib.sml +159 -0
- data/tracks/sml/exercises/flatten-array/HINTS.md +8 -0
- data/tracks/sml/exercises/flatten-array/README.md +31 -6
- data/tracks/sml/exercises/flatten-array/example.sml +3 -4
- data/tracks/sml/exercises/flatten-array/flatten-array.sml +4 -5
- data/tracks/sml/exercises/flatten-array/test.sml +76 -52
- data/tracks/sml/exercises/flatten-array/testlib.sml +159 -0
- data/tracks/sml/exercises/nth-prime/HINTS.md +9 -0
- data/tracks/sml/exercises/nth-prime/README.md +32 -5
- data/tracks/sml/exercises/nth-prime/example.sml +28 -46
- data/tracks/sml/exercises/nth-prime/nth-prime.sml +1 -1
- data/tracks/sml/exercises/nth-prime/test.sml +19 -63
- data/tracks/sml/exercises/nth-prime/testlib.sml +159 -0
- data/tracks/sml/exercises/raindrops/README.md +21 -5
- data/tracks/typescript/config.json +14 -0
- data/tracks/typescript/exercises/triangle/README.md +55 -0
- data/tracks/typescript/exercises/triangle/package.json +36 -0
- data/tracks/typescript/exercises/triangle/triangle.example.ts +56 -0
- data/tracks/typescript/exercises/triangle/triangle.test.ts +79 -0
- data/tracks/typescript/exercises/triangle/triangle.ts +12 -0
- data/tracks/typescript/exercises/triangle/tsconfig.json +22 -0
- data/tracks/typescript/exercises/triangle/tslint.json +127 -0
- data/tracks/typescript/exercises/triangle/yarn.lock +2305 -0
- metadata +85 -6
- data/tracks/d/exercises/crypto-square/.dub/dub.json +0 -6
|
@@ -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
|
## Getting Started
|
|
@@ -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
|
## Getting Started
|
|
34
33
|
|
|
35
34
|
Make sure you have read the
|
|
@@ -9,7 +9,7 @@ letter, the second with the second-last, and so on.
|
|
|
9
9
|
|
|
10
10
|
An Atbash cipher for the Latin alphabet would be as follows:
|
|
11
11
|
|
|
12
|
-
```
|
|
12
|
+
```text
|
|
13
13
|
Plain: abcdefghijklmnopqrstuvwxyz
|
|
14
14
|
Cipher: zyxwvutsrqponmlkjihgfedcba
|
|
15
15
|
```
|
|
@@ -23,6 +23,7 @@ being 5 letters, and punctuation is excluded. This is to make it harder to guess
|
|
|
23
23
|
things based on word boundaries.
|
|
24
24
|
|
|
25
25
|
## Examples
|
|
26
|
+
|
|
26
27
|
- Encoding `test` gives `gvhg`
|
|
27
28
|
- Decoding `gvhg` gives `test`
|
|
28
29
|
- Decoding `gsvjf rxpyi ldmul cqfnk hlevi gsvoz abwlt` gives `thequickbrownfoxjumpsoverthelazydog`
|
|
@@ -4,7 +4,7 @@ Produce the lyrics to that beloved classic, that field-trip favorite: 99 Bottles
|
|
|
4
4
|
|
|
5
5
|
Note that not all verses are identical.
|
|
6
6
|
|
|
7
|
-
```
|
|
7
|
+
```text
|
|
8
8
|
99 bottles of beer on the wall, 99 bottles of beer.
|
|
9
9
|
Take one down and pass it around, 98 bottles of beer on the wall.
|
|
10
10
|
|
|
@@ -7,10 +7,12 @@ string, your program should produce a decimal output. The
|
|
|
7
7
|
program should handle invalid inputs.
|
|
8
8
|
|
|
9
9
|
## Note
|
|
10
|
+
|
|
10
11
|
- Implement the conversion yourself.
|
|
11
12
|
Do not use something else to perform the conversion for you.
|
|
12
13
|
|
|
13
14
|
## About Binary (Base-2)
|
|
15
|
+
|
|
14
16
|
Decimal is a base-10 system.
|
|
15
17
|
|
|
16
18
|
A number 23 in base 10 notation can be understood
|
|
@@ -2,13 +2,14 @@
|
|
|
2
2
|
|
|
3
3
|
Determine if a word or phrase is an isogram.
|
|
4
4
|
|
|
5
|
-
An isogram (also known as a "nonpattern word") is a word or phrase without a repeating letter.
|
|
5
|
+
An isogram (also known as a "nonpattern word") is a word or phrase without a repeating letter, however spaces and hyphens are allowed to appear multiple times.
|
|
6
6
|
|
|
7
7
|
Examples of isograms:
|
|
8
8
|
|
|
9
9
|
- lumberjacks
|
|
10
10
|
- background
|
|
11
11
|
- downstream
|
|
12
|
+
- six-year-old
|
|
12
13
|
|
|
13
14
|
The word *isograms*, however, is not an isogram, because the s repeats.
|
|
14
15
|
|
|
@@ -4,7 +4,7 @@ Given a year, report if it is a leap year.
|
|
|
4
4
|
|
|
5
5
|
The tricky thing here is that a leap year in the Gregorian calendar occurs:
|
|
6
6
|
|
|
7
|
-
```
|
|
7
|
+
```text
|
|
8
8
|
on every year that is evenly divisible by 4
|
|
9
9
|
except every year that is evenly divisible by 100
|
|
10
10
|
unless the year is also evenly divisible by 400
|
|
@@ -18,10 +18,9 @@ end in '-teenth'. Therefore, one is guaranteed that each day of the week
|
|
|
18
18
|
(Monday, Tuesday, ...) will have exactly one date that is named with '-teenth'
|
|
19
19
|
in every month.
|
|
20
20
|
|
|
21
|
-
Given examples of a meetup dates, each containing a month, day, year, and descriptor
|
|
21
|
+
Given examples of a meetup dates, each containing a month, day, year, and descriptor
|
|
22
22
|
(first, second, teenth, etc), calculate the date of the actual meetup.
|
|
23
23
|
For example, if given "First Monday of January 2017", the correct meetup date is 2017/1/2
|
|
24
|
-
|
|
25
24
|
|
|
26
25
|
## Getting Started
|
|
27
26
|
|
|
@@ -1,30 +1,16 @@
|
|
|
1
1
|
# Nucleotide Count
|
|
2
2
|
|
|
3
|
-
Given a DNA string, compute how many times each nucleotide occurs in the string.
|
|
3
|
+
Given a single stranded DNA string, compute how many times each nucleotide occurs in the string.
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
Each symbol represents a nucleotide, which is a fancy name for the
|
|
9
|
-
particular molecules that happen to make up a large part of DNA.
|
|
10
|
-
|
|
11
|
-
Shortest intro to biochemistry EVAR:
|
|
5
|
+
The genetic language of every living thing on the planet is DNA.
|
|
6
|
+
DNA is a large molecule that is built from an extremely long sequence of individual elements called nucleotides.
|
|
7
|
+
4 types exist in DNA and these differ only slightly and can be represented as the following symbols: 'A' for adenine, 'C' for cytosine, 'G' for guanine, and 'T' thymine.
|
|
12
8
|
|
|
9
|
+
Here is an analogy:
|
|
13
10
|
- twigs are to birds nests as
|
|
14
|
-
- nucleotides are to DNA
|
|
15
|
-
-
|
|
16
|
-
-
|
|
17
|
-
- oh crap lipids
|
|
18
|
-
|
|
19
|
-
I'm not going to talk about lipids because they're crazy complex.
|
|
20
|
-
|
|
21
|
-
So back to nucleotides.
|
|
22
|
-
|
|
23
|
-
DNA contains four types of them: adenine (`A`), cytosine (`C`), guanine
|
|
24
|
-
(`G`), and thymine (`T`).
|
|
25
|
-
|
|
26
|
-
RNA contains a slightly different set of nucleotides, but we don't care
|
|
27
|
-
about that for now.
|
|
11
|
+
- nucleotides are to DNA as
|
|
12
|
+
- legos are to lego houses as
|
|
13
|
+
- words are to sentences as...
|
|
28
14
|
|
|
29
15
|
## Getting Started
|
|
30
16
|
|
|
@@ -14,24 +14,30 @@ product: `91 * 99 = 9009`.
|
|
|
14
14
|
|
|
15
15
|
It's possible (and indeed common) for a palindrome product to be the product
|
|
16
16
|
of multiple combinations of numbers. For example, the palindrome product `9` has
|
|
17
|
-
the factors `(1, 9)
|
|
17
|
+
the factors `(1, 9)` and `(3, 3)`.
|
|
18
18
|
|
|
19
19
|
Write a program that given a range of integers, returns the smallest and largest
|
|
20
|
-
palindromic product within that range, along with all
|
|
20
|
+
palindromic product of factors within that range, along with all the factors in the range for that product.
|
|
21
21
|
|
|
22
22
|
## Example 1
|
|
23
23
|
|
|
24
24
|
Given the range `[1, 9]` (both inclusive)...
|
|
25
25
|
|
|
26
|
-
|
|
27
|
-
|
|
26
|
+
And given the list of all possible products within this range:
|
|
27
|
+
`[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 14, 16, 18, 15, 21, 24, 27, 20, 28, 32, 36, 25, 30, 35, 40, 45, 42, 48, 54, 49, 56, 63, 64, 72, 81]`
|
|
28
|
+
|
|
29
|
+
The palindrome products are all single digit numbers (in this case):
|
|
30
|
+
`[1, 2, 3, 4, 5, 6, 7, 8, 9]`
|
|
31
|
+
|
|
32
|
+
The smallest palindrome product is `1`. Its factors are `(1, 1)`.
|
|
33
|
+
The largest palindrome product is `9`. Its factors are `(1, 9)` and `(3, 3)`.
|
|
28
34
|
|
|
29
35
|
## Example 2
|
|
30
36
|
|
|
31
37
|
Given the range `[10, 99]` (both inclusive)...
|
|
32
38
|
|
|
33
|
-
The smallest palindrome product is `121`.
|
|
34
|
-
The largest palindrome product is `9009`.
|
|
39
|
+
The smallest palindrome product is `121`. Its factors are `(11, 11)`.
|
|
40
|
+
The largest palindrome product is `9009`. Its factors are `(91, 99)`.
|
|
35
41
|
|
|
36
42
|
## Getting Started
|
|
37
43
|
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Determine if a sentence is a pangram. A pangram (Greek: παν γράμμα, pan gramma,
|
|
4
4
|
"every letter") is a sentence using every letter of the alphabet at least once.
|
|
5
|
-
The best known English pangram is:
|
|
5
|
+
The best known English pangram is:
|
|
6
6
|
> The quick brown fox jumps over the lazy dog.
|
|
7
7
|
|
|
8
8
|
The alphabet used consists of ASCII letters `a` to `z`, inclusive, and is case
|
|
@@ -5,7 +5,7 @@ Nicomachus' (60 - 120 CE) classification scheme for natural numbers.
|
|
|
5
5
|
|
|
6
6
|
The Greek mathematician [Nicomachus](https://en.wikipedia.org/wiki/Nicomachus) devised a classification scheme for natural numbers, identifying each as belonging uniquely to the categories of **perfect**, **abundant**, or **deficient** based on their [aliquot sum](https://en.wikipedia.org/wiki/Aliquot_sum). The aliquot sum is defined as the sum of the factors of a number not including the number itself. For example, the aliquot sum of 15 is (1 + 3 + 5) = 9
|
|
7
7
|
|
|
8
|
-
- **Perfect**: aliquot sum = number
|
|
8
|
+
- **Perfect**: aliquot sum = number
|
|
9
9
|
- 6 is a perfect number because (1 + 2 + 3) = 6
|
|
10
10
|
- 28 is a perfect number because (1 + 2 + 4 + 7 + 14) = 28
|
|
11
11
|
- **Abundant**: aliquot sum > number
|
|
@@ -14,7 +14,7 @@ The Greek mathematician [Nicomachus](https://en.wikipedia.org/wiki/Nicomachus) d
|
|
|
14
14
|
- **Deficient**: aliquot sum < number
|
|
15
15
|
- 8 is a deficient number because (1 + 2 + 4) = 7
|
|
16
16
|
- Prime numbers are deficient
|
|
17
|
-
|
|
17
|
+
|
|
18
18
|
Implement a way to determine whether a given number is **perfect**. Depending on your language track, you may also need to implement a way to determine whether a given number is **abundant** or **deficient**.
|
|
19
19
|
|
|
20
20
|
## Getting Started
|
|
@@ -6,11 +6,12 @@ The **North American Numbering Plan (NANP)** is a telephone numbering system use
|
|
|
6
6
|
|
|
7
7
|
NANP numbers are ten-digit numbers consisting of a three-digit Numbering Plan Area code, commonly known as *area code*, followed by a seven-digit local number. The first three digits of the local number represent the *exchange code*, followed by the unique four-digit number which is the *subscriber number*.
|
|
8
8
|
|
|
9
|
-
|
|
10
9
|
The format is usually represented as
|
|
11
|
-
|
|
10
|
+
|
|
11
|
+
```text
|
|
12
12
|
(NXX)-NXX-XXXX
|
|
13
13
|
```
|
|
14
|
+
|
|
14
15
|
where `N` is any digit from 2 through 9 and `X` is any digit from 0 through 9.
|
|
15
16
|
|
|
16
17
|
Your task is to clean up differently formated telephone numbers by removing punctuation and the country code (1) if present.
|
|
@@ -6,7 +6,7 @@ Given a word, compute the scrabble score for that word.
|
|
|
6
6
|
|
|
7
7
|
You'll need these:
|
|
8
8
|
|
|
9
|
-
```
|
|
9
|
+
```text
|
|
10
10
|
Letter Value
|
|
11
11
|
A, E, I, O, U, L, N, R, S, T 1
|
|
12
12
|
D, G 2
|
|
@@ -18,6 +18,7 @@ Q, Z 10
|
|
|
18
18
|
```
|
|
19
19
|
|
|
20
20
|
## Examples
|
|
21
|
+
|
|
21
22
|
"cabbage" should be scored as worth 14 points:
|
|
22
23
|
|
|
23
24
|
- 3 points for C
|
|
@@ -34,6 +35,7 @@ And to total:
|
|
|
34
35
|
- = 14
|
|
35
36
|
|
|
36
37
|
## Extensions
|
|
38
|
+
|
|
37
39
|
- You can play a double or a triple letter.
|
|
38
40
|
- You can play a double or a triple word.
|
|
39
41
|
|
|
@@ -12,7 +12,8 @@ Given an age in seconds, calculate how old someone would be on:
|
|
|
12
12
|
- Neptune: orbital period 164.79132 Earth years
|
|
13
13
|
|
|
14
14
|
So if you were told someone were 1,000,000,000 seconds old, you should
|
|
15
|
-
be able to say that they're 31 Earth-years old.
|
|
15
|
+
be able to say that they're 31.69 Earth-years old. Round all ages to
|
|
16
|
+
the nearest hundredth of a year.
|
|
16
17
|
|
|
17
18
|
If you're wondering why Pluto didn't make the cut, go watch [this
|
|
18
19
|
youtube video](http://www.youtube.com/watch?v=Z_2gbGXzFbs).
|
|
@@ -2,23 +2,26 @@
|
|
|
2
2
|
|
|
3
3
|
Determine if a triangle is equilateral, isosceles, or scalene.
|
|
4
4
|
|
|
5
|
-
An _equilateral_ triangle has all three sides the same length
|
|
5
|
+
An _equilateral_ triangle has all three sides the same length.
|
|
6
|
+
|
|
6
7
|
An _isosceles_ triangle has at least two sides the same length. (It is sometimes
|
|
7
8
|
specified as having exactly two sides the same length, but for the purposes of
|
|
8
|
-
this exercise we'll say at least two.)
|
|
9
|
+
this exercise we'll say at least two.)
|
|
10
|
+
|
|
9
11
|
A _scalene_ triangle has all sides of different lengths.
|
|
10
12
|
|
|
11
13
|
## Note
|
|
12
14
|
|
|
13
|
-
For a shape to be a triangle at all, all sides have to be of length > 0, and
|
|
14
|
-
the sum of the lengths of any two sides must be greater than or equal to the
|
|
15
|
+
For a shape to be a triangle at all, all sides have to be of length > 0, and
|
|
16
|
+
the sum of the lengths of any two sides must be greater than or equal to the
|
|
15
17
|
length of the third side. See [Triangle Inequality](https://en.wikipedia.org/wiki/Triangle_inequality).
|
|
16
18
|
|
|
17
19
|
## Dig Deeper
|
|
18
20
|
|
|
19
|
-
The case where the sum of the lengths of two sides _equals_ that of the
|
|
20
|
-
third is known as a _degenerate_ triangle - it has zero area and looks like
|
|
21
|
+
The case where the sum of the lengths of two sides _equals_ that of the
|
|
22
|
+
third is known as a _degenerate_ triangle - it has zero area and looks like
|
|
21
23
|
a single line. Feel free to add your own code/tests to check for degenerate triangles.
|
|
24
|
+
|
|
22
25
|
## Getting Started
|
|
23
26
|
|
|
24
27
|
Make sure you have read the
|
|
@@ -4,14 +4,13 @@ Given a phrase, count the occurrences of each word in that phrase.
|
|
|
4
4
|
|
|
5
5
|
For example for the input `"olly olly in come free"`
|
|
6
6
|
|
|
7
|
-
```
|
|
7
|
+
```text
|
|
8
8
|
olly: 2
|
|
9
9
|
in: 1
|
|
10
10
|
come: 1
|
|
11
11
|
free: 1
|
|
12
12
|
```
|
|
13
13
|
|
|
14
|
-
|
|
15
14
|
## Getting Started
|
|
16
15
|
|
|
17
16
|
Make sure you have read the
|
|
@@ -10,8 +10,8 @@
|
|
|
10
10
|
|
|
11
11
|
<ItemGroup>
|
|
12
12
|
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.3.0" />
|
|
13
|
-
<PackageReference Include="xunit" Version="2.
|
|
14
|
-
<PackageReference Include="xunit.runner.visualstudio" Version="2.
|
|
13
|
+
<PackageReference Include="xunit" Version="2.3.0" />
|
|
14
|
+
<PackageReference Include="xunit.runner.visualstudio" Version="2.3.0" />
|
|
15
15
|
</ItemGroup>
|
|
16
16
|
|
|
17
17
|
</Project>
|
|
@@ -11,8 +11,8 @@
|
|
|
11
11
|
|
|
12
12
|
<ItemGroup>
|
|
13
13
|
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.3.0" />
|
|
14
|
-
<PackageReference Include="xunit" Version="2.
|
|
15
|
-
<PackageReference Include="xunit.runner.visualstudio" Version="2.
|
|
14
|
+
<PackageReference Include="xunit" Version="2.3.0" />
|
|
15
|
+
<PackageReference Include="xunit.runner.visualstudio" Version="2.3.0" />
|
|
16
16
|
</ItemGroup>
|
|
17
17
|
|
|
18
18
|
</Project>
|
|
@@ -10,8 +10,8 @@
|
|
|
10
10
|
|
|
11
11
|
<ItemGroup>
|
|
12
12
|
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.3.0" />
|
|
13
|
-
<PackageReference Include="xunit" Version="2.
|
|
14
|
-
<PackageReference Include="xunit.runner.visualstudio" Version="2.
|
|
13
|
+
<PackageReference Include="xunit" Version="2.3.0" />
|
|
14
|
+
<PackageReference Include="xunit.runner.visualstudio" Version="2.3.0" />
|
|
15
15
|
</ItemGroup>
|
|
16
16
|
|
|
17
17
|
</Project>
|
|
@@ -10,8 +10,8 @@
|
|
|
10
10
|
|
|
11
11
|
<ItemGroup>
|
|
12
12
|
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.3.0" />
|
|
13
|
-
<PackageReference Include="xunit" Version="2.
|
|
14
|
-
<PackageReference Include="xunit.runner.visualstudio" Version="2.
|
|
13
|
+
<PackageReference Include="xunit" Version="2.3.0" />
|
|
14
|
+
<PackageReference Include="xunit.runner.visualstudio" Version="2.3.0" />
|
|
15
15
|
</ItemGroup>
|
|
16
16
|
|
|
17
17
|
</Project>
|
|
@@ -10,8 +10,8 @@
|
|
|
10
10
|
|
|
11
11
|
<ItemGroup>
|
|
12
12
|
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.3.0" />
|
|
13
|
-
<PackageReference Include="xunit" Version="2.
|
|
14
|
-
<PackageReference Include="xunit.runner.visualstudio" Version="2.
|
|
13
|
+
<PackageReference Include="xunit" Version="2.3.0" />
|
|
14
|
+
<PackageReference Include="xunit.runner.visualstudio" Version="2.3.0" />
|
|
15
15
|
<PackageReference Include="Sprache" Version="2.1.0" />
|
|
16
16
|
</ItemGroup>
|
|
17
17
|
|
|
@@ -10,8 +10,8 @@
|
|
|
10
10
|
|
|
11
11
|
<ItemGroup>
|
|
12
12
|
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.3.0" />
|
|
13
|
-
<PackageReference Include="xunit" Version="2.
|
|
14
|
-
<PackageReference Include="xunit.runner.visualstudio" Version="2.
|
|
13
|
+
<PackageReference Include="xunit" Version="2.3.0" />
|
|
14
|
+
<PackageReference Include="xunit.runner.visualstudio" Version="2.3.0" />
|
|
15
15
|
</ItemGroup>
|
|
16
16
|
|
|
17
17
|
</Project>
|
|
@@ -10,8 +10,8 @@
|
|
|
10
10
|
|
|
11
11
|
<ItemGroup>
|
|
12
12
|
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.3.0" />
|
|
13
|
-
<PackageReference Include="xunit" Version="2.
|
|
14
|
-
<PackageReference Include="xunit.runner.visualstudio" Version="2.
|
|
13
|
+
<PackageReference Include="xunit" Version="2.3.0" />
|
|
14
|
+
<PackageReference Include="xunit.runner.visualstudio" Version="2.3.0" />
|
|
15
15
|
</ItemGroup>
|
|
16
16
|
|
|
17
17
|
</Project>
|
|
@@ -10,8 +10,8 @@
|
|
|
10
10
|
|
|
11
11
|
<ItemGroup>
|
|
12
12
|
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.3.0" />
|
|
13
|
-
<PackageReference Include="xunit" Version="2.
|
|
14
|
-
<PackageReference Include="xunit.runner.visualstudio" Version="2.
|
|
13
|
+
<PackageReference Include="xunit" Version="2.3.0" />
|
|
14
|
+
<PackageReference Include="xunit.runner.visualstudio" Version="2.3.0" />
|
|
15
15
|
</ItemGroup>
|
|
16
16
|
|
|
17
17
|
</Project>
|
|
@@ -10,8 +10,8 @@
|
|
|
10
10
|
|
|
11
11
|
<ItemGroup>
|
|
12
12
|
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.3.0" />
|
|
13
|
-
<PackageReference Include="xunit" Version="2.
|
|
14
|
-
<PackageReference Include="xunit.runner.visualstudio" Version="2.
|
|
13
|
+
<PackageReference Include="xunit" Version="2.3.0" />
|
|
14
|
+
<PackageReference Include="xunit.runner.visualstudio" Version="2.3.0" />
|
|
15
15
|
</ItemGroup>
|
|
16
16
|
|
|
17
17
|
</Project>
|
|
@@ -10,8 +10,8 @@
|
|
|
10
10
|
|
|
11
11
|
<ItemGroup>
|
|
12
12
|
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.3.0" />
|
|
13
|
-
<PackageReference Include="xunit" Version="2.
|
|
14
|
-
<PackageReference Include="xunit.runner.visualstudio" Version="2.
|
|
13
|
+
<PackageReference Include="xunit" Version="2.3.0" />
|
|
14
|
+
<PackageReference Include="xunit.runner.visualstudio" Version="2.3.0" />
|
|
15
15
|
</ItemGroup>
|
|
16
16
|
|
|
17
17
|
</Project>
|
|
@@ -10,8 +10,8 @@
|
|
|
10
10
|
|
|
11
11
|
<ItemGroup>
|
|
12
12
|
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.3.0" />
|
|
13
|
-
<PackageReference Include="xunit" Version="2.
|
|
14
|
-
<PackageReference Include="xunit.runner.visualstudio" Version="2.
|
|
13
|
+
<PackageReference Include="xunit" Version="2.3.0" />
|
|
14
|
+
<PackageReference Include="xunit.runner.visualstudio" Version="2.3.0" />
|
|
15
15
|
</ItemGroup>
|
|
16
16
|
|
|
17
17
|
</Project>
|
|
@@ -10,8 +10,8 @@
|
|
|
10
10
|
|
|
11
11
|
<ItemGroup>
|
|
12
12
|
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.3.0" />
|
|
13
|
-
<PackageReference Include="xunit" Version="2.
|
|
14
|
-
<PackageReference Include="xunit.runner.visualstudio" Version="2.
|
|
13
|
+
<PackageReference Include="xunit" Version="2.3.0" />
|
|
14
|
+
<PackageReference Include="xunit.runner.visualstudio" Version="2.3.0" />
|
|
15
15
|
</ItemGroup>
|
|
16
16
|
|
|
17
17
|
</Project>
|
|
@@ -10,8 +10,8 @@
|
|
|
10
10
|
|
|
11
11
|
<ItemGroup>
|
|
12
12
|
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.3.0" />
|
|
13
|
-
<PackageReference Include="xunit" Version="2.
|
|
14
|
-
<PackageReference Include="xunit.runner.visualstudio" Version="2.
|
|
13
|
+
<PackageReference Include="xunit" Version="2.3.0" />
|
|
14
|
+
<PackageReference Include="xunit.runner.visualstudio" Version="2.3.0" />
|
|
15
15
|
</ItemGroup>
|
|
16
16
|
|
|
17
17
|
</Project>
|
|
@@ -10,8 +10,8 @@
|
|
|
10
10
|
|
|
11
11
|
<ItemGroup>
|
|
12
12
|
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.3.0" />
|
|
13
|
-
<PackageReference Include="xunit" Version="2.
|
|
14
|
-
<PackageReference Include="xunit.runner.visualstudio" Version="2.
|
|
13
|
+
<PackageReference Include="xunit" Version="2.3.0" />
|
|
14
|
+
<PackageReference Include="xunit.runner.visualstudio" Version="2.3.0" />
|
|
15
15
|
</ItemGroup>
|
|
16
16
|
|
|
17
17
|
</Project>
|
|
@@ -10,8 +10,8 @@
|
|
|
10
10
|
|
|
11
11
|
<ItemGroup>
|
|
12
12
|
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.3.0" />
|
|
13
|
-
<PackageReference Include="xunit" Version="2.
|
|
14
|
-
<PackageReference Include="xunit.runner.visualstudio" Version="2.
|
|
13
|
+
<PackageReference Include="xunit" Version="2.3.0" />
|
|
14
|
+
<PackageReference Include="xunit.runner.visualstudio" Version="2.3.0" />
|
|
15
15
|
</ItemGroup>
|
|
16
16
|
|
|
17
17
|
</Project>
|
|
@@ -10,8 +10,8 @@
|
|
|
10
10
|
|
|
11
11
|
<ItemGroup>
|
|
12
12
|
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.3.0" />
|
|
13
|
-
<PackageReference Include="xunit" Version="2.
|
|
14
|
-
<PackageReference Include="xunit.runner.visualstudio" Version="2.
|
|
13
|
+
<PackageReference Include="xunit" Version="2.3.0" />
|
|
14
|
+
<PackageReference Include="xunit.runner.visualstudio" Version="2.3.0" />
|
|
15
15
|
</ItemGroup>
|
|
16
16
|
|
|
17
17
|
</Project>
|
|
@@ -10,8 +10,8 @@
|
|
|
10
10
|
|
|
11
11
|
<ItemGroup>
|
|
12
12
|
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.3.0" />
|
|
13
|
-
<PackageReference Include="xunit" Version="2.
|
|
14
|
-
<PackageReference Include="xunit.runner.visualstudio" Version="2.
|
|
13
|
+
<PackageReference Include="xunit" Version="2.3.0" />
|
|
14
|
+
<PackageReference Include="xunit.runner.visualstudio" Version="2.3.0" />
|
|
15
15
|
</ItemGroup>
|
|
16
16
|
|
|
17
17
|
</Project>
|
|
@@ -10,8 +10,8 @@
|
|
|
10
10
|
|
|
11
11
|
<ItemGroup>
|
|
12
12
|
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.3.0" />
|
|
13
|
-
<PackageReference Include="xunit" Version="2.
|
|
14
|
-
<PackageReference Include="xunit.runner.visualstudio" Version="2.
|
|
13
|
+
<PackageReference Include="xunit" Version="2.3.0" />
|
|
14
|
+
<PackageReference Include="xunit.runner.visualstudio" Version="2.3.0" />
|
|
15
15
|
</ItemGroup>
|
|
16
16
|
|
|
17
17
|
</Project>
|
|
@@ -10,8 +10,8 @@
|
|
|
10
10
|
|
|
11
11
|
<ItemGroup>
|
|
12
12
|
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.3.0" />
|
|
13
|
-
<PackageReference Include="xunit" Version="2.
|
|
14
|
-
<PackageReference Include="xunit.runner.visualstudio" Version="2.
|
|
13
|
+
<PackageReference Include="xunit" Version="2.3.0" />
|
|
14
|
+
<PackageReference Include="xunit.runner.visualstudio" Version="2.3.0" />
|
|
15
15
|
</ItemGroup>
|
|
16
16
|
|
|
17
17
|
</Project>
|
|
@@ -11,8 +11,8 @@
|
|
|
11
11
|
|
|
12
12
|
<ItemGroup>
|
|
13
13
|
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.3.0" />
|
|
14
|
-
<PackageReference Include="xunit" Version="2.
|
|
15
|
-
<PackageReference Include="xunit.runner.visualstudio" Version="2.
|
|
14
|
+
<PackageReference Include="xunit" Version="2.3.0" />
|
|
15
|
+
<PackageReference Include="xunit.runner.visualstudio" Version="2.3.0" />
|
|
16
16
|
</ItemGroup>
|
|
17
17
|
|
|
18
18
|
</Project>
|
|
@@ -10,8 +10,8 @@
|
|
|
10
10
|
|
|
11
11
|
<ItemGroup>
|
|
12
12
|
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.3.0" />
|
|
13
|
-
<PackageReference Include="xunit" Version="2.
|
|
14
|
-
<PackageReference Include="xunit.runner.visualstudio" Version="2.
|
|
13
|
+
<PackageReference Include="xunit" Version="2.3.0" />
|
|
14
|
+
<PackageReference Include="xunit.runner.visualstudio" Version="2.3.0" />
|
|
15
15
|
</ItemGroup>
|
|
16
16
|
|
|
17
17
|
</Project>
|