trackler 2.2.1.33 → 2.2.1.34
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/trackler/version.rb +1 -1
- data/problem-specifications/README.md +1 -1
- data/problem-specifications/exercises/palindrome-products/description.md +9 -3
- data/tracks/c/exercises/hamming/src/example.c +9 -8
- data/tracks/c/exercises/hamming/src/example.h +1 -1
- data/tracks/c/exercises/hamming/test/test_hamming.c +31 -7
- data/tracks/clojure/config.json +10 -0
- data/tracks/clojure/exercises/collatz-conjecture/README.md +34 -0
- data/tracks/clojure/exercises/collatz-conjecture/project.clj +4 -0
- data/tracks/clojure/exercises/collatz-conjecture/src/collatz_conjecture.clj +3 -0
- data/tracks/clojure/exercises/collatz-conjecture/src/example.clj +13 -0
- data/tracks/clojure/exercises/collatz-conjecture/test/collatz_conjecture_test.clj +29 -0
- data/tracks/coldfusion/.gitignore +1 -0
- data/tracks/coldfusion/.travis.yml +16 -4
- data/tracks/coldfusion/CONTRIBUTING.md +10 -0
- data/tracks/coldfusion/README.md +85 -6
- data/tracks/coldfusion/config.json +195 -10
- data/tracks/coldfusion/config/maintainers.json +8 -1
- data/tracks/coldfusion/docs/ABOUT.md +8 -0
- data/tracks/coldfusion/docs/EXERCISE_README_INSERT.md +15 -0
- data/tracks/coldfusion/docs/INSTALLATION.md +35 -0
- data/tracks/coldfusion/docs/LEARNING.md +37 -0
- data/tracks/coldfusion/docs/RESOURCES.md +29 -0
- data/tracks/coldfusion/docs/SNIPPET.txt +8 -0
- data/tracks/coldfusion/docs/TESTS.md +19 -0
- data/tracks/coldfusion/exercises/acronym/.meta/HINTS.md +0 -0
- data/tracks/coldfusion/exercises/acronym/Acronym.cfc +13 -0
- data/tracks/coldfusion/exercises/acronym/AcronymTest.cfc +43 -0
- data/tracks/coldfusion/exercises/acronym/Solution.cfc +22 -0
- data/tracks/coldfusion/exercises/acronym/SolutionTest.cfc +7 -0
- data/tracks/coldfusion/exercises/acronym/TestRunner.cfc +103 -0
- data/tracks/coldfusion/exercises/acronym/box.json +8 -0
- data/tracks/coldfusion/exercises/acronym/index.cfm +37 -0
- data/tracks/coldfusion/exercises/atbash-cipher/.meta/HINTS.md +0 -0
- data/tracks/coldfusion/exercises/atbash-cipher/AtbashCipher.cfc +14 -0
- data/tracks/coldfusion/exercises/atbash-cipher/AtbashCipherTest.cfc +71 -0
- data/tracks/coldfusion/exercises/atbash-cipher/Solution.cfc +56 -0
- data/tracks/coldfusion/exercises/atbash-cipher/SolutionTest.cfc +7 -0
- data/tracks/coldfusion/exercises/atbash-cipher/TestRunner.cfc +103 -0
- data/tracks/coldfusion/exercises/atbash-cipher/box.json +8 -0
- data/tracks/coldfusion/exercises/atbash-cipher/index.cfm +37 -0
- data/tracks/coldfusion/exercises/diamond/.meta/HINTS.md +0 -0
- data/tracks/coldfusion/exercises/diamond/Diamond.cfc +13 -0
- data/tracks/coldfusion/exercises/diamond/DiamondTest.cfc +35 -0
- data/tracks/coldfusion/exercises/diamond/Solution.cfc +35 -0
- data/tracks/coldfusion/exercises/diamond/SolutionTest.cfc +7 -0
- data/tracks/coldfusion/exercises/diamond/TestRunner.cfc +103 -0
- data/tracks/coldfusion/exercises/diamond/box.json +8 -0
- data/tracks/coldfusion/exercises/diamond/index.cfm +37 -0
- data/tracks/coldfusion/exercises/difference-of-squares/.meta/HINTS.md +0 -0
- data/tracks/coldfusion/exercises/difference-of-squares/DifferenceOfSquares.cfc +18 -0
- data/tracks/coldfusion/exercises/difference-of-squares/DifferenceOfSquaresTest.cfc +63 -0
- data/tracks/coldfusion/exercises/difference-of-squares/Solution.cfc +28 -0
- data/tracks/coldfusion/exercises/difference-of-squares/SolutionTest.cfc +7 -0
- data/tracks/coldfusion/exercises/difference-of-squares/TestRunner.cfc +103 -0
- data/tracks/coldfusion/exercises/difference-of-squares/box.json +8 -0
- data/tracks/coldfusion/exercises/difference-of-squares/index.cfm +37 -0
- data/tracks/coldfusion/exercises/flatten-array/.meta/HINTS.md +0 -0
- data/tracks/coldfusion/exercises/flatten-array/FlattenArray.cfc +13 -0
- data/tracks/coldfusion/exercises/flatten-array/FlattenArrayTest.cfc +42 -0
- data/tracks/coldfusion/exercises/flatten-array/Solution.cfc +26 -0
- data/tracks/coldfusion/exercises/flatten-array/SolutionTest.cfc +7 -0
- data/tracks/coldfusion/exercises/flatten-array/TestRunner.cfc +103 -0
- data/tracks/coldfusion/exercises/flatten-array/box.json +8 -0
- data/tracks/coldfusion/exercises/flatten-array/index.cfm +37 -0
- data/tracks/coldfusion/exercises/gigasecond/.meta/HINTS.md +0 -0
- data/tracks/coldfusion/exercises/gigasecond/Gigasecond.cfc +13 -0
- data/tracks/coldfusion/exercises/gigasecond/GigasecondTest.cfc +39 -0
- data/tracks/coldfusion/exercises/gigasecond/Solution.cfc +16 -0
- data/tracks/coldfusion/exercises/gigasecond/SolutionTest.cfc +7 -0
- data/tracks/coldfusion/exercises/gigasecond/TestRunner.cfc +103 -0
- data/tracks/coldfusion/exercises/gigasecond/box.json +8 -0
- data/tracks/coldfusion/exercises/gigasecond/index.cfm +37 -0
- data/tracks/coldfusion/exercises/grains/.meta/HINTS.md +0 -0
- data/tracks/coldfusion/exercises/grains/Grains.cfc +14 -0
- data/tracks/coldfusion/exercises/grains/GrainsTest.cfc +63 -0
- data/tracks/coldfusion/exercises/grains/Solution.cfc +22 -0
- data/tracks/coldfusion/exercises/grains/SolutionTest.cfc +7 -0
- data/tracks/coldfusion/exercises/grains/TestRunner.cfc +103 -0
- data/tracks/coldfusion/exercises/grains/box.json +8 -0
- data/tracks/coldfusion/exercises/grains/index.cfm +37 -0
- data/tracks/coldfusion/exercises/hamming/.meta/HINTS.md +0 -0
- data/tracks/coldfusion/exercises/hamming/Hamming.cfc +13 -0
- data/tracks/coldfusion/exercises/hamming/HammingTest.cfc +75 -0
- data/tracks/coldfusion/exercises/hamming/Solution.cfc +25 -0
- data/tracks/coldfusion/exercises/hamming/SolutionTest.cfc +7 -0
- data/tracks/coldfusion/exercises/hamming/TestRunner.cfc +103 -0
- data/tracks/coldfusion/exercises/hamming/box.json +8 -0
- data/tracks/coldfusion/exercises/hamming/index.cfm +37 -0
- data/tracks/coldfusion/exercises/hello-world/HelloWorld.cfc +13 -0
- data/tracks/coldfusion/exercises/hello-world/HelloWorldTest.cfc +18 -0
- data/tracks/coldfusion/exercises/hello-world/Solution.cfc +13 -0
- data/tracks/coldfusion/exercises/hello-world/SolutionTest.cfc +7 -0
- data/tracks/coldfusion/exercises/hello-world/TestRunner.cfc +103 -0
- data/tracks/coldfusion/exercises/hello-world/box.json +8 -0
- data/tracks/coldfusion/exercises/hello-world/index.cfm +37 -0
- data/tracks/coldfusion/exercises/isogram/.meta/HINTS.md +0 -0
- data/tracks/coldfusion/exercises/isogram/Isogram.cfc +13 -0
- data/tracks/coldfusion/exercises/isogram/IsogramTest.cfc +55 -0
- data/tracks/coldfusion/exercises/isogram/Solution.cfc +23 -0
- data/tracks/coldfusion/exercises/isogram/SolutionTest.cfc +7 -0
- data/tracks/coldfusion/exercises/isogram/TestRunner.cfc +103 -0
- data/tracks/coldfusion/exercises/isogram/box.json +8 -0
- data/tracks/coldfusion/exercises/isogram/index.cfm +37 -0
- data/tracks/coldfusion/exercises/largest-series-product/.meta/HINTS.md +0 -0
- data/tracks/coldfusion/exercises/largest-series-product/LargestSeriesProduct.cfc +13 -0
- data/tracks/coldfusion/exercises/largest-series-product/LargestSeriesProductTest.cfc +75 -0
- data/tracks/coldfusion/exercises/largest-series-product/Solution.cfc +41 -0
- data/tracks/coldfusion/exercises/largest-series-product/SolutionTest.cfc +7 -0
- data/tracks/coldfusion/exercises/largest-series-product/TestRunner.cfc +103 -0
- data/tracks/coldfusion/exercises/largest-series-product/box.json +8 -0
- data/tracks/coldfusion/exercises/largest-series-product/index.cfm +37 -0
- data/tracks/coldfusion/exercises/leap/Leap.cfc +15 -0
- data/tracks/coldfusion/exercises/leap/LeapTest.cfc +39 -0
- data/tracks/coldfusion/exercises/leap/Solution.cfc +19 -0
- data/tracks/coldfusion/exercises/leap/SolutionTest.cfc +7 -0
- data/tracks/coldfusion/exercises/leap/TestRunner.cfc +103 -0
- data/tracks/coldfusion/exercises/leap/box.json +8 -0
- data/tracks/coldfusion/exercises/leap/index.cfm +37 -0
- data/tracks/coldfusion/exercises/luhn/.meta/HINTS.md +0 -0
- data/tracks/coldfusion/exercises/luhn/Luhn.cfc +13 -0
- data/tracks/coldfusion/exercises/luhn/LuhnTest.cfc +67 -0
- data/tracks/coldfusion/exercises/luhn/Solution.cfc +38 -0
- data/tracks/coldfusion/exercises/luhn/SolutionTest.cfc +7 -0
- data/tracks/coldfusion/exercises/luhn/TestRunner.cfc +103 -0
- data/tracks/coldfusion/exercises/luhn/box.json +8 -0
- data/tracks/coldfusion/exercises/luhn/index.cfm +37 -0
- data/tracks/coldfusion/exercises/nth-prime/.meta/HINTS.md +0 -0
- data/tracks/coldfusion/exercises/nth-prime/NthPrime.cfc +13 -0
- data/tracks/coldfusion/exercises/nth-prime/NthPrimeTest.cfc +35 -0
- data/tracks/coldfusion/exercises/nth-prime/Solution.cfc +33 -0
- data/tracks/coldfusion/exercises/nth-prime/SolutionTest.cfc +7 -0
- data/tracks/coldfusion/exercises/nth-prime/TestRunner.cfc +103 -0
- data/tracks/coldfusion/exercises/nth-prime/box.json +8 -0
- data/tracks/coldfusion/exercises/nth-prime/index.cfm +37 -0
- data/tracks/coldfusion/exercises/pangram/.meta/HINTS.md +0 -0
- data/tracks/coldfusion/exercises/pangram/Pangram.cfc +13 -0
- data/tracks/coldfusion/exercises/pangram/PangramTest.cfc +55 -0
- data/tracks/coldfusion/exercises/pangram/Solution.cfc +21 -0
- data/tracks/coldfusion/exercises/pangram/SolutionTest.cfc +7 -0
- data/tracks/coldfusion/exercises/pangram/TestRunner.cfc +103 -0
- data/tracks/coldfusion/exercises/pangram/box.json +8 -0
- data/tracks/coldfusion/exercises/pangram/index.cfm +37 -0
- data/tracks/coldfusion/exercises/pig-latin/.meta/HINTS.md +0 -0
- data/tracks/coldfusion/exercises/pig-latin/PigLatin.cfc +13 -0
- data/tracks/coldfusion/exercises/pig-latin/PigLatinTest.cfc +115 -0
- data/tracks/coldfusion/exercises/pig-latin/Solution.cfc +30 -0
- data/tracks/coldfusion/exercises/pig-latin/SolutionTest.cfc +7 -0
- data/tracks/coldfusion/exercises/pig-latin/TestRunner.cfc +103 -0
- data/tracks/coldfusion/exercises/pig-latin/box.json +8 -0
- data/tracks/coldfusion/exercises/pig-latin/index.cfm +37 -0
- data/tracks/coldfusion/exercises/raindrops/.meta/HINTS.md +0 -0
- data/tracks/coldfusion/exercises/raindrops/Raindrops.cfc +13 -0
- data/tracks/coldfusion/exercises/raindrops/RaindropsTest.cfc +87 -0
- data/tracks/coldfusion/exercises/raindrops/Solution.cfc +33 -0
- data/tracks/coldfusion/exercises/raindrops/SolutionTest.cfc +7 -0
- data/tracks/coldfusion/exercises/raindrops/TestRunner.cfc +103 -0
- data/tracks/coldfusion/exercises/raindrops/box.json +8 -0
- data/tracks/coldfusion/exercises/raindrops/index.cfm +37 -0
- data/tracks/coldfusion/exercises/rna-transcription/.meta/HINTS.md +0 -0
- data/tracks/coldfusion/exercises/rna-transcription/RnaTranscription.cfc +13 -0
- data/tracks/coldfusion/exercises/rna-transcription/RnaTranscriptionTest.cfc +47 -0
- data/tracks/coldfusion/exercises/rna-transcription/Solution.cfc +35 -0
- data/tracks/coldfusion/exercises/rna-transcription/SolutionTest.cfc +7 -0
- data/tracks/coldfusion/exercises/rna-transcription/TestRunner.cfc +103 -0
- data/tracks/coldfusion/exercises/rna-transcription/box.json +8 -0
- data/tracks/coldfusion/exercises/rna-transcription/index.cfm +37 -0
- data/tracks/coldfusion/exercises/saddle-points/.meta/HINTS.md +0 -0
- data/tracks/coldfusion/exercises/saddle-points/SaddlePoints.cfc +13 -0
- data/tracks/coldfusion/exercises/saddle-points/SaddlePointsTest.cfc +35 -0
- data/tracks/coldfusion/exercises/saddle-points/Solution.cfc +59 -0
- data/tracks/coldfusion/exercises/saddle-points/SolutionTest.cfc +7 -0
- data/tracks/coldfusion/exercises/saddle-points/TestRunner.cfc +103 -0
- data/tracks/coldfusion/exercises/saddle-points/box.json +8 -0
- data/tracks/coldfusion/exercises/saddle-points/index.cfm +37 -0
- data/tracks/coldfusion/exercises/scrabble-score/.meta/HINTS.md +0 -0
- data/tracks/coldfusion/exercises/scrabble-score/ScrabbleScore.cfc +13 -0
- data/tracks/coldfusion/exercises/scrabble-score/ScrabbleScoreTest.cfc +59 -0
- data/tracks/coldfusion/exercises/scrabble-score/Solution.cfc +50 -0
- data/tracks/coldfusion/exercises/scrabble-score/SolutionTest.cfc +7 -0
- data/tracks/coldfusion/exercises/scrabble-score/TestRunner.cfc +103 -0
- data/tracks/coldfusion/exercises/scrabble-score/box.json +8 -0
- data/tracks/coldfusion/exercises/scrabble-score/index.cfm +37 -0
- data/tracks/coldfusion/exercises/secret-handshake/.meta/HINTS.md +0 -0
- data/tracks/coldfusion/exercises/secret-handshake/SecretHandshake.cfc +13 -0
- data/tracks/coldfusion/exercises/secret-handshake/SecretHandshakeTest.cfc +63 -0
- data/tracks/coldfusion/exercises/secret-handshake/Solution.cfc +31 -0
- data/tracks/coldfusion/exercises/secret-handshake/SolutionTest.cfc +7 -0
- data/tracks/coldfusion/exercises/secret-handshake/TestRunner.cfc +103 -0
- data/tracks/coldfusion/exercises/secret-handshake/box.json +8 -0
- data/tracks/coldfusion/exercises/secret-handshake/index.cfm +37 -0
- data/tracks/coldfusion/exercises/space-age/.meta/HINTS.md +0 -0
- data/tracks/coldfusion/exercises/space-age/Solution.cfc +28 -0
- data/tracks/coldfusion/exercises/space-age/SolutionTest.cfc +7 -0
- data/tracks/coldfusion/exercises/space-age/SpaceAge.cfc +13 -0
- data/tracks/coldfusion/exercises/space-age/SpaceAgeTest.cfc +47 -0
- data/tracks/coldfusion/exercises/space-age/TestRunner.cfc +103 -0
- data/tracks/coldfusion/exercises/space-age/box.json +8 -0
- data/tracks/coldfusion/exercises/space-age/index.cfm +37 -0
- data/tracks/coldfusion/exercises/sum-of-multiples/.meta/HINTS.md +0 -0
- data/tracks/coldfusion/exercises/sum-of-multiples/Solution.cfc +27 -0
- data/tracks/coldfusion/exercises/sum-of-multiples/SolutionTest.cfc +7 -0
- data/tracks/coldfusion/exercises/sum-of-multiples/SumOfMultiples.cfc +13 -0
- data/tracks/coldfusion/exercises/sum-of-multiples/SumOfMultiplesTest.cfc +63 -0
- data/tracks/coldfusion/exercises/sum-of-multiples/TestRunner.cfc +103 -0
- data/tracks/coldfusion/exercises/sum-of-multiples/box.json +8 -0
- data/tracks/coldfusion/exercises/sum-of-multiples/index.cfm +37 -0
- data/tracks/coldfusion/exercises/triangle/.meta/HINTS.md +0 -0
- data/tracks/coldfusion/exercises/triangle/Solution.cfc +53 -0
- data/tracks/coldfusion/exercises/triangle/SolutionTest.cfc +7 -0
- data/tracks/coldfusion/exercises/triangle/TestRunner.cfc +103 -0
- data/tracks/coldfusion/exercises/triangle/Triangle.cfc +18 -0
- data/tracks/coldfusion/exercises/triangle/TriangleTest.cfc +95 -0
- data/tracks/coldfusion/exercises/triangle/box.json +8 -0
- data/tracks/coldfusion/exercises/triangle/index.cfm +37 -0
- data/tracks/coldfusion/tasks/GenerateTests.cfc +179 -0
- data/tracks/coldfusion/tasks/ScaffoldExercise.cfc +85 -0
- data/tracks/coldfusion/tasks/TestAllSolutions.cfc +24 -0
- data/tracks/coldfusion/tasks/exercise_template/.meta/HINTS.md +0 -0
- data/tracks/coldfusion/tasks/exercise_template/@@name@@.cfc +13 -0
- data/tracks/coldfusion/tasks/exercise_template/@@name@@Test.cfc +15 -0
- data/tracks/coldfusion/tasks/exercise_template/Solution.cfc +6 -0
- data/tracks/coldfusion/tasks/exercise_template/SolutionTest.cfc +7 -0
- data/tracks/coldfusion/tasks/exercise_template/TestRunner.cfc +103 -0
- data/tracks/coldfusion/tasks/exercise_template/box.json +8 -0
- data/tracks/coldfusion/tasks/exercise_template/index.cfm +37 -0
- data/tracks/common-lisp/config.json +12 -0
- data/tracks/common-lisp/exercises/collatz-conjecture/README.md +84 -0
- data/tracks/common-lisp/exercises/collatz-conjecture/collatz-conjecture-test.lisp +31 -0
- data/tracks/common-lisp/exercises/collatz-conjecture/collatz-conjecture.lisp +7 -0
- data/tracks/common-lisp/exercises/collatz-conjecture/example.lisp +14 -0
- data/tracks/csharp/exercises/clock/Clock.cs +20 -4
- data/tracks/csharp/exercises/clock/ClockTest.cs +290 -55
- data/tracks/csharp/exercises/clock/Example.cs +11 -8
- data/tracks/csharp/generators/Exercises/Clock.cs +75 -0
- data/tracks/csharp/generators/Output/FormattingExtensions.cs +0 -1
- data/tracks/csharp/generators/Program.cs +2 -1
- data/tracks/haskell/config.json +10 -0
- data/tracks/haskell/exercises/collatz-conjecture/README.md +87 -0
- data/tracks/haskell/exercises/collatz-conjecture/examples/success-standard/package.yaml +16 -0
- data/tracks/haskell/exercises/collatz-conjecture/examples/success-standard/src/CollatzConjecture.hs +9 -0
- data/tracks/haskell/exercises/collatz-conjecture/package.yaml +20 -0
- data/tracks/haskell/exercises/collatz-conjecture/src/CollatzConjecture.hs +4 -0
- data/tracks/haskell/exercises/collatz-conjecture/stack.yaml +1 -0
- data/tracks/haskell/exercises/collatz-conjecture/test/Tests.hs +52 -0
- data/tracks/idris/docs/SNIPPET.txt +10 -0
- data/tracks/rust/README.md +83 -2
- data/tracks/rust/config.json +24 -0
- data/tracks/rust/exercises/perfect-numbers/.gitignore +7 -0
- data/tracks/rust/exercises/perfect-numbers/Cargo.toml +5 -0
- data/tracks/rust/exercises/perfect-numbers/README.md +56 -0
- data/tracks/rust/exercises/perfect-numbers/example.rs +20 -0
- data/tracks/rust/exercises/perfect-numbers/src/lib.rs +0 -0
- data/tracks/rust/exercises/perfect-numbers/tests/perfect-numbers.rs +33 -0
- data/tracks/rust/exercises/poker/.gitignore +7 -0
- data/tracks/rust/exercises/poker/.meta/hints.md +8 -0
- data/tracks/rust/exercises/poker/Cargo-example.toml +8 -0
- data/tracks/rust/exercises/poker/Cargo.toml +6 -0
- data/tracks/rust/exercises/poker/README.md +54 -0
- data/tracks/rust/exercises/poker/example.rs +341 -0
- data/tracks/rust/exercises/poker/src/lib.rs +7 -0
- data/tracks/rust/exercises/poker/tests/poker.rs +298 -0
- metadata +242 -5
- data/tracks/coldfusion/exercises/leap/example.cfc +0 -11
- data/tracks/coldfusion/exercises/leap/leap.cfc +0 -5
- data/tracks/coldfusion/exercises/leap/leap_tests.cfc +0 -35
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 94f1ec75e4a06728b2a24c14a1bd8943129753a1
|
4
|
+
data.tar.gz: e6db1170c98f5378116c98e2187104208f59435b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3a1f5ee1c91b627cec5a1131fe8d9601608db6189818c6e27ef5b1c5822cb80293b3c2017c462a506f580b52f224e32cf6e40b0758f31364c036509eacfd4e94
|
7
|
+
data.tar.gz: e9a86d47b1a8497216affb89a5bffcae2f1515ce692c565b802488a672bc22e3215e5e62e4b958dbc499e36b8b20ba491dd052708356b28eca0d771e65843f0b
|
data/lib/trackler/version.rb
CHANGED
@@ -180,6 +180,6 @@ npm test
|
|
180
180
|
|
181
181
|
Run for single exercise:
|
182
182
|
```shell
|
183
|
-
npm test-one exercises/<exercise>/canonical-data.json
|
183
|
+
npm run test-one exercises/<exercise>/canonical-data.json
|
184
184
|
```
|
185
185
|
Replace `<exercise>` by the name of exercise which you want to check.
|
@@ -21,12 +21,18 @@ palindromic product of factors within that range, along with all the factors in
|
|
21
21
|
|
22
22
|
Given the range `[1, 9]` (both inclusive)...
|
23
23
|
|
24
|
-
|
25
|
-
|
24
|
+
And given the list of all possible products within this range:
|
25
|
+
`[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]`
|
26
|
+
|
27
|
+
The palindrome products are all single digit numbers (in this case):
|
28
|
+
`[1, 2, 3, 4, 5, 6, 7, 8, 9]`
|
29
|
+
|
30
|
+
The smallest palindrome product is `1`. Its factors are `(1, 1)`.
|
31
|
+
The largest palindrome product is `9`. Its factors are `(1, 9)` and `(3, 3)`.
|
26
32
|
|
27
33
|
## Example 2
|
28
34
|
|
29
35
|
Given the range `[10, 99]` (both inclusive)...
|
30
36
|
|
31
37
|
The smallest palindrome product is `121`. Its factors are `(11, 11)`.
|
32
|
-
The largest palindrome product is `9009`. Its factors are `(91, 99)
|
38
|
+
The largest palindrome product is `9009`. Its factors are `(91, 99)`.
|
@@ -2,15 +2,16 @@
|
|
2
2
|
#include <string.h>
|
3
3
|
#include "hamming.h"
|
4
4
|
|
5
|
-
|
5
|
+
int compute(const char *lhs, const char *rhs)
|
6
6
|
{
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
7
|
+
int count = -1;
|
8
|
+
if (lhs && rhs && (strlen(lhs) == strlen(rhs))) {
|
9
|
+
count = 0;
|
10
|
+
int length = (int)strlen(lhs);
|
11
|
+
for (int i = 0; i < length; ++i) {
|
12
|
+
if (lhs[i] != rhs[i]) {
|
13
|
+
++count;
|
14
|
+
}
|
14
15
|
}
|
15
16
|
}
|
16
17
|
return count;
|
@@ -1,11 +1,31 @@
|
|
1
1
|
#include "vendor/unity.h"
|
2
2
|
#include "../src/hamming.h"
|
3
3
|
|
4
|
+
void test_empty_strands(void)
|
5
|
+
{
|
6
|
+
TEST_ASSERT_EQUAL(0, compute("", ""));
|
7
|
+
}
|
8
|
+
|
9
|
+
void test_rejects_null_strand(void)
|
10
|
+
{
|
11
|
+
TEST_ASSERT_EQUAL(-1, compute(NULL, "A"));
|
12
|
+
}
|
13
|
+
|
14
|
+
void test_rejects_other_null_strand(void)
|
15
|
+
{
|
16
|
+
TEST_ASSERT_EQUAL(-1, compute("A", NULL));
|
17
|
+
}
|
18
|
+
|
4
19
|
void test_no_difference_between_identical_strands(void)
|
5
20
|
{
|
6
21
|
TEST_ASSERT_EQUAL(0, compute("A", "A"));
|
7
22
|
}
|
8
23
|
|
24
|
+
void test_identical_long_strands(void)
|
25
|
+
{
|
26
|
+
TEST_ASSERT_EQUAL(0, compute("GGACTGA", "GGACTGA"));
|
27
|
+
}
|
28
|
+
|
9
29
|
void test_hamming_distance_for_single_nucleotide_strand(void)
|
10
30
|
{
|
11
31
|
TEST_ASSERT_EQUAL(1, compute("A", "G"));
|
@@ -26,14 +46,14 @@ void test_small_hamming_distance_in_longer_strand(void)
|
|
26
46
|
TEST_ASSERT_EQUAL(1, compute("GGACG", "GGTCG"));
|
27
47
|
}
|
28
48
|
|
29
|
-
void
|
49
|
+
void test_rejects_extra_length_on_first_strand_when_longer(void)
|
30
50
|
{
|
31
|
-
TEST_ASSERT_EQUAL(
|
51
|
+
TEST_ASSERT_EQUAL(-1, compute("AAAG", "AAA"));
|
32
52
|
}
|
33
53
|
|
34
|
-
void
|
54
|
+
void test_rejects_extra_length_on_other_strand_when_longer(void)
|
35
55
|
{
|
36
|
-
TEST_ASSERT_EQUAL(
|
56
|
+
TEST_ASSERT_EQUAL(-1, compute("AAA", "AAAG"));
|
37
57
|
}
|
38
58
|
|
39
59
|
void test_large_hamming_distance(void)
|
@@ -48,15 +68,19 @@ void test_hamming_distance_in_very_long_strand(void)
|
|
48
68
|
|
49
69
|
int main(void)
|
50
70
|
{
|
51
|
-
UnityBegin("
|
71
|
+
UnityBegin("test/test_hamming.c");
|
52
72
|
|
73
|
+
RUN_TEST(test_empty_strands);
|
53
74
|
RUN_TEST(test_no_difference_between_identical_strands);
|
75
|
+
RUN_TEST(test_rejects_null_strand);
|
76
|
+
RUN_TEST(test_rejects_other_null_strand);
|
77
|
+
RUN_TEST(test_identical_long_strands);
|
54
78
|
RUN_TEST(test_hamming_distance_for_single_nucleotide_strand);
|
55
79
|
RUN_TEST(test_complete_hamming_distance_for_small_strand);
|
56
80
|
RUN_TEST(test_small_hamming_distance);
|
57
81
|
RUN_TEST(test_small_hamming_distance_in_longer_strand);
|
58
|
-
RUN_TEST(
|
59
|
-
RUN_TEST(
|
82
|
+
RUN_TEST(test_rejects_null_strand);
|
83
|
+
RUN_TEST(test_rejects_other_null_strand);
|
60
84
|
RUN_TEST(test_large_hamming_distance);
|
61
85
|
RUN_TEST(test_hamming_distance_in_very_long_strand);
|
62
86
|
|
data/tracks/clojure/config.json
CHANGED
@@ -65,6 +65,16 @@
|
|
65
65
|
|
66
66
|
]
|
67
67
|
},
|
68
|
+
{
|
69
|
+
"uuid": "c14ef548-c5f6-43a9-84e2-c7248705fc8e",
|
70
|
+
"slug": "collatz-conjecture",
|
71
|
+
"core": false,
|
72
|
+
"unlocked_by": null,
|
73
|
+
"difficulty": 1,
|
74
|
+
"topics": [
|
75
|
+
|
76
|
+
]
|
77
|
+
},
|
68
78
|
{
|
69
79
|
"uuid": "66d97ae9-36ac-47c6-8b9f-e77ce498fc70",
|
70
80
|
"slug": "nucleotide-count",
|
@@ -0,0 +1,34 @@
|
|
1
|
+
## Collatz Conjecture.
|
2
|
+
|
3
|
+
The Collatz Conjecture or 3x+1 problem can be summarized as follows:
|
4
|
+
|
5
|
+
Take any positive integer n. If n is even, divide n by 2 to get n / 2. If n is
|
6
|
+
odd, multiply n by 3 and add 1 to get 3n + 1. Repeat the process indefinitely.
|
7
|
+
The conjecture states that no matter which number you start with, you will
|
8
|
+
always reach 1 eventually.
|
9
|
+
|
10
|
+
Given a number n, return the number of steps required to reach 1.
|
11
|
+
|
12
|
+
## Examples
|
13
|
+
Starting with n = 12, the steps would be as follows:
|
14
|
+
|
15
|
+
0. 12
|
16
|
+
1. 6
|
17
|
+
2. 3
|
18
|
+
3. 10
|
19
|
+
4. 5
|
20
|
+
5. 16
|
21
|
+
6. 8
|
22
|
+
7. 4
|
23
|
+
8. 2
|
24
|
+
9. 1
|
25
|
+
|
26
|
+
Resulting in 9 steps. So for input n = 12, the return value would be 9.
|
27
|
+
|
28
|
+
## Source
|
29
|
+
|
30
|
+
An unsolved problem in mathematics named after mathematician Lothar Collatz
|
31
|
+
see more at [collatz conjecture wikipedia](https://en.wikipedia.org/wiki/3x_%2B_1_problem)
|
32
|
+
|
33
|
+
## Submitting Incomplete Solutions
|
34
|
+
It's possible to submit an incomplete solution so you can see how others have completed the exercise.
|
@@ -0,0 +1,13 @@
|
|
1
|
+
(ns collatz-conjecture)
|
2
|
+
|
3
|
+
(defn collatz-helper [n]
|
4
|
+
(cond (= 1 n) 1
|
5
|
+
(even? n) (/ n 2)
|
6
|
+
:else (inc (* 3 n))))
|
7
|
+
|
8
|
+
(defn collatz [n]
|
9
|
+
(if (> n 0)
|
10
|
+
(count (take-while #(not= 1 %)
|
11
|
+
(iterate collatz-helper n)))
|
12
|
+
(throw (IllegalArgumentException.
|
13
|
+
"Just defined for numbers greater than 0."))))
|
@@ -0,0 +1,29 @@
|
|
1
|
+
(ns collatz-conjecture-test
|
2
|
+
(require [clojure.test :refer [deftest is testing]]
|
3
|
+
[collatz-conjecture :refer [collatz]]))
|
4
|
+
|
5
|
+
(deftest steps-for-1
|
6
|
+
(testing "zero steps for one"
|
7
|
+
(is (= 0 (collatz 1)))))
|
8
|
+
|
9
|
+
(deftest steps-for-16
|
10
|
+
(testing "divide if even"
|
11
|
+
(is (= 4 (collatz 16)))))
|
12
|
+
|
13
|
+
(deftest steps-for-12
|
14
|
+
(testing "even and odd steps"
|
15
|
+
(is (= 9 (collatz 12)))))
|
16
|
+
|
17
|
+
(deftest steps-for-1000000
|
18
|
+
(testing "Large number of even and odd steps"
|
19
|
+
(is (= 152 (collatz 1000000)))))
|
20
|
+
|
21
|
+
(deftest steps-for-0
|
22
|
+
(testing "zero is an error"
|
23
|
+
(is (thrown? IllegalArgumentException
|
24
|
+
(collatz 0)))))
|
25
|
+
|
26
|
+
(deftest steps-for-negative
|
27
|
+
(testing "negative value is an error"
|
28
|
+
(is (thrown? IllegalArgumentException
|
29
|
+
(collatz -15)))))
|
@@ -1,6 +1,18 @@
|
|
1
1
|
---
|
2
|
-
language:
|
2
|
+
language: java
|
3
|
+
sudo: required
|
4
|
+
jdk:
|
5
|
+
- oraclejdk8
|
6
|
+
cache:
|
7
|
+
directories:
|
8
|
+
- $HOME/.CommandBox
|
9
|
+
before_install:
|
10
|
+
- sudo apt-key adv --keyserver keys.gnupg.net --recv 6DA70622
|
11
|
+
- sudo echo "deb http://downloads.ortussolutions.com/debs/noarch /" | sudo tee -a /etc/apt/sources.list.d/commandbox.list
|
12
|
+
install:
|
13
|
+
- sudo apt-get update && sudo apt-get --assume-yes install commandbox
|
3
14
|
script:
|
4
|
-
- bin/fetch-configlet
|
5
|
-
- bin/configlet lint .
|
6
|
-
|
15
|
+
- bin/fetch-configlet
|
16
|
+
- bin/configlet lint .
|
17
|
+
- box task run tasks/TestAllSolutions
|
18
|
+
|
@@ -0,0 +1,10 @@
|
|
1
|
+
## Contributing to the ColdFusion Exercism Track
|
2
|
+
|
3
|
+
Welcome to the ColdFusion Exercism track! We are happy you want to help out and would love to have your contributions. Here's some basic steps to get you going:
|
4
|
+
|
5
|
+
1. Familiarize yourself with Exercism by completing a few exercises.
|
6
|
+
2. Check out the `README.md` file in this repo for additional information on our exercises are built.
|
7
|
+
3. Read the Style Guide in the readme and ensure your exercises follow it.
|
8
|
+
3. Fork this repo, or `git rebase` your existing fork
|
9
|
+
4. Create a new branch for all changes
|
10
|
+
5. Please ask if you have any questions and happy contributing!
|
data/tracks/coldfusion/README.md
CHANGED
@@ -1,13 +1,92 @@
|
|
1
|
-
#
|
1
|
+
# Exercism ColdFusion Track
|
2
2
|
|
3
|
-
|
3
|
+
[![Build Status](https://travis-ci.org/exercism/coldfusion.svg?branch=master)](https://travis-ci.org/exercism/coldfusion)
|
4
4
|
|
5
|
-
|
5
|
+
Exercism problems in ColdFusion. There are two major CFML engines in existence:
|
6
6
|
|
7
|
-
|
7
|
+
* **[Lucee Server](http://lucee.org/)** - A free open source CFML engine
|
8
|
+
* **[Adobe ColdFusion](http://www.adobe.com/products/coldfusion-family.html)** - A commercially supported Enterprise CF engine
|
8
9
|
|
9
|
-
|
10
|
+
These exercises should teach the basics of CFML in a way that can be transferred to either engine. The CommandBox CLI will run your tests against Lucee Server by default.
|
11
|
+
|
12
|
+
## Setup
|
13
|
+
|
14
|
+
The only thing you will need to run these exercises is [CommandBox CLI](https://ortus.gitbooks.io/commandbox-documentation/content/getting_started_guide.html) and [Java 7+](https://java.com/en/download/) installed. CommandBox CLI is supported on Mac, Linux, and Windows, and the installation guide can be found here:
|
15
|
+
|
16
|
+
[https://ortus.gitbooks.io/commandbox-documentation/content/setup/installation.html](https://ortus.gitbooks.io/commandbox-documentation/content/setup/installation.html)
|
17
|
+
|
18
|
+
An example of getting CommandBox CLI setup if you're a Homebrew user on Mac would be:
|
19
|
+
|
20
|
+
```bash
|
21
|
+
brew install commandbox
|
22
|
+
```
|
23
|
+
|
24
|
+
## Anatomy of an Exercise
|
25
|
+
|
26
|
+
The files for an exercise live in `/exercises/<slug>`. The slug for an exercise is a unique nickname composed of a-z (lowercase) and -, e.g. `leap` or `hello-world`. Inside its directory, each exercise has:
|
27
|
+
|
28
|
+
* `<exercise_name>Test.cfc` - The test suite
|
29
|
+
* `<exercise_name>.cfc` - Implementation stub, omitted for the later exercises
|
30
|
+
* `SolutionTest.cfc` - A test suite that runs the Solution
|
31
|
+
* `Solution.cfc` - An example solution
|
32
|
+
* `TestRunner.cfc` - A CLI task runner to run the unit test with
|
33
|
+
* `box.json` - A package descriptor that lists dependencies
|
34
|
+
* `index.cfm` - A web-based test runner for students wishing to start a web server
|
35
|
+
|
36
|
+
## Running the Tests
|
37
|
+
|
38
|
+
To run the test for a given exercise, `cd` into the folder and run the following:
|
39
|
+
|
40
|
+
```bash
|
41
|
+
box task run TestRunner
|
42
|
+
# Or start up a test watcher that will rerun when files change
|
43
|
+
box task run TestRunner --watcher
|
44
|
+
```
|
45
|
+
|
46
|
+
If you want to run the test suite against the solution:
|
47
|
+
|
48
|
+
```bash
|
49
|
+
box task run TestRunner --solution
|
50
|
+
```
|
10
51
|
|
11
|
-
|
52
|
+
The tests leverage a library called TestBox which supports xUnit and BDD style of testing. All test suites will be written in the [BDD style](https://testbox.ortusbooks.com/content/primers/bdd/specs.html) which uses closures to define test specs. You won't need to worry about installing TestBox. The CLI test runner will take care of that for you. You just need to be connected to the internet the first time you run it. You can read more about it here:
|
12
53
|
|
54
|
+
[https://testbox.ortusbooks.com/content/](https://testbox.ortusbooks.com/content/)
|
55
|
+
|
56
|
+
## Pull Requests
|
57
|
+
|
58
|
+
We welcome pull requests that provide fixes to existing test suites (missing tests, interesting edge cases, improved APIs), as well as new problems.
|
59
|
+
|
60
|
+
If you're unsure, then go ahead and open a GitHub issue, and we'll discuss the change.
|
61
|
+
|
62
|
+
Please submit changes to a single problem per pull request unless you're submitting a general change across many of the problems (e.g. formatting).
|
63
|
+
|
64
|
+
## Style Guide
|
65
|
+
The exercise tests, solutions, and filenames will follow this ColdFusion style guide.
|
66
|
+
|
67
|
+
[ColdFusion (CFML) Standards & Best Practices](https://github.com/Ortus-Solutions/coding-standards/blob/master/coldfusion.md)
|
68
|
+
|
69
|
+
|
70
|
+
Here's the TL;DR; version.
|
71
|
+
|
72
|
+
* Component names are camel-cased ( `LeapTest.cfc` )
|
73
|
+
* Variable names are headless camel-cased ( `greetingService` )
|
74
|
+
* Variable names should avoid abbreviations and be descriptive ( `maximumAccountBalance` )
|
75
|
+
* Indentation uses a tab character
|
76
|
+
* Remove trailing whitespace from lines
|
77
|
+
* Block statements will use the [`1TBS`](https://en.wikipedia.org/wiki/Indent_style#Variant:_1TBS_.28OTBS.29) with space padding all parens and brackets as follows:
|
78
|
+
|
79
|
+
```js
|
80
|
+
if( condition || otherCondition ) {
|
81
|
+
myStruct[ key ] = doSomething( param1, param2, true, 'Tuesday' );
|
82
|
+
} else {
|
83
|
+
return false;
|
84
|
+
}
|
85
|
+
```
|
86
|
+
|
87
|
+
TODO: Configure task runner to lint exercises and clean trailing whitespace and tabs/spaces. Allow this to be run on all exercises or a single one.
|
88
|
+
|
89
|
+
|
90
|
+
## Contributing Guide
|
13
91
|
|
92
|
+
Please see the [contributing guide](https://github.com/exercism/docs/blob/master/contributing-to-language-tracks/README.md)
|
@@ -1,20 +1,205 @@
|
|
1
1
|
{
|
2
2
|
"language": "ColdFusion",
|
3
|
-
"
|
4
|
-
"
|
3
|
+
"blurb" : "ColdFusion (CFML) is an open source and commercial (JIT) compiled dynamic and loosely typed JVM scripting language that embodies classic OO, and functional programming, making it easy to learn, fun to use. CFML brings the power and scalability of the J2EE ecosystem but without the boilerplate of Java.",
|
4
|
+
"active": true,
|
5
|
+
"solution_pattern": "Solution.cfc",
|
6
|
+
"ignore_pattern": "Solution",
|
5
7
|
"foregone": [
|
6
|
-
|
7
8
|
],
|
8
|
-
"exercises":
|
9
|
+
"exercises":[
|
9
10
|
{
|
10
|
-
"uuid": "
|
11
|
-
"slug": "leap",
|
12
|
-
"core": false,
|
13
|
-
"unlocked_by": null,
|
11
|
+
"uuid": "ab04a390-0969-4a17-8081-c852b23ed88c",
|
14
12
|
"difficulty": 1,
|
13
|
+
"slug": "hello-world",
|
15
14
|
"topics": [
|
16
|
-
|
15
|
+
|
16
|
+
]
|
17
|
+
},
|
18
|
+
{
|
19
|
+
"uuid":"03a98e5b-03b7-45e5-a580-611ef5dab4e5",
|
20
|
+
"slug":"leap",
|
21
|
+
"core":false,
|
22
|
+
"unlocked_by":null,
|
23
|
+
"difficulty":1,
|
24
|
+
"topics":[
|
25
|
+
|
26
|
+
]
|
27
|
+
},
|
28
|
+
{
|
29
|
+
"difficulty":1,
|
30
|
+
"slug":"raindrops",
|
31
|
+
"uuid":"9273C0A7-CB7E-4F3F-8993-F1621CE1F700",
|
32
|
+
"topics":[
|
33
|
+
|
34
|
+
]
|
35
|
+
},
|
36
|
+
{
|
37
|
+
"difficulty":1,
|
38
|
+
"slug":"scrabble-score",
|
39
|
+
"uuid":"1065F8DF-E6C6-4473-A633-4FA4B49A5314",
|
40
|
+
"topics":[
|
41
|
+
|
42
|
+
]
|
43
|
+
},
|
44
|
+
{
|
45
|
+
"difficulty":1,
|
46
|
+
"slug":"difference-of-squares",
|
47
|
+
"uuid":"4E91AD44-8F3D-40DC-899E-253C91B134F6",
|
48
|
+
"topics":[
|
49
|
+
|
50
|
+
]
|
51
|
+
},
|
52
|
+
{
|
53
|
+
"difficulty":1,
|
54
|
+
"slug":"secret-handshake",
|
55
|
+
"uuid":"0AC79782-B370-4954-8455-6300A734E1B8",
|
56
|
+
"topics":[
|
57
|
+
|
58
|
+
]
|
59
|
+
},
|
60
|
+
{
|
61
|
+
"difficulty":1,
|
62
|
+
"slug":"space-age",
|
63
|
+
"uuid":"0B14F23A-DAD4-4965-8ABD-8A107DFD6C00",
|
64
|
+
"topics":[
|
65
|
+
|
66
|
+
]
|
67
|
+
},
|
68
|
+
{
|
69
|
+
"difficulty":1,
|
70
|
+
"slug":"acronym",
|
71
|
+
"uuid":"9894F2F7-2DBE-4001-885B-FD2C029C6731",
|
72
|
+
"topics":[
|
73
|
+
|
74
|
+
]
|
75
|
+
},
|
76
|
+
{
|
77
|
+
"difficulty":1,
|
78
|
+
"slug":"rna-transcription",
|
79
|
+
"uuid":"11C48AFF-4A54-4B3C-AF5E-53048D4BA98B",
|
80
|
+
"topics":[
|
81
|
+
|
82
|
+
]
|
83
|
+
},
|
84
|
+
{
|
85
|
+
"difficulty":1,
|
86
|
+
"slug":"pangram",
|
87
|
+
"uuid":"113A2FF7-E72E-49DD-A2CF-0EB25894707D",
|
88
|
+
"topics":[
|
89
|
+
|
90
|
+
]
|
91
|
+
},
|
92
|
+
{
|
93
|
+
"difficulty":1,
|
94
|
+
"slug":"hamming",
|
95
|
+
"uuid":"4063A554-424C-4173-81EE-FEAC7CC51E8A",
|
96
|
+
"topics":[
|
97
|
+
|
98
|
+
]
|
99
|
+
},
|
100
|
+
{
|
101
|
+
"difficulty":1,
|
102
|
+
"slug":"gigasecond",
|
103
|
+
"uuid":"00B82E7F-804C-4401-BB7F-0565DEA02567",
|
104
|
+
"topics":[
|
105
|
+
|
106
|
+
]
|
107
|
+
},
|
108
|
+
{
|
109
|
+
"difficulty":1,
|
110
|
+
"slug":"sum-of-multiples",
|
111
|
+
"uuid":"C6F38ACB-A6BD-41EE-A2F8-A9680B3F61D2",
|
112
|
+
"topics":[
|
113
|
+
|
114
|
+
]
|
115
|
+
},
|
116
|
+
{
|
117
|
+
"difficulty":1,
|
118
|
+
"slug":"luhn",
|
119
|
+
"uuid":"685ADB7B-1DC9-4409-993D-51034DF6F744",
|
120
|
+
"topics":[
|
121
|
+
|
122
|
+
]
|
123
|
+
},
|
124
|
+
{
|
125
|
+
"difficulty":1,
|
126
|
+
"slug":"triangle",
|
127
|
+
"uuid":"8D0FA71A-3314-432E-BF1F-E6A5F823FC36",
|
128
|
+
"topics":[
|
129
|
+
|
130
|
+
]
|
131
|
+
},
|
132
|
+
{
|
133
|
+
"difficulty":1,
|
134
|
+
"slug":"largest-series-product",
|
135
|
+
"uuid":"A35C9BE1-F26A-40C8-8C05-99C33C552E6F",
|
136
|
+
"topics":[
|
137
|
+
|
138
|
+
]
|
139
|
+
},
|
140
|
+
{
|
141
|
+
"difficulty":1,
|
142
|
+
"slug":"grains",
|
143
|
+
"uuid":"E25686EE-B888-4533-86C2-5A5D96F5270E",
|
144
|
+
"topics":[
|
145
|
+
|
146
|
+
]
|
147
|
+
},
|
148
|
+
{
|
149
|
+
"difficulty":1,
|
150
|
+
"slug":"atbash-cipher",
|
151
|
+
"uuid":"C35391BD-900F-4756-8DFE-A96EA04250F8",
|
152
|
+
"topics":[
|
153
|
+
|
154
|
+
]
|
155
|
+
},
|
156
|
+
{
|
157
|
+
"difficulty":1,
|
158
|
+
"slug":"nth-prime",
|
159
|
+
"uuid":"15151E41-195C-40DD-B296-C2C19B38CAEA",
|
160
|
+
"topics":[
|
161
|
+
|
162
|
+
]
|
163
|
+
},
|
164
|
+
{
|
165
|
+
"difficulty":1,
|
166
|
+
"slug":"pig-latin",
|
167
|
+
"uuid":"3FDDA0E3-AE90-4834-B6DC-A5E367A5A029",
|
168
|
+
"topics":[
|
169
|
+
|
170
|
+
]
|
171
|
+
},
|
172
|
+
{
|
173
|
+
"difficulty":1,
|
174
|
+
"slug":"flatten-array",
|
175
|
+
"uuid":"B0E72A09-49E2-4973-BFF4-88C678F4BE55",
|
176
|
+
"topics":[
|
177
|
+
|
178
|
+
]
|
179
|
+
},
|
180
|
+
{
|
181
|
+
"difficulty":1,
|
182
|
+
"slug":"saddle-points",
|
183
|
+
"uuid":"063C4BB9-3280-4C69-B164-237732AE00EF",
|
184
|
+
"topics":[
|
185
|
+
|
186
|
+
]
|
187
|
+
},
|
188
|
+
{
|
189
|
+
"difficulty":1,
|
190
|
+
"slug":"diamond",
|
191
|
+
"uuid":"DECA4C79-DA5D-43A8-90B8-3A5BE73EAFF5",
|
192
|
+
"topics":[
|
193
|
+
|
194
|
+
]
|
195
|
+
},
|
196
|
+
{
|
197
|
+
"difficulty":1,
|
198
|
+
"slug":"isogram",
|
199
|
+
"uuid":"FC8922A3-E29D-451D-9947-A2781C0FF787",
|
200
|
+
"topics":[
|
201
|
+
|
17
202
|
]
|
18
203
|
}
|
19
204
|
]
|
20
|
-
}
|
205
|
+
}
|