trackler 2.2.1.40 → 2.2.1.41
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/.gitmodules +3 -0
- data/lib/trackler/version.rb +1 -1
- data/problem-specifications/exercises/dot-dsl/metadata.yml +1 -0
- data/problem-specifications/exercises/etl/metadata.yml +1 -0
- data/problem-specifications/exercises/isogram/canonical-data.json +3 -3
- data/problem-specifications/exercises/ocr-numbers/metadata.yml +1 -0
- data/problem-specifications/exercises/pascals-triangle/metadata.yml +1 -0
- data/problem-specifications/exercises/pov/metadata.yml +1 -0
- data/problem-specifications/exercises/rna-transcription/metadata.yml +1 -0
- data/problem-specifications/exercises/sgf-parsing/metadata.yml +1 -0
- data/tracks/c/exercises/all-your-base/src/example.c +14 -14
- data/tracks/c/exercises/all-your-base/src/example.h +2 -2
- data/tracks/ceylon/exercises/hamming/source/hamming/HammingTest.ceylon +1 -1
- data/tracks/ceylon/exercises/rna-transcription/source/rnatranscription/{RNAtest.ceylon → RNATest.ceylon} +0 -0
- data/tracks/cfml/.git +1 -0
- data/tracks/cfml/.gitignore +5 -0
- data/tracks/cfml/.travis.yml +18 -0
- data/tracks/cfml/CONTRIBUTING.md +10 -0
- data/tracks/cfml/LICENSE +21 -0
- data/tracks/cfml/README.md +92 -0
- data/tracks/cfml/bin/fetch-configlet +32 -0
- data/tracks/cfml/config/exercise_readme.go.tmpl +16 -0
- data/tracks/cfml/config/maintainers.json +13 -0
- data/tracks/cfml/config.json +223 -0
- data/tracks/cfml/docs/ABOUT.md +10 -0
- data/tracks/cfml/docs/EXERCISE_README_INSERT.md +15 -0
- data/tracks/cfml/docs/INSTALLATION.md +35 -0
- data/tracks/cfml/docs/LEARNING.md +37 -0
- data/tracks/cfml/docs/RESOURCES.md +29 -0
- data/tracks/cfml/docs/SNIPPET.txt +8 -0
- data/tracks/cfml/docs/TESTS.md +13 -0
- data/tracks/cfml/exercises/acronym/.meta/HINTS.md +0 -0
- data/tracks/cfml/exercises/acronym/Acronym.cfc +13 -0
- data/tracks/cfml/exercises/acronym/AcronymTest.cfc +43 -0
- data/tracks/cfml/exercises/acronym/Solution.cfc +22 -0
- data/tracks/cfml/exercises/acronym/SolutionTest.cfc +7 -0
- data/tracks/cfml/exercises/acronym/TestRunner.cfc +103 -0
- data/tracks/cfml/exercises/acronym/box.json +8 -0
- data/tracks/cfml/exercises/acronym/index.cfm +37 -0
- data/tracks/cfml/exercises/atbash-cipher/.meta/HINTS.md +0 -0
- data/tracks/cfml/exercises/atbash-cipher/AtbashCipher.cfc +14 -0
- data/tracks/cfml/exercises/atbash-cipher/AtbashCipherTest.cfc +71 -0
- data/tracks/cfml/exercises/atbash-cipher/Solution.cfc +56 -0
- data/tracks/cfml/exercises/atbash-cipher/SolutionTest.cfc +7 -0
- data/tracks/cfml/exercises/atbash-cipher/TestRunner.cfc +103 -0
- data/tracks/cfml/exercises/atbash-cipher/box.json +8 -0
- data/tracks/cfml/exercises/atbash-cipher/index.cfm +37 -0
- data/tracks/cfml/exercises/bob/.meta/HINTS.md +0 -0
- data/tracks/cfml/exercises/bob/Bob.cfc +13 -0
- data/tracks/cfml/exercises/bob/BobTest.cfc +115 -0
- data/tracks/cfml/exercises/bob/Solution.cfc +27 -0
- data/tracks/cfml/exercises/bob/SolutionTest.cfc +7 -0
- data/tracks/cfml/exercises/bob/TestRunner.cfc +103 -0
- data/tracks/cfml/exercises/bob/box.json +8 -0
- data/tracks/cfml/exercises/bob/index.cfm +37 -0
- data/tracks/cfml/exercises/diamond/.meta/HINTS.md +0 -0
- data/tracks/cfml/exercises/diamond/Diamond.cfc +13 -0
- data/tracks/cfml/exercises/diamond/DiamondTest.cfc +35 -0
- data/tracks/cfml/exercises/diamond/Solution.cfc +35 -0
- data/tracks/cfml/exercises/diamond/SolutionTest.cfc +7 -0
- data/tracks/cfml/exercises/diamond/TestRunner.cfc +103 -0
- data/tracks/cfml/exercises/diamond/box.json +8 -0
- data/tracks/cfml/exercises/diamond/index.cfm +37 -0
- data/tracks/cfml/exercises/difference-of-squares/.meta/HINTS.md +0 -0
- data/tracks/cfml/exercises/difference-of-squares/DifferenceOfSquares.cfc +18 -0
- data/tracks/cfml/exercises/difference-of-squares/DifferenceOfSquaresTest.cfc +63 -0
- data/tracks/cfml/exercises/difference-of-squares/Solution.cfc +28 -0
- data/tracks/cfml/exercises/difference-of-squares/SolutionTest.cfc +7 -0
- data/tracks/cfml/exercises/difference-of-squares/TestRunner.cfc +103 -0
- data/tracks/cfml/exercises/difference-of-squares/box.json +8 -0
- data/tracks/cfml/exercises/difference-of-squares/index.cfm +37 -0
- data/tracks/cfml/exercises/flatten-array/.meta/HINTS.md +0 -0
- data/tracks/cfml/exercises/flatten-array/FlattenArray.cfc +13 -0
- data/tracks/cfml/exercises/flatten-array/FlattenArrayTest.cfc +42 -0
- data/tracks/cfml/exercises/flatten-array/Solution.cfc +26 -0
- data/tracks/cfml/exercises/flatten-array/SolutionTest.cfc +7 -0
- data/tracks/cfml/exercises/flatten-array/TestRunner.cfc +103 -0
- data/tracks/cfml/exercises/flatten-array/box.json +8 -0
- data/tracks/cfml/exercises/flatten-array/index.cfm +37 -0
- data/tracks/cfml/exercises/gigasecond/.meta/HINTS.md +0 -0
- data/tracks/cfml/exercises/gigasecond/Gigasecond.cfc +13 -0
- data/tracks/cfml/exercises/gigasecond/GigasecondTest.cfc +39 -0
- data/tracks/cfml/exercises/gigasecond/Solution.cfc +16 -0
- data/tracks/cfml/exercises/gigasecond/SolutionTest.cfc +7 -0
- data/tracks/cfml/exercises/gigasecond/TestRunner.cfc +103 -0
- data/tracks/cfml/exercises/gigasecond/box.json +8 -0
- data/tracks/cfml/exercises/gigasecond/index.cfm +37 -0
- data/tracks/cfml/exercises/grains/.meta/HINTS.md +0 -0
- data/tracks/cfml/exercises/grains/Grains.cfc +14 -0
- data/tracks/cfml/exercises/grains/GrainsTest.cfc +63 -0
- data/tracks/cfml/exercises/grains/Solution.cfc +22 -0
- data/tracks/cfml/exercises/grains/SolutionTest.cfc +7 -0
- data/tracks/cfml/exercises/grains/TestRunner.cfc +103 -0
- data/tracks/cfml/exercises/grains/box.json +8 -0
- data/tracks/cfml/exercises/grains/index.cfm +37 -0
- data/tracks/cfml/exercises/hamming/.meta/HINTS.md +0 -0
- data/tracks/cfml/exercises/hamming/Hamming.cfc +13 -0
- data/tracks/cfml/exercises/hamming/HammingTest.cfc +75 -0
- data/tracks/cfml/exercises/hamming/Solution.cfc +25 -0
- data/tracks/cfml/exercises/hamming/SolutionTest.cfc +7 -0
- data/tracks/cfml/exercises/hamming/TestRunner.cfc +103 -0
- data/tracks/cfml/exercises/hamming/box.json +8 -0
- data/tracks/cfml/exercises/hamming/index.cfm +37 -0
- data/tracks/cfml/exercises/hello-world/HelloWorld.cfc +13 -0
- data/tracks/cfml/exercises/hello-world/HelloWorldTest.cfc +18 -0
- data/tracks/cfml/exercises/hello-world/Solution.cfc +13 -0
- data/tracks/cfml/exercises/hello-world/SolutionTest.cfc +7 -0
- data/tracks/cfml/exercises/hello-world/TestRunner.cfc +103 -0
- data/tracks/cfml/exercises/hello-world/box.json +8 -0
- data/tracks/cfml/exercises/hello-world/index.cfm +37 -0
- data/tracks/cfml/exercises/isogram/.meta/HINTS.md +0 -0
- data/tracks/cfml/exercises/isogram/Isogram.cfc +13 -0
- data/tracks/cfml/exercises/isogram/IsogramTest.cfc +55 -0
- data/tracks/cfml/exercises/isogram/Solution.cfc +23 -0
- data/tracks/cfml/exercises/isogram/SolutionTest.cfc +7 -0
- data/tracks/cfml/exercises/isogram/TestRunner.cfc +103 -0
- data/tracks/cfml/exercises/isogram/box.json +8 -0
- data/tracks/cfml/exercises/isogram/index.cfm +37 -0
- data/tracks/cfml/exercises/largest-series-product/.meta/HINTS.md +0 -0
- data/tracks/cfml/exercises/largest-series-product/LargestSeriesProduct.cfc +13 -0
- data/tracks/cfml/exercises/largest-series-product/LargestSeriesProductTest.cfc +75 -0
- data/tracks/cfml/exercises/largest-series-product/Solution.cfc +41 -0
- data/tracks/cfml/exercises/largest-series-product/SolutionTest.cfc +7 -0
- data/tracks/cfml/exercises/largest-series-product/TestRunner.cfc +103 -0
- data/tracks/cfml/exercises/largest-series-product/box.json +8 -0
- data/tracks/cfml/exercises/largest-series-product/index.cfm +37 -0
- data/tracks/cfml/exercises/leap/Leap.cfc +15 -0
- data/tracks/cfml/exercises/leap/LeapTest.cfc +39 -0
- data/tracks/cfml/exercises/leap/README.md +33 -0
- data/tracks/cfml/exercises/leap/Solution.cfc +19 -0
- data/tracks/cfml/exercises/leap/SolutionTest.cfc +7 -0
- data/tracks/cfml/exercises/leap/TestRunner.cfc +103 -0
- data/tracks/cfml/exercises/leap/box.json +8 -0
- data/tracks/cfml/exercises/leap/index.cfm +37 -0
- data/tracks/cfml/exercises/luhn/.meta/HINTS.md +0 -0
- data/tracks/cfml/exercises/luhn/Luhn.cfc +13 -0
- data/tracks/cfml/exercises/luhn/LuhnTest.cfc +67 -0
- data/tracks/cfml/exercises/luhn/Solution.cfc +38 -0
- data/tracks/cfml/exercises/luhn/SolutionTest.cfc +7 -0
- data/tracks/cfml/exercises/luhn/TestRunner.cfc +103 -0
- data/tracks/cfml/exercises/luhn/box.json +8 -0
- data/tracks/cfml/exercises/luhn/index.cfm +37 -0
- data/tracks/cfml/exercises/nth-prime/.meta/HINTS.md +0 -0
- data/tracks/cfml/exercises/nth-prime/NthPrime.cfc +13 -0
- data/tracks/cfml/exercises/nth-prime/NthPrimeTest.cfc +35 -0
- data/tracks/cfml/exercises/nth-prime/Solution.cfc +33 -0
- data/tracks/cfml/exercises/nth-prime/SolutionTest.cfc +7 -0
- data/tracks/cfml/exercises/nth-prime/TestRunner.cfc +103 -0
- data/tracks/cfml/exercises/nth-prime/box.json +8 -0
- data/tracks/cfml/exercises/nth-prime/index.cfm +37 -0
- data/tracks/cfml/exercises/pangram/.meta/HINTS.md +0 -0
- data/tracks/cfml/exercises/pangram/Pangram.cfc +13 -0
- data/tracks/cfml/exercises/pangram/PangramTest.cfc +55 -0
- data/tracks/cfml/exercises/pangram/Solution.cfc +21 -0
- data/tracks/cfml/exercises/pangram/SolutionTest.cfc +7 -0
- data/tracks/cfml/exercises/pangram/TestRunner.cfc +103 -0
- data/tracks/cfml/exercises/pangram/box.json +8 -0
- data/tracks/cfml/exercises/pangram/index.cfm +37 -0
- data/tracks/cfml/exercises/pig-latin/.meta/HINTS.md +0 -0
- data/tracks/cfml/exercises/pig-latin/PigLatin.cfc +13 -0
- data/tracks/cfml/exercises/pig-latin/PigLatinTest.cfc +115 -0
- data/tracks/cfml/exercises/pig-latin/Solution.cfc +30 -0
- data/tracks/cfml/exercises/pig-latin/SolutionTest.cfc +7 -0
- data/tracks/cfml/exercises/pig-latin/TestRunner.cfc +103 -0
- data/tracks/cfml/exercises/pig-latin/box.json +8 -0
- data/tracks/cfml/exercises/pig-latin/index.cfm +37 -0
- data/tracks/cfml/exercises/raindrops/.meta/HINTS.md +0 -0
- data/tracks/cfml/exercises/raindrops/Raindrops.cfc +13 -0
- data/tracks/cfml/exercises/raindrops/RaindropsTest.cfc +87 -0
- data/tracks/cfml/exercises/raindrops/Solution.cfc +33 -0
- data/tracks/cfml/exercises/raindrops/SolutionTest.cfc +7 -0
- data/tracks/cfml/exercises/raindrops/TestRunner.cfc +103 -0
- data/tracks/cfml/exercises/raindrops/box.json +8 -0
- data/tracks/cfml/exercises/raindrops/index.cfm +37 -0
- data/tracks/cfml/exercises/rna-transcription/.meta/HINTS.md +0 -0
- data/tracks/cfml/exercises/rna-transcription/RnaTranscription.cfc +13 -0
- data/tracks/cfml/exercises/rna-transcription/RnaTranscriptionTest.cfc +47 -0
- data/tracks/cfml/exercises/rna-transcription/Solution.cfc +35 -0
- data/tracks/cfml/exercises/rna-transcription/SolutionTest.cfc +7 -0
- data/tracks/cfml/exercises/rna-transcription/TestRunner.cfc +103 -0
- data/tracks/cfml/exercises/rna-transcription/box.json +8 -0
- data/tracks/cfml/exercises/rna-transcription/index.cfm +37 -0
- data/tracks/cfml/exercises/saddle-points/.meta/HINTS.md +0 -0
- data/tracks/cfml/exercises/saddle-points/SaddlePoints.cfc +13 -0
- data/tracks/cfml/exercises/saddle-points/SaddlePointsTest.cfc +35 -0
- data/tracks/cfml/exercises/saddle-points/Solution.cfc +59 -0
- data/tracks/cfml/exercises/saddle-points/SolutionTest.cfc +7 -0
- data/tracks/cfml/exercises/saddle-points/TestRunner.cfc +103 -0
- data/tracks/cfml/exercises/saddle-points/box.json +8 -0
- data/tracks/cfml/exercises/saddle-points/index.cfm +37 -0
- data/tracks/cfml/exercises/scrabble-score/.meta/HINTS.md +0 -0
- data/tracks/cfml/exercises/scrabble-score/ScrabbleScore.cfc +13 -0
- data/tracks/cfml/exercises/scrabble-score/ScrabbleScoreTest.cfc +59 -0
- data/tracks/cfml/exercises/scrabble-score/Solution.cfc +50 -0
- data/tracks/cfml/exercises/scrabble-score/SolutionTest.cfc +7 -0
- data/tracks/cfml/exercises/scrabble-score/TestRunner.cfc +103 -0
- data/tracks/cfml/exercises/scrabble-score/box.json +8 -0
- data/tracks/cfml/exercises/scrabble-score/index.cfm +37 -0
- data/tracks/cfml/exercises/secret-handshake/.meta/HINTS.md +0 -0
- data/tracks/cfml/exercises/secret-handshake/SecretHandshake.cfc +13 -0
- data/tracks/cfml/exercises/secret-handshake/SecretHandshakeTest.cfc +63 -0
- data/tracks/cfml/exercises/secret-handshake/Solution.cfc +31 -0
- data/tracks/cfml/exercises/secret-handshake/SolutionTest.cfc +7 -0
- data/tracks/cfml/exercises/secret-handshake/TestRunner.cfc +103 -0
- data/tracks/cfml/exercises/secret-handshake/box.json +8 -0
- data/tracks/cfml/exercises/secret-handshake/index.cfm +37 -0
- data/tracks/cfml/exercises/space-age/.meta/HINTS.md +0 -0
- data/tracks/cfml/exercises/space-age/Solution.cfc +28 -0
- data/tracks/cfml/exercises/space-age/SolutionTest.cfc +7 -0
- data/tracks/cfml/exercises/space-age/SpaceAge.cfc +13 -0
- data/tracks/cfml/exercises/space-age/SpaceAgeTest.cfc +47 -0
- data/tracks/cfml/exercises/space-age/TestRunner.cfc +103 -0
- data/tracks/cfml/exercises/space-age/box.json +8 -0
- data/tracks/cfml/exercises/space-age/index.cfm +37 -0
- data/tracks/cfml/exercises/sum-of-multiples/.meta/HINTS.md +0 -0
- data/tracks/cfml/exercises/sum-of-multiples/Solution.cfc +27 -0
- data/tracks/cfml/exercises/sum-of-multiples/SolutionTest.cfc +7 -0
- data/tracks/cfml/exercises/sum-of-multiples/SumOfMultiples.cfc +13 -0
- data/tracks/cfml/exercises/sum-of-multiples/SumOfMultiplesTest.cfc +63 -0
- data/tracks/cfml/exercises/sum-of-multiples/TestRunner.cfc +103 -0
- data/tracks/cfml/exercises/sum-of-multiples/box.json +8 -0
- data/tracks/cfml/exercises/sum-of-multiples/index.cfm +37 -0
- data/tracks/cfml/exercises/triangle/.meta/HINTS.md +0 -0
- data/tracks/cfml/exercises/triangle/Solution.cfc +53 -0
- data/tracks/cfml/exercises/triangle/SolutionTest.cfc +7 -0
- data/tracks/cfml/exercises/triangle/TestRunner.cfc +103 -0
- data/tracks/cfml/exercises/triangle/Triangle.cfc +18 -0
- data/tracks/cfml/exercises/triangle/TriangleTest.cfc +95 -0
- data/tracks/cfml/exercises/triangle/box.json +8 -0
- data/tracks/cfml/exercises/triangle/index.cfm +37 -0
- data/tracks/cfml/exercises/word-count/.meta/HINTS.md +0 -0
- data/tracks/cfml/exercises/word-count/Solution.cfc +22 -0
- data/tracks/cfml/exercises/word-count/SolutionTest.cfc +7 -0
- data/tracks/cfml/exercises/word-count/TestRunner.cfc +103 -0
- data/tracks/cfml/exercises/word-count/WordCount.cfc +13 -0
- data/tracks/cfml/exercises/word-count/WordCountTest.cfc +55 -0
- data/tracks/cfml/exercises/word-count/box.json +8 -0
- data/tracks/cfml/exercises/word-count/index.cfm +37 -0
- data/tracks/cfml/img/icon.png +0 -0
- data/tracks/cfml/tasks/GenerateTests.cfc +179 -0
- data/tracks/cfml/tasks/ScaffoldExercise.cfc +85 -0
- data/tracks/cfml/tasks/TestAllSolutions.cfc +24 -0
- data/tracks/cfml/tasks/exercise_template/.meta/HINTS.md +0 -0
- data/tracks/cfml/tasks/exercise_template/@@name@@.cfc +13 -0
- data/tracks/cfml/tasks/exercise_template/@@name@@Test.cfc +15 -0
- data/tracks/cfml/tasks/exercise_template/Solution.cfc +6 -0
- data/tracks/cfml/tasks/exercise_template/SolutionTest.cfc +7 -0
- data/tracks/cfml/tasks/exercise_template/TestRunner.cfc +103 -0
- data/tracks/cfml/tasks/exercise_template/box.json +8 -0
- data/tracks/cfml/tasks/exercise_template/index.cfm +37 -0
- data/tracks/coldfusion/docs/ABOUT.md +8 -6
- data/tracks/csharp/docs/GENERATORS.md +7 -0
- data/tracks/csharp/exercises/clock/ClockTest.cs +15 -15
- data/tracks/csharp/exercises/nucleotide-count/Example.cs +10 -11
- data/tracks/csharp/exercises/nucleotide-count/NucleotideCount.cs +2 -7
- data/tracks/csharp/exercises/nucleotide-count/NucleotideCountTest.cs +37 -47
- data/tracks/csharp/exercises/pig-latin/Example.cs +1 -1
- data/tracks/csharp/exercises/pig-latin/PigLatinTest.cs +19 -7
- data/tracks/csharp/exercises/sum-of-multiples/SumOfMultiplesTest.cs +7 -1
- data/tracks/csharp/exercises/tournament/Example.cs +1 -1
- data/tracks/csharp/exercises/tournament/TournamentTest.cs +151 -68
- data/tracks/csharp/exercises/triangle/Example.cs +26 -8
- data/tracks/csharp/exercises/triangle/Triangle.cs +16 -1
- data/tracks/csharp/exercises/triangle/TriangleTest.cs +44 -30
- data/tracks/csharp/generators/Exercise.cs +6 -1
- data/tracks/csharp/generators/Exercises/Clock.cs +17 -1
- data/tracks/csharp/generators/Exercises/NucleotideCount.cs +61 -0
- data/tracks/csharp/generators/Exercises/Tournament.cs +66 -0
- data/tracks/csharp/generators/Exercises/Triangle.cs +36 -0
- data/tracks/dart/config.json +15 -2
- data/tracks/dart/exercises/raindrops/lib/example.dart +23 -0
- data/tracks/dart/exercises/raindrops/lib/raindrops.dart +3 -0
- data/tracks/dart/exercises/raindrops/pubspec.lock +281 -0
- data/tracks/dart/exercises/raindrops/pubspec.yaml +3 -0
- data/tracks/dart/exercises/raindrops/test/raindrops_test.dart +94 -0
- data/tracks/delphi/exercises/pig-latin/uPigLatinExample.pas +1 -25
- data/tracks/haskell/config.json +9 -0
- data/tracks/haskell/exercises/acronym/README.md +0 -1
- data/tracks/haskell/exercises/all-your-base/README.md +1 -1
- data/tracks/haskell/exercises/allergies/README.md +0 -1
- data/tracks/haskell/exercises/alphametics/README.md +2 -2
- data/tracks/haskell/exercises/atbash-cipher/README.md +2 -1
- data/tracks/haskell/exercises/beer-song/README.md +1 -1
- data/tracks/haskell/exercises/binary/README.md +2 -0
- data/tracks/haskell/exercises/bowling/README.md +20 -6
- data/tracks/haskell/exercises/collatz-conjecture/README.md +1 -1
- data/tracks/haskell/exercises/connect/README.md +1 -1
- data/tracks/haskell/exercises/crypto-square/README.md +4 -4
- data/tracks/haskell/exercises/diamond/README.md +113 -0
- data/tracks/haskell/exercises/diamond/examples/success-standard/package.yaml +16 -0
- data/tracks/haskell/exercises/diamond/examples/success-standard/src/Diamond.hs +16 -0
- data/tracks/haskell/exercises/diamond/package.yaml +20 -0
- data/tracks/haskell/exercises/diamond/src/Diamond.hs +4 -0
- data/tracks/haskell/exercises/diamond/stack.yaml +1 -0
- data/tracks/haskell/exercises/diamond/test/Tests.hs +109 -0
- data/tracks/haskell/exercises/etl/README.md +3 -1
- data/tracks/haskell/exercises/food-chain/README.md +1 -1
- data/tracks/haskell/exercises/go-counting/README.md +1 -1
- data/tracks/haskell/exercises/grade-school/README.md +0 -1
- data/tracks/haskell/exercises/grains/README.md +0 -1
- data/tracks/haskell/exercises/house/README.md +1 -2
- data/tracks/haskell/exercises/isogram/README.md +2 -1
- data/tracks/haskell/exercises/kindergarten-garden/README.md +3 -3
- data/tracks/haskell/exercises/leap/README.md +1 -1
- data/tracks/haskell/exercises/linked-list/README.md +10 -10
- data/tracks/haskell/exercises/luhn/README.md +7 -7
- data/tracks/haskell/exercises/matrix/README.md +6 -4
- data/tracks/haskell/exercises/meetup/README.md +1 -2
- data/tracks/haskell/exercises/nucleotide-count/README.md +8 -22
- data/tracks/haskell/exercises/ocr-numbers/README.md +6 -6
- data/tracks/haskell/exercises/octal/README.md +6 -2
- data/tracks/haskell/exercises/palindrome-products/README.md +12 -6
- data/tracks/haskell/exercises/pangram/README.md +1 -1
- data/tracks/haskell/exercises/pascals-triangle/README.md +2 -2
- data/tracks/haskell/exercises/phone-number/README.md +3 -2
- data/tracks/haskell/exercises/pov/README.md +3 -3
- data/tracks/haskell/exercises/pythagorean-triplet/README.md +3 -3
- data/tracks/haskell/exercises/queen-attack/README.md +1 -1
- data/tracks/haskell/exercises/rna-transcription/README.md +1 -1
- data/tracks/haskell/exercises/roman-numerals/README.md +1 -1
- data/tracks/haskell/exercises/run-length-encoding/README.md +4 -4
- data/tracks/haskell/exercises/saddle-points/README.md +1 -1
- data/tracks/haskell/exercises/scrabble-score/README.md +3 -1
- data/tracks/haskell/exercises/secret-handshake/README.md +1 -1
- data/tracks/haskell/exercises/sgf-parsing/README.md +4 -4
- data/tracks/haskell/exercises/simple-cipher/README.md +1 -1
- data/tracks/haskell/exercises/spiral-matrix/README.md +2 -2
- data/tracks/haskell/exercises/triangle/README.md +9 -6
- data/tracks/haskell/exercises/trinary/README.md +1 -1
- data/tracks/haskell/exercises/word-count/README.md +1 -2
- data/tracks/haskell/exercises/wordy/README.md +0 -5
- data/tracks/java/config.json +56 -9
- data/tracks/java/exercises/binary-search-tree/src/test/java/BSTTest.java +4 -4
- data/tracks/javascript/exercises/two-bucket/example.js +66 -69
- data/tracks/javascript/exercises/two-bucket/two-bucket.spec.js +18 -18
- data/tracks/julia/config.json +1 -0
- data/tracks/julia/docs/ABOUT.md +3 -8
- data/tracks/prolog/README.md +1 -1
- data/tracks/purescript/.travis.yml +1 -0
- data/tracks/purescript/README.md +9 -0
- data/tracks/purescript/bin/check-bower.sh +42 -0
- data/tracks/purescript/bin/test-separate.sh +46 -0
- data/tracks/python/README.md +2 -2
- data/tracks/python/exercises/all-your-base/all_your_base.py +2 -0
- data/tracks/python/exercises/atbash-cipher/atbash_cipher.py +2 -2
- data/tracks/python/exercises/complex-numbers/complex_numbers_test.py +2 -2
- data/tracks/python/exercises/complex-numbers/example.py +2 -2
- data/tracks/python/exercises/gigasecond/gigasecond.py +1 -1
- data/tracks/python/exercises/hamming/hamming.py +1 -1
- data/tracks/python/exercises/hexadecimal/hexadecimal.py +1 -1
- data/tracks/python/exercises/leap/leap.py +1 -1
- data/tracks/python/exercises/meetup/meetup.py +1 -1
- data/tracks/python/exercises/phone-number/example.py +4 -2
- data/tracks/python/exercises/phone-number/phone_number_test.py +47 -16
- data/tracks/python/exercises/pig-latin/pig_latin.py +1 -1
- data/tracks/python/exercises/scrabble-score/scrabble_score.py +1 -1
- data/tracks/python/exercises/wordy/wordy.py +1 -1
- data/tracks/scala/exercises/meetup/example.scala +29 -10
- data/tracks/scala/exercises/meetup/src/main/scala/Meetup.scala +23 -0
- data/tracks/scala/exercises/meetup/src/test/scala/MeetupTest.scala +273 -183
- data/tracks/sml/config.json +13 -0
- data/tracks/sml/exercises/anagram/README.md +21 -5
- data/tracks/sml/exercises/anagram/anagram.sml +2 -6
- data/tracks/sml/exercises/anagram/example.sml +29 -24
- data/tracks/sml/exercises/anagram/test.sml +56 -50
- data/tracks/sml/exercises/anagram/testlib.sml +159 -0
- data/tracks/sml/exercises/diamond/README.md +89 -0
- data/tracks/sml/exercises/diamond/diamond.sml +2 -0
- data/tracks/sml/exercises/diamond/example.sml +25 -0
- data/tracks/sml/exercises/diamond/test.sml +27 -0
- data/tracks/sml/exercises/diamond/testlib.sml +159 -0
- data/tracks/sml/exercises/raindrops/raindrops.sml +2 -2
- data/tracks/sml/exercises/raindrops/test.sml +66 -95
- data/tracks/sml/exercises/raindrops/testlib.sml +159 -0
- metadata +265 -3
|
@@ -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
|
## Hints
|
|
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
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
#
|
|
1
|
+
# Pascal's Triangle
|
|
2
2
|
|
|
3
3
|
Compute Pascal's triangle up to a given number of rows.
|
|
4
4
|
|
|
5
5
|
In Pascal's Triangle each number is computed by adding the numbers to
|
|
6
6
|
the right and left of the current position in the previous row.
|
|
7
7
|
|
|
8
|
-
```
|
|
8
|
+
```text
|
|
9
9
|
1
|
|
10
10
|
1 1
|
|
11
11
|
1 2 1
|
|
@@ -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.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
#
|
|
1
|
+
# POV
|
|
2
2
|
|
|
3
3
|
Reparent a graph on a selected node.
|
|
4
4
|
|
|
@@ -8,7 +8,7 @@ This exercise is all about re-orientating a graph to see things from a different
|
|
|
8
8
|
point of view. For example family trees are usually presented from the
|
|
9
9
|
ancestor's perspective:
|
|
10
10
|
|
|
11
|
-
```
|
|
11
|
+
```text
|
|
12
12
|
+------0------+
|
|
13
13
|
| | |
|
|
14
14
|
+-1-+ +-2-+ +-3-+
|
|
@@ -20,7 +20,7 @@ But the same information can be presented from the perspective of any other node
|
|
|
20
20
|
in the graph, by pulling it up to the root and dragging its relationships along
|
|
21
21
|
with it. So the same graph from 6's perspective would look like:
|
|
22
22
|
|
|
23
|
-
```
|
|
23
|
+
```text
|
|
24
24
|
6
|
|
25
25
|
|
|
|
26
26
|
+-----2-----+
|
|
@@ -11,7 +11,7 @@ A chessboard can be represented by an 8 by 8 array.
|
|
|
11
11
|
So if you're told the white queen is at (2, 3) and the black queen at
|
|
12
12
|
(5, 6), then you'd know you've got a set-up like so:
|
|
13
13
|
|
|
14
|
-
```
|
|
14
|
+
```text
|
|
15
15
|
_ _ _ _ _ _ _ _
|
|
16
16
|
_ _ _ _ _ _ _ _
|
|
17
17
|
_ _ _ W _ _ _ _
|
|
@@ -7,20 +7,20 @@ Run-length encoding (RLE) is a simple form of data compression, where runs
|
|
|
7
7
|
|
|
8
8
|
For example we can represent the original 53 characters with only 13.
|
|
9
9
|
|
|
10
|
-
```
|
|
10
|
+
```text
|
|
11
11
|
"WWWWWWWWWWWWBWWWWWWWWWWWWBBBWWWWWWWWWWWWWWWWWWWWWWWWB" -> "12WB12W3B24WB"
|
|
12
12
|
```
|
|
13
13
|
|
|
14
14
|
RLE allows the original data to be perfectly reconstructed from
|
|
15
15
|
the compressed data, which makes it a lossless data compression.
|
|
16
16
|
|
|
17
|
-
```
|
|
17
|
+
```text
|
|
18
18
|
"AABCCCDEEEE" -> "2AB3CD4E" -> "AABCCCDEEEE"
|
|
19
19
|
```
|
|
20
20
|
|
|
21
21
|
For simplicity, you can assume that the unencoded string will only contain
|
|
22
|
-
the letters A through Z (either lower or upper case) and whitespace. This way
|
|
23
|
-
data to be encoded will never contain any numbers and numbers inside data to
|
|
22
|
+
the letters A through Z (either lower or upper case) and whitespace. This way
|
|
23
|
+
data to be encoded will never contain any numbers and numbers inside data to
|
|
24
24
|
be decoded always represent the count for the following character.
|
|
25
25
|
|
|
26
26
|
|
|
@@ -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
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
#
|
|
1
|
+
# SGF Parsing
|
|
2
2
|
|
|
3
3
|
Parsing a Smart Game Format string.
|
|
4
4
|
|
|
@@ -12,7 +12,7 @@ multiple values.
|
|
|
12
12
|
|
|
13
13
|
An SGF file may look like this:
|
|
14
14
|
|
|
15
|
-
```
|
|
15
|
+
```text
|
|
16
16
|
(;FF[4]C[root]SZ[19];B[aa];W[ab])
|
|
17
17
|
```
|
|
18
18
|
|
|
@@ -34,7 +34,7 @@ SGF can encode variations of play. Go players do a lot of backtracking
|
|
|
34
34
|
in their reviews (let's try this, doesn't work, let's try that) and SGF
|
|
35
35
|
supports variations of play sequences. For example:
|
|
36
36
|
|
|
37
|
-
```
|
|
37
|
+
```text
|
|
38
38
|
(;FF[4](;B[aa];W[ab])(;B[dd];W[ee]))
|
|
39
39
|
```
|
|
40
40
|
|
|
@@ -46,7 +46,7 @@ opening to take the corner).
|
|
|
46
46
|
|
|
47
47
|
A key can have multiple values associated with it. For example:
|
|
48
48
|
|
|
49
|
-
```
|
|
49
|
+
```text
|
|
50
50
|
(;FF[4];AB[aa][ab][ba])
|
|
51
51
|
```
|
|
52
52
|
|
|
@@ -47,7 +47,7 @@ Given the key "aaaaaaaaaaaaaaaaaa", encoding the string "iamapandabear"
|
|
|
47
47
|
would return the original "iamapandabear".
|
|
48
48
|
|
|
49
49
|
Given the key "ddddddddddddddddd", encoding our string "iamapandabear"
|
|
50
|
-
would return the obscured "
|
|
50
|
+
would return the obscured "ldpdsdqgdehdu"
|
|
51
51
|
|
|
52
52
|
In the example above, we've set a = 0 for the key value. So when the
|
|
53
53
|
plaintext is added to the key, we end up with the same message coming
|
|
@@ -8,7 +8,7 @@ like these examples:
|
|
|
8
8
|
|
|
9
9
|
###### Spiral matrix of size 3
|
|
10
10
|
|
|
11
|
-
```
|
|
11
|
+
```text
|
|
12
12
|
1 2 3
|
|
13
13
|
8 9 4
|
|
14
14
|
7 6 5
|
|
@@ -16,7 +16,7 @@ like these examples:
|
|
|
16
16
|
|
|
17
17
|
###### Spiral matrix of size 4
|
|
18
18
|
|
|
19
|
-
```
|
|
19
|
+
```text
|
|
20
20
|
1 2 3 4
|
|
21
21
|
12 13 14 5
|
|
22
22
|
11 16 15 6
|
|
@@ -2,24 +2,27 @@
|
|
|
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.
|
|
22
24
|
|
|
25
|
+
|
|
23
26
|
## Getting Started
|
|
24
27
|
|
|
25
28
|
For installation and learning resources, refer to the
|
|
@@ -11,7 +11,7 @@ Trinary numbers contain three symbols: 0, 1, and 2.
|
|
|
11
11
|
The last place in a trinary number is the 1's place. The second to last
|
|
12
12
|
is the 3's place, the third to last is the 9's place, etc.
|
|
13
13
|
|
|
14
|
-
```
|
|
14
|
+
```shell
|
|
15
15
|
# "102012"
|
|
16
16
|
1 0 2 0 1 2 # the number
|
|
17
17
|
1*3^5 + 0*3^4 + 2*3^3 + 0*3^2 + 1*3^1 + 2*3^0 # the value
|
|
@@ -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
|
## Hints
|
|
16
15
|
|
|
17
16
|
To complete this exercise you need to implement the function `wordCount`,
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
|
|
3
3
|
Parse and evaluate simple math word problems returning the answer as an integer.
|
|
4
4
|
|
|
5
|
-
|
|
6
5
|
## Iteration 1 — Addition
|
|
7
6
|
|
|
8
7
|
Add two numbers together.
|
|
@@ -13,7 +12,6 @@ Evaluates to 18.
|
|
|
13
12
|
|
|
14
13
|
Handle large numbers and negative numbers.
|
|
15
14
|
|
|
16
|
-
|
|
17
15
|
## Iteration 2 — Subtraction, Multiplication and Division
|
|
18
16
|
|
|
19
17
|
Now, perform the other three operations.
|
|
@@ -30,7 +28,6 @@ Now, perform the other three operations.
|
|
|
30
28
|
|
|
31
29
|
5
|
|
32
30
|
|
|
33
|
-
|
|
34
31
|
## Iteration 3 — Multiple Operations
|
|
35
32
|
|
|
36
33
|
Handle a set of operations, in sequence.
|
|
@@ -46,7 +43,6 @@ left-to-right, _ignoring the typical order of operations._
|
|
|
46
43
|
|
|
47
44
|
15 (i.e. not 9)
|
|
48
45
|
|
|
49
|
-
|
|
50
46
|
## Bonus — Exponentials
|
|
51
47
|
|
|
52
48
|
If you'd like, handle exponentials.
|
|
@@ -55,7 +51,6 @@ If you'd like, handle exponentials.
|
|
|
55
51
|
|
|
56
52
|
32
|
|
57
53
|
|
|
58
|
-
|
|
59
54
|
## Hints
|
|
60
55
|
|
|
61
56
|
This is a perfect opportunity to learn some Attoparsec or Parsec!
|
data/tracks/java/config.json
CHANGED
|
@@ -27,7 +27,11 @@
|
|
|
27
27
|
"core": false,
|
|
28
28
|
"difficulty": 2,
|
|
29
29
|
"slug": "rna-transcription",
|
|
30
|
-
"topics":
|
|
30
|
+
"topics": [
|
|
31
|
+
"strings",
|
|
32
|
+
"loops",
|
|
33
|
+
"maps"
|
|
34
|
+
],
|
|
31
35
|
"unlocked_by": null,
|
|
32
36
|
"uuid": "8e983ed2-62f7-439a-a144-fb8fdbdf4d30"
|
|
33
37
|
},
|
|
@@ -153,7 +157,14 @@
|
|
|
153
157
|
"core": false,
|
|
154
158
|
"difficulty": 4,
|
|
155
159
|
"slug": "luhn",
|
|
156
|
-
"topics":
|
|
160
|
+
"topics": [
|
|
161
|
+
"algorithms",
|
|
162
|
+
"booleans",
|
|
163
|
+
"loops",
|
|
164
|
+
"mathematics",
|
|
165
|
+
"strings",
|
|
166
|
+
"type_conversion"
|
|
167
|
+
],
|
|
157
168
|
"unlocked_by": "hamming",
|
|
158
169
|
"uuid": "5227a76c-8ecb-4e5f-b023-6af65a057c41"
|
|
159
170
|
},
|
|
@@ -252,7 +263,13 @@
|
|
|
252
263
|
"core": false,
|
|
253
264
|
"difficulty": 4,
|
|
254
265
|
"slug": "diamond",
|
|
255
|
-
"topics":
|
|
266
|
+
"topics": [
|
|
267
|
+
"strings",
|
|
268
|
+
"loops",
|
|
269
|
+
"arrays",
|
|
270
|
+
"lists",
|
|
271
|
+
"text_formatting"
|
|
272
|
+
],
|
|
256
273
|
"unlocked_by": "two-fer",
|
|
257
274
|
"uuid": "ecbd997b-86f4-4e11-9ff0-706ac2899415"
|
|
258
275
|
},
|
|
@@ -399,9 +416,11 @@
|
|
|
399
416
|
"difficulty": 5,
|
|
400
417
|
"slug": "series",
|
|
401
418
|
"topics": [
|
|
419
|
+
"conditionals",
|
|
420
|
+
"lists",
|
|
402
421
|
"loops",
|
|
403
|
-
|
|
404
|
-
|
|
422
|
+
"strings",
|
|
423
|
+
"type_conversion"
|
|
405
424
|
],
|
|
406
425
|
"unlocked_by": "hamming",
|
|
407
426
|
"uuid": "af80d7f4-c7d0-4d0b-9c30-09da120f6bb9"
|
|
@@ -426,7 +445,14 @@
|
|
|
426
445
|
"core": false,
|
|
427
446
|
"difficulty": 6,
|
|
428
447
|
"slug": "roman-numerals",
|
|
429
|
-
"topics":
|
|
448
|
+
"topics": [
|
|
449
|
+
"logic",
|
|
450
|
+
"mathematics",
|
|
451
|
+
"loops",
|
|
452
|
+
"integers",
|
|
453
|
+
"strings",
|
|
454
|
+
"maps"
|
|
455
|
+
],
|
|
430
456
|
"unlocked_by": "hamming",
|
|
431
457
|
"uuid": "3e728cd4-5e5f-4c69-8a53-bc36d020fcdb"
|
|
432
458
|
},
|
|
@@ -476,7 +502,14 @@
|
|
|
476
502
|
"core": false,
|
|
477
503
|
"difficulty": 6,
|
|
478
504
|
"slug": "queen-attack",
|
|
479
|
-
"topics":
|
|
505
|
+
"topics": [
|
|
506
|
+
"arrays",
|
|
507
|
+
"matrices",
|
|
508
|
+
"conditionals",
|
|
509
|
+
"classes",
|
|
510
|
+
"games",
|
|
511
|
+
"mathematics"
|
|
512
|
+
],
|
|
480
513
|
"unlocked_by": "scrabble-score",
|
|
481
514
|
"uuid": "5404109e-3ed9-4691-8eaf-af8b36024a44"
|
|
482
515
|
},
|
|
@@ -524,7 +557,14 @@
|
|
|
524
557
|
"core": false,
|
|
525
558
|
"difficulty": 6,
|
|
526
559
|
"slug": "minesweeper",
|
|
527
|
-
"topics":
|
|
560
|
+
"topics": [
|
|
561
|
+
"integers",
|
|
562
|
+
"matrices",
|
|
563
|
+
"games",
|
|
564
|
+
"conditionals",
|
|
565
|
+
"strings",
|
|
566
|
+
"lists"
|
|
567
|
+
],
|
|
528
568
|
"unlocked_by": "scrabble-score",
|
|
529
569
|
"uuid": "416a1489-12af-4593-8540-0f55285c96b4"
|
|
530
570
|
},
|
|
@@ -587,7 +627,14 @@
|
|
|
587
627
|
"core": false,
|
|
588
628
|
"difficulty": 7,
|
|
589
629
|
"slug": "word-search",
|
|
590
|
-
"topics":
|
|
630
|
+
"topics": [
|
|
631
|
+
"strings",
|
|
632
|
+
"games",
|
|
633
|
+
"logic",
|
|
634
|
+
"matrices",
|
|
635
|
+
"searching",
|
|
636
|
+
"pattern_matching"
|
|
637
|
+
],
|
|
591
638
|
"unlocked_by": "scrabble-score",
|
|
592
639
|
"uuid": "b53bde52-cb5f-4d43-86ec-18aa509d62f9"
|
|
593
640
|
},
|
|
@@ -11,7 +11,7 @@ public class BSTTest {
|
|
|
11
11
|
|
|
12
12
|
@Test
|
|
13
13
|
public void dataIsRetained() {
|
|
14
|
-
BST<Integer> bst = new BST();
|
|
14
|
+
BST<Integer> bst = new BST<>();
|
|
15
15
|
final int actual = 4;
|
|
16
16
|
bst.insert(actual);
|
|
17
17
|
final BST.Node<Integer> root = bst.getRoot();
|
|
@@ -23,7 +23,7 @@ public class BSTTest {
|
|
|
23
23
|
@Ignore("Remove to run test")
|
|
24
24
|
@Test
|
|
25
25
|
public void insertsLess() {
|
|
26
|
-
BST<Integer> bst = new BST();
|
|
26
|
+
BST<Integer> bst = new BST<>();
|
|
27
27
|
final int expectedRoot = 4;
|
|
28
28
|
final int expectedLeft = 2;
|
|
29
29
|
|
|
@@ -44,7 +44,7 @@ public class BSTTest {
|
|
|
44
44
|
@Ignore("Remove to run test")
|
|
45
45
|
@Test
|
|
46
46
|
public void insertsSame() {
|
|
47
|
-
BST<Integer> bst = new BST();
|
|
47
|
+
BST<Integer> bst = new BST<>();
|
|
48
48
|
final int expectedRoot = 4;
|
|
49
49
|
final int expectedLeft = 4;
|
|
50
50
|
|
|
@@ -65,7 +65,7 @@ public class BSTTest {
|
|
|
65
65
|
@Ignore("Remove to run test")
|
|
66
66
|
@Test
|
|
67
67
|
public void insertsRight() {
|
|
68
|
-
BST<Integer> bst = new BST();
|
|
68
|
+
BST<Integer> bst = new BST<>();
|
|
69
69
|
final int expectedRoot = 4;
|
|
70
70
|
final int expectedRight = 5;
|
|
71
71
|
|