trackler 2.2.1.47 → 2.2.1.48
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/pangram/canonical-data.json +3 -3
- data/tracks/common-lisp/.travis.yml +2 -9
- data/tracks/common-lisp/docs/TESTS.md +43 -9
- data/tracks/delphi/exercises/nucleotide-count/uNucleotideCountTest.pas +2 -2
- data/tracks/elixir/.travis.yml +4 -7
- data/tracks/elixir/README.md +2 -6
- data/tracks/elixir/bin/dialyzer_check.sh +2 -13
- data/tracks/elixir/exercises/allergies/example.exs +3 -2
- data/tracks/elixir/exercises/atbash-cipher/example.exs +5 -5
- data/tracks/elixir/exercises/bank-account/example.exs +11 -11
- data/tracks/elixir/exercises/bob/example.exs +4 -4
- data/tracks/elixir/exercises/forth/example.exs +66 -48
- data/tracks/elixir/exercises/minesweeper/example.exs +31 -18
- data/tracks/elixir/exercises/pangram/example.exs +4 -4
- data/tracks/elixir/exercises/queen-attack/queen_attack_test.exs +68 -53
- data/tracks/elixir/exercises/say/example.exs +33 -31
- data/tracks/elixir/exercises/scrabble-score/example.exs +12 -11
- data/tracks/elixir/mix.exs +10 -7
- data/tracks/elixir/mix.lock +4 -1
- data/tracks/erlang/README.md +2 -0
- data/tracks/fsharp/exercises/nth-prime/Example.fs +4 -1
- data/tracks/fsharp/exercises/nth-prime/NthPrime.fs +1 -1
- data/tracks/fsharp/exercises/nth-prime/NthPrimeTest.fs +12 -32
- data/tracks/fsharp/exercises/pangram/PangramTest.fs +3 -3
- data/tracks/fsharp/exercises/perfect-numbers/Example.fs +9 -6
- data/tracks/fsharp/exercises/perfect-numbers/PerfectNumbers.fs +1 -1
- data/tracks/fsharp/exercises/perfect-numbers/PerfectNumbersTest.fs +55 -21
- data/tracks/fsharp/generators/Generators.fs +18 -0
- data/tracks/gnu-apl/config.json +21 -0
- data/tracks/gnu-apl/exercises/hamming/README.md +42 -0
- data/tracks/gnu-apl/exercises/hamming/hamming-example.apl +5 -0
- data/tracks/gnu-apl/exercises/hamming/hamming.tc +75 -0
- data/tracks/gnu-apl/exercises/hello-world/README.md +17 -1
- data/tracks/gnu-apl/exercises/leap/README.md +33 -0
- data/tracks/gnu-apl/exercises/raindrops/README.md +24 -0
- data/tracks/gnu-apl/exercises/raindrops/raindrops-example.apl +8 -0
- data/tracks/gnu-apl/exercises/raindrops/raindrops.tc +60 -0
- data/tracks/gnu-apl/exercises/rna-transcription/README.md +25 -0
- data/tracks/gnu-apl/exercises/rna-transcription/rna-transcription-example.apl +7 -0
- data/tracks/gnu-apl/exercises/rna-transcription/rna-transcription.tc +41 -0
- data/tracks/gnu-apl/test.apl +13 -0
- data/tracks/haskell/config.json +9 -0
- data/tracks/haskell/exercises/rotational-cipher/README.md +91 -0
- data/tracks/haskell/exercises/rotational-cipher/examples/success-standard/package.yaml +16 -0
- data/tracks/haskell/exercises/rotational-cipher/examples/success-standard/src/RotationalCipher.hs +9 -0
- data/tracks/haskell/exercises/rotational-cipher/package.yaml +20 -0
- data/tracks/haskell/exercises/rotational-cipher/src/RotationalCipher.hs +4 -0
- data/tracks/haskell/exercises/rotational-cipher/stack.yaml +1 -0
- data/tracks/haskell/exercises/rotational-cipher/test/Tests.hs +77 -0
- data/tracks/java/config.json +23 -14
- data/tracks/java/config/exercise-readme-insert.md +3 -3
- data/tracks/java/config/exercise_readme.go.tmpl +3 -0
- data/tracks/java/exercises/accumulate/README.md +4 -3
- data/tracks/java/exercises/acronym/.meta/{.version → version} +0 -0
- data/tracks/java/exercises/acronym/README.md +4 -3
- data/tracks/java/exercises/all-your-base/.meta/{.version → version} +0 -0
- data/tracks/java/exercises/all-your-base/README.md +4 -3
- data/tracks/java/exercises/allergies/README.md +4 -3
- data/tracks/java/exercises/anagram/README.md +4 -3
- data/tracks/java/exercises/atbash-cipher/README.md +4 -3
- data/tracks/java/exercises/bank-account/README.md +6 -3
- data/tracks/java/exercises/beer-song/README.md +4 -3
- data/tracks/java/exercises/binary-search-tree/.meta/src/reference/java/BinarySearchTree.java +38 -44
- data/tracks/java/exercises/binary-search-tree/README.md +4 -3
- data/tracks/java/exercises/binary-search-tree/src/main/java/BinarySearchTree.java +35 -0
- data/tracks/java/exercises/binary-search-tree/src/test/java/BinarySearchTreeTest.java +46 -40
- data/tracks/java/exercises/binary-search/.meta/hints.md +25 -0
- data/tracks/java/exercises/binary-search/.meta/src/reference/java/BinarySearch.java +3 -7
- data/tracks/java/exercises/binary-search/README.md +33 -3
- data/tracks/java/exercises/binary-search/src/test/java/BinarySearchTest.java +11 -11
- data/tracks/java/exercises/binary/README.md +4 -3
- data/tracks/java/exercises/bob/README.md +4 -3
- data/tracks/java/exercises/book-store/README.md +4 -3
- data/tracks/java/exercises/bowling/README.md +4 -3
- data/tracks/java/exercises/bracket-push/README.md +4 -3
- data/tracks/java/exercises/change/.meta/{.version → version} +0 -0
- data/tracks/java/exercises/change/README.md +4 -3
- data/tracks/java/exercises/circular-buffer/README.md +4 -3
- data/tracks/java/exercises/clock/.meta/{.version → version} +0 -0
- data/tracks/java/exercises/clock/README.md +6 -3
- data/tracks/java/exercises/collatz-conjecture/.meta/{.version → version} +0 -0
- data/tracks/java/exercises/collatz-conjecture/README.md +4 -3
- data/tracks/java/exercises/complex-numbers/README.md +4 -3
- data/tracks/java/exercises/crypto-square/README.md +4 -3
- data/tracks/java/exercises/{rna-transcription/.meta/.version → custom-set/.meta/version} +0 -0
- data/tracks/java/exercises/custom-set/README.md +4 -3
- data/tracks/java/exercises/custom-set/src/test/java/CustomSetTest.java +103 -251
- data/tracks/java/exercises/diamond/.meta/{.version → version} +0 -0
- data/tracks/java/exercises/diamond/README.md +4 -3
- data/tracks/java/exercises/difference-of-squares/.meta/{.version → version} +0 -0
- data/tracks/java/exercises/difference-of-squares/README.md +4 -3
- data/tracks/java/exercises/etl/README.md +4 -3
- data/tracks/java/exercises/flatten-array/.meta/{.version → version} +0 -0
- data/tracks/java/exercises/flatten-array/README.md +4 -3
- data/tracks/java/exercises/food-chain/README.md +4 -3
- data/tracks/java/exercises/forth/.meta/{.version → version} +0 -0
- data/tracks/java/exercises/forth/README.md +3 -3
- data/tracks/java/exercises/gigasecond/README.md +4 -3
- data/tracks/java/exercises/grade-school/README.md +4 -3
- data/tracks/java/exercises/hamming/.meta/{.version → version} +0 -0
- data/tracks/java/exercises/hamming/README.md +6 -3
- data/tracks/java/exercises/hello-world/README.md +6 -3
- data/tracks/java/exercises/hexadecimal/README.md +4 -3
- data/tracks/java/exercises/house/README.md +4 -3
- data/tracks/java/exercises/isogram/README.md +6 -3
- data/tracks/java/exercises/kindergarten-garden/README.md +4 -3
- data/tracks/java/exercises/largest-series-product/README.md +4 -3
- data/tracks/java/exercises/linked-list/README.md +4 -3
- data/tracks/java/exercises/list-ops/.meta/{.version → version} +0 -0
- data/tracks/java/exercises/list-ops/README.md +6 -3
- data/tracks/java/exercises/luhn/README.md +4 -3
- data/tracks/java/exercises/matrix/README.md +4 -3
- data/tracks/java/exercises/meetup/README.md +4 -3
- data/tracks/java/exercises/minesweeper/.meta/{.version → version} +0 -0
- data/tracks/java/exercises/minesweeper/README.md +4 -3
- data/tracks/java/exercises/nth-prime/README.md +4 -3
- data/tracks/java/exercises/nucleotide-count/README.md +4 -3
- data/tracks/java/exercises/ocr-numbers/README.md +4 -3
- data/tracks/java/exercises/octal/README.md +4 -3
- data/tracks/java/exercises/palindrome-products/README.md +4 -3
- data/tracks/java/exercises/pangram/.meta/{.version → version} +0 -0
- data/tracks/java/exercises/pangram/README.md +4 -3
- data/tracks/java/exercises/pascals-triangle/.meta/{.version → version} +0 -0
- data/tracks/java/exercises/pascals-triangle/README.md +4 -3
- data/tracks/java/exercises/perfect-numbers/.meta/{.version → version} +0 -0
- data/tracks/java/exercises/perfect-numbers/README.md +4 -3
- data/tracks/java/exercises/phone-number/README.md +4 -3
- data/tracks/java/exercises/pig-latin/README.md +4 -3
- data/tracks/java/exercises/poker/README.md +4 -3
- data/tracks/java/exercises/prime-factors/README.md +4 -3
- data/tracks/java/exercises/pythagorean-triplet/README.md +4 -3
- data/tracks/java/exercises/queen-attack/README.md +4 -3
- data/tracks/java/exercises/raindrops/README.md +4 -3
- data/tracks/java/exercises/rectangles/README.md +4 -3
- data/tracks/java/exercises/rna-transcription/.meta/version +1 -0
- data/tracks/java/exercises/rna-transcription/README.md +4 -3
- data/tracks/java/exercises/robot-name/README.md +4 -3
- data/tracks/java/exercises/robot-simulator/README.md +4 -3
- data/tracks/java/exercises/roman-numerals/README.md +4 -3
- data/tracks/java/exercises/rotational-cipher/README.md +4 -3
- data/tracks/java/exercises/run-length-encoding/README.md +4 -3
- data/tracks/java/exercises/saddle-points/.meta/{.version → version} +0 -0
- data/tracks/java/exercises/saddle-points/README.md +4 -3
- data/tracks/java/exercises/scrabble-score/.meta/{.version → version} +0 -0
- data/tracks/java/exercises/scrabble-score/README.md +4 -3
- data/tracks/java/exercises/secret-handshake/README.md +4 -3
- data/tracks/java/exercises/series/README.md +4 -3
- data/tracks/java/exercises/sieve/README.md +4 -3
- data/tracks/java/exercises/simple-cipher/README.md +6 -3
- data/tracks/java/exercises/simple-linked-list/README.md +4 -3
- data/tracks/java/exercises/space-age/README.md +4 -3
- data/tracks/java/exercises/spiral-matrix/.meta/{.version → version} +0 -0
- data/tracks/java/exercises/spiral-matrix/README.md +4 -3
- data/tracks/java/exercises/strain/README.md +4 -3
- data/tracks/java/exercises/sublist/README.md +4 -3
- data/tracks/java/exercises/sum-of-multiples/README.md +4 -3
- data/tracks/java/exercises/tournament/README.md +4 -3
- data/tracks/java/exercises/transpose/README.md +4 -3
- data/tracks/java/exercises/triangle/.meta/{.version → version} +0 -0
- data/tracks/java/exercises/triangle/README.md +4 -3
- data/tracks/java/exercises/trinary/README.md +4 -3
- data/tracks/java/exercises/twelve-days/README.md +4 -3
- data/tracks/java/exercises/two-fer/README.md +6 -3
- data/tracks/java/exercises/word-count/README.md +4 -3
- data/tracks/java/exercises/word-search/.meta/{.version → version} +0 -0
- data/tracks/java/exercises/word-search/README.md +4 -3
- data/tracks/java/exercises/wordy/README.md +4 -3
- data/tracks/julia/config.json +13 -0
- data/tracks/julia/exercises/phone-number/README.md +36 -0
- data/tracks/julia/exercises/phone-number/example.jl +18 -0
- data/tracks/julia/exercises/phone-number/phone-number.jl +3 -0
- data/tracks/julia/exercises/phone-number/runtests.jl +49 -0
- data/tracks/lua/config.json +505 -494
- data/tracks/lua/config/maintainers.json +16 -16
- data/tracks/lua/exercises/acronym/README.md +0 -1
- data/tracks/lua/exercises/all-your-base/README.md +1 -1
- data/tracks/lua/exercises/allergies/README.md +0 -1
- data/tracks/lua/exercises/alphametics/README.md +2 -2
- data/tracks/lua/exercises/atbash-cipher/README.md +2 -1
- data/tracks/lua/exercises/beer-song/README.md +1 -1
- data/tracks/lua/exercises/binary/README.md +2 -0
- data/tracks/lua/exercises/bowling/README.md +20 -6
- data/tracks/lua/exercises/change/README.md +1 -1
- data/tracks/lua/exercises/circular-buffer/README.md +13 -6
- data/tracks/lua/exercises/crypto-square/README.md +4 -4
- data/tracks/lua/exercises/diamond/README.md +6 -6
- data/tracks/lua/exercises/etl/README.md +2 -0
- data/tracks/lua/exercises/flatten-array/README.md +1 -2
- data/tracks/lua/exercises/food-chain/README.md +1 -1
- data/tracks/lua/exercises/grade-school/README.md +0 -1
- data/tracks/lua/exercises/grains/README.md +0 -1
- data/tracks/lua/exercises/house/README.md +1 -2
- data/tracks/lua/exercises/isogram/README.md +2 -1
- data/tracks/lua/exercises/kindergarten-garden/README.md +13 -13
- data/tracks/lua/exercises/leap/README.md +1 -1
- data/tracks/lua/exercises/linked-list/README.md +10 -10
- data/tracks/lua/exercises/luhn/README.md +7 -7
- data/tracks/lua/exercises/matrix/README.md +6 -4
- data/tracks/lua/exercises/meetup/README.md +1 -2
- data/tracks/lua/exercises/nucleotide-count/README.md +8 -22
- data/tracks/lua/exercises/ocr-numbers/README.md +5 -5
- data/tracks/lua/exercises/octal/README.md +6 -2
- data/tracks/lua/exercises/pangram/README.md +1 -1
- data/tracks/lua/exercises/pascals-triangle/README.md +1 -1
- data/tracks/lua/exercises/perfect-numbers/README.md +2 -2
- data/tracks/lua/exercises/phone-number/README.md +3 -2
- data/tracks/lua/exercises/pov/README.md +2 -2
- data/tracks/lua/exercises/protein-translation/README.md +4 -5
- data/tracks/lua/exercises/pythagorean-triplet/README.md +3 -3
- data/tracks/lua/exercises/rail-fence-cipher/README.md +12 -7
- data/tracks/lua/exercises/react/README.md +29 -0
- data/tracks/lua/exercises/react/example.lua +108 -0
- data/tracks/lua/exercises/react/react_spec.lua +160 -0
- data/tracks/lua/exercises/rectangles/README.md +7 -7
- data/tracks/lua/exercises/roman-numerals/README.md +1 -1
- data/tracks/lua/exercises/run-length-encoding/README.md +4 -4
- data/tracks/lua/exercises/scrabble-score/README.md +3 -1
- data/tracks/lua/exercises/secret-handshake/README.md +1 -1
- data/tracks/lua/exercises/space-age/README.md +2 -1
- data/tracks/lua/exercises/sum-of-multiples/README.md +0 -3
- data/tracks/lua/exercises/tournament/README.md +5 -5
- data/tracks/lua/exercises/transpose/README.md +7 -7
- data/tracks/lua/exercises/triangle/README.md +9 -6
- data/tracks/lua/exercises/variable-length-quantity/README.md +6 -7
- data/tracks/lua/exercises/word-count/README.md +1 -2
- data/tracks/lua/exercises/word-search/README.md +1 -1
- data/tracks/perl6/exercises/leap/Example.pm6 +1 -1
- data/tracks/perl6/exercises/leap/Leap.pm6 +1 -1
- data/tracks/perl6/exercises/leap/example.yaml +1 -1
- data/tracks/perl6/exercises/leap/leap.t +3 -3
- data/tracks/php/exercises/transpose/example.php +37 -15
- data/tracks/php/exercises/transpose/transpose_test.php +205 -45
- data/tracks/purescript/config.json +11 -0
- data/tracks/purescript/exercises/collatz-conjecture/README.md +33 -0
- data/tracks/purescript/exercises/collatz-conjecture/bower.json +26 -0
- data/tracks/purescript/exercises/collatz-conjecture/examples/src/CollatzConjecture.purs +15 -0
- data/tracks/purescript/exercises/collatz-conjecture/src/CollatzConjecture.purs +3 -0
- data/tracks/purescript/exercises/collatz-conjecture/test/Main.purs +43 -0
- data/tracks/python/config.json +10 -2
- data/tracks/racket/README.md +38 -33
- data/tracks/racket/config.json +10 -0
- data/tracks/racket/exercises/collatz-conjecture/README.md +58 -0
- data/tracks/racket/exercises/collatz-conjecture/collatz-conjecture-test.rkt +34 -0
- data/tracks/racket/exercises/collatz-conjecture/collatz-conjecture.rkt +6 -0
- data/tracks/racket/exercises/collatz-conjecture/example.rkt +20 -0
- data/tracks/ruby/exercises/allergies/.meta/.version +1 -0
- data/tracks/ruby/exercises/allergies/.meta/generator/allergies_case.rb +33 -0
- data/tracks/ruby/exercises/allergies/.meta/solutions/allergies.rb +4 -0
- data/tracks/ruby/exercises/allergies/allergies_test.rb +42 -9
- data/tracks/typescript/config.json +46 -0
- data/tracks/typescript/exercises/circular-buffer/README.md +74 -0
- data/tracks/typescript/exercises/circular-buffer/circular-buffer.example.ts +51 -0
- data/tracks/typescript/exercises/circular-buffer/circular-buffer.test.ts +103 -0
- data/tracks/typescript/exercises/circular-buffer/circular-buffer.ts +0 -0
- data/tracks/typescript/exercises/circular-buffer/package.json +36 -0
- data/tracks/typescript/exercises/circular-buffer/tsconfig.json +22 -0
- data/tracks/typescript/exercises/circular-buffer/tslint.json +127 -0
- data/tracks/typescript/exercises/circular-buffer/yarn.lock +2305 -0
- data/tracks/typescript/exercises/largest-series-product/README.md +51 -0
- data/tracks/typescript/exercises/largest-series-product/largest-series-product.example.ts +52 -0
- data/tracks/typescript/exercises/largest-series-product/largest-series-product.test.ts +68 -0
- data/tracks/typescript/exercises/largest-series-product/largest-series-product.ts +0 -0
- data/tracks/typescript/exercises/largest-series-product/package.json +36 -0
- data/tracks/typescript/exercises/largest-series-product/tsconfig.json +22 -0
- data/tracks/typescript/exercises/largest-series-product/tslint.json +127 -0
- data/tracks/typescript/exercises/largest-series-product/yarn.lock +2305 -0
- data/tracks/typescript/exercises/robot-simulator/README.md +58 -0
- data/tracks/typescript/exercises/robot-simulator/package.json +36 -0
- data/tracks/typescript/exercises/robot-simulator/robot-simulator.example.ts +74 -0
- data/tracks/typescript/exercises/robot-simulator/robot-simulator.test.ts +150 -0
- data/tracks/typescript/exercises/robot-simulator/robot-simulator.ts +0 -0
- data/tracks/typescript/exercises/robot-simulator/tsconfig.json +22 -0
- data/tracks/typescript/exercises/robot-simulator/tslint.json +127 -0
- data/tracks/typescript/exercises/robot-simulator/yarn.lock +2305 -0
- metadata +85 -23
|
@@ -17,16 +17,17 @@ Examples:
|
|
|
17
17
|
* A = [1, 2, 3, 4, 5], B = [2, 3, 4], A is a superlist of B
|
|
18
18
|
* A = [1, 2, 4], B = [1, 2, 3, 4, 5], A is not a superlist of, sublist of or equal to B
|
|
19
19
|
|
|
20
|
+
# Running the tests
|
|
20
21
|
|
|
21
|
-
|
|
22
|
+
You can run all the tests for an exercise by entering
|
|
22
23
|
|
|
23
24
|
```sh
|
|
24
25
|
$ gradle test
|
|
25
26
|
```
|
|
26
27
|
|
|
27
|
-
|
|
28
|
-
|
|
28
|
+
in your terminal.
|
|
29
29
|
|
|
30
30
|
|
|
31
31
|
## Submitting Incomplete Solutions
|
|
32
|
+
|
|
32
33
|
It's possible to submit an incomplete solution so you can see how others have completed the exercise.
|
|
@@ -8,19 +8,20 @@ multiples of either 3 or 5, we get 3, 5, 6 and 9, 10, 12, 15, and 18.
|
|
|
8
8
|
|
|
9
9
|
The sum of these multiples is 78.
|
|
10
10
|
|
|
11
|
+
# Running the tests
|
|
11
12
|
|
|
12
|
-
|
|
13
|
+
You can run all the tests for an exercise by entering
|
|
13
14
|
|
|
14
15
|
```sh
|
|
15
16
|
$ gradle test
|
|
16
17
|
```
|
|
17
18
|
|
|
18
|
-
|
|
19
|
-
|
|
19
|
+
in your terminal.
|
|
20
20
|
|
|
21
21
|
## Source
|
|
22
22
|
|
|
23
23
|
A variation on Problem 1 at Project Euler [http://projecteuler.net/problem=1](http://projecteuler.net/problem=1)
|
|
24
24
|
|
|
25
25
|
## Submitting Incomplete Solutions
|
|
26
|
+
|
|
26
27
|
It's possible to submit an incomplete solution so you can see how others have completed the exercise.
|
|
@@ -64,16 +64,17 @@ Devastating Donkeys;Courageous Californians;draw
|
|
|
64
64
|
|
|
65
65
|
Means that the Devastating Donkeys and Courageous Californians tied.
|
|
66
66
|
|
|
67
|
+
# Running the tests
|
|
67
68
|
|
|
68
|
-
|
|
69
|
+
You can run all the tests for an exercise by entering
|
|
69
70
|
|
|
70
71
|
```sh
|
|
71
72
|
$ gradle test
|
|
72
73
|
```
|
|
73
74
|
|
|
74
|
-
|
|
75
|
-
|
|
75
|
+
in your terminal.
|
|
76
76
|
|
|
77
77
|
|
|
78
78
|
## Submitting Incomplete Solutions
|
|
79
|
+
|
|
79
80
|
It's possible to submit an incomplete solution so you can see how others have completed the exercise.
|
|
@@ -58,19 +58,20 @@ In general, all characters from the input should also be present in the transpos
|
|
|
58
58
|
That means that if a column in the input text contains only spaces on its bottom-most row(s),
|
|
59
59
|
the corresponding output row should contain the spaces in its right-most column(s).
|
|
60
60
|
|
|
61
|
+
# Running the tests
|
|
61
62
|
|
|
62
|
-
|
|
63
|
+
You can run all the tests for an exercise by entering
|
|
63
64
|
|
|
64
65
|
```sh
|
|
65
66
|
$ gradle test
|
|
66
67
|
```
|
|
67
68
|
|
|
68
|
-
|
|
69
|
-
|
|
69
|
+
in your terminal.
|
|
70
70
|
|
|
71
71
|
## Source
|
|
72
72
|
|
|
73
73
|
Reddit r/dailyprogrammer challenge #270 [Easy]. [https://www.reddit.com/r/dailyprogrammer/comments/4msu2x/challenge_270_easy_transpose_the_input_text](https://www.reddit.com/r/dailyprogrammer/comments/4msu2x/challenge_270_easy_transpose_the_input_text)
|
|
74
74
|
|
|
75
75
|
## Submitting Incomplete Solutions
|
|
76
|
+
|
|
76
77
|
It's possible to submit an incomplete solution so you can see how others have completed the exercise.
|
|
File without changes
|
|
@@ -22,19 +22,20 @@ The case where the sum of the lengths of two sides _equals_ that of the
|
|
|
22
22
|
third is known as a _degenerate_ triangle - it has zero area and looks like
|
|
23
23
|
a single line. Feel free to add your own code/tests to check for degenerate triangles.
|
|
24
24
|
|
|
25
|
+
# Running the tests
|
|
25
26
|
|
|
26
|
-
|
|
27
|
+
You can run all the tests for an exercise by entering
|
|
27
28
|
|
|
28
29
|
```sh
|
|
29
30
|
$ gradle test
|
|
30
31
|
```
|
|
31
32
|
|
|
32
|
-
|
|
33
|
-
|
|
33
|
+
in your terminal.
|
|
34
34
|
|
|
35
35
|
## Source
|
|
36
36
|
|
|
37
37
|
The Ruby Koans triangle project, parts 1 & 2 [http://rubykoans.com](http://rubykoans.com)
|
|
38
38
|
|
|
39
39
|
## Submitting Incomplete Solutions
|
|
40
|
+
|
|
40
41
|
It's possible to submit an incomplete solution so you can see how others have completed the exercise.
|
|
@@ -21,19 +21,20 @@ is the 3's place, the third to last is the 9's place, etc.
|
|
|
21
21
|
If your language provides a method in the standard library to perform the
|
|
22
22
|
conversion, pretend it doesn't exist and implement it yourself.
|
|
23
23
|
|
|
24
|
+
# Running the tests
|
|
24
25
|
|
|
25
|
-
|
|
26
|
+
You can run all the tests for an exercise by entering
|
|
26
27
|
|
|
27
28
|
```sh
|
|
28
29
|
$ gradle test
|
|
29
30
|
```
|
|
30
31
|
|
|
31
|
-
|
|
32
|
-
|
|
32
|
+
in your terminal.
|
|
33
33
|
|
|
34
34
|
## Source
|
|
35
35
|
|
|
36
36
|
All of Computer Science [http://www.wolframalpha.com/input/?i=binary&a=*C.binary-_*MathWorld-](http://www.wolframalpha.com/input/?i=binary&a=*C.binary-_*MathWorld-)
|
|
37
37
|
|
|
38
38
|
## Submitting Incomplete Solutions
|
|
39
|
+
|
|
39
40
|
It's possible to submit an incomplete solution so you can see how others have completed the exercise.
|
|
@@ -28,19 +28,20 @@ On the eleventh day of Christmas my true love gave to me, eleven Pipers Piping,
|
|
|
28
28
|
On the twelfth day of Christmas my true love gave to me, twelve Drummers Drumming, eleven Pipers Piping, ten Lords-a-Leaping, nine Ladies Dancing, eight Maids-a-Milking, seven Swans-a-Swimming, six Geese-a-Laying, five Gold Rings, four Calling Birds, three French Hens, two Turtle Doves, and a Partridge in a Pear Tree.
|
|
29
29
|
```
|
|
30
30
|
|
|
31
|
+
# Running the tests
|
|
31
32
|
|
|
32
|
-
|
|
33
|
+
You can run all the tests for an exercise by entering
|
|
33
34
|
|
|
34
35
|
```sh
|
|
35
36
|
$ gradle test
|
|
36
37
|
```
|
|
37
38
|
|
|
38
|
-
|
|
39
|
-
|
|
39
|
+
in your terminal.
|
|
40
40
|
|
|
41
41
|
## Source
|
|
42
42
|
|
|
43
43
|
Wikipedia [http://en.wikipedia.org/wiki/The_Twelve_Days_of_Christmas_(song)](http://en.wikipedia.org/wiki/The_Twelve_Days_of_Christmas_(song))
|
|
44
44
|
|
|
45
45
|
## Submitting Incomplete Solutions
|
|
46
|
+
|
|
46
47
|
It's possible to submit an incomplete solution so you can see how others have completed the exercise.
|
|
@@ -40,6 +40,8 @@ also important not to over-engineer a solution.
|
|
|
40
40
|
It's important to remember that the goal is to make code as expressive and
|
|
41
41
|
readable as we can.
|
|
42
42
|
|
|
43
|
+
# Java Tips
|
|
44
|
+
|
|
43
45
|
Most Java exercises include multiple test cases. These cases are structured to
|
|
44
46
|
support a useful process known as
|
|
45
47
|
[test-driven development (TDD)](https://en.wikipedia.org/wiki/Test-driven_development).
|
|
@@ -80,19 +82,20 @@ steps:
|
|
|
80
82
|
5. Return to step 1 until no tests are skipped and all tests pass!
|
|
81
83
|
|
|
82
84
|
|
|
85
|
+
# Running the tests
|
|
83
86
|
|
|
84
|
-
|
|
87
|
+
You can run all the tests for an exercise by entering
|
|
85
88
|
|
|
86
89
|
```sh
|
|
87
90
|
$ gradle test
|
|
88
91
|
```
|
|
89
92
|
|
|
90
|
-
|
|
91
|
-
|
|
93
|
+
in your terminal.
|
|
92
94
|
|
|
93
95
|
## Source
|
|
94
96
|
|
|
95
97
|
This is an exercise to introduce users to basic programming constructs, just after hello World. [https://en.wikipedia.org/wiki/Two-fer](https://en.wikipedia.org/wiki/Two-fer)
|
|
96
98
|
|
|
97
99
|
## Submitting Incomplete Solutions
|
|
100
|
+
|
|
98
101
|
It's possible to submit an incomplete solution so you can see how others have completed the exercise.
|
|
@@ -11,19 +11,20 @@ come: 1
|
|
|
11
11
|
free: 1
|
|
12
12
|
```
|
|
13
13
|
|
|
14
|
+
# Running the tests
|
|
14
15
|
|
|
15
|
-
|
|
16
|
+
You can run all the tests for an exercise by entering
|
|
16
17
|
|
|
17
18
|
```sh
|
|
18
19
|
$ gradle test
|
|
19
20
|
```
|
|
20
21
|
|
|
21
|
-
|
|
22
|
-
|
|
22
|
+
in your terminal.
|
|
23
23
|
|
|
24
24
|
## Source
|
|
25
25
|
|
|
26
26
|
This is a classic toy problem, but we were reminded of it by seeing it in the Go Tour.
|
|
27
27
|
|
|
28
28
|
## Submitting Incomplete Solutions
|
|
29
|
+
|
|
29
30
|
It's possible to submit an incomplete solution so you can see how others have completed the exercise.
|
|
File without changes
|
|
@@ -26,16 +26,17 @@ vertical and diagonal.
|
|
|
26
26
|
Given a puzzle and a list of words return the location of the first and last
|
|
27
27
|
letter of each word.
|
|
28
28
|
|
|
29
|
+
# Running the tests
|
|
29
30
|
|
|
30
|
-
|
|
31
|
+
You can run all the tests for an exercise by entering
|
|
31
32
|
|
|
32
33
|
```sh
|
|
33
34
|
$ gradle test
|
|
34
35
|
```
|
|
35
36
|
|
|
36
|
-
|
|
37
|
-
|
|
37
|
+
in your terminal.
|
|
38
38
|
|
|
39
39
|
|
|
40
40
|
## Submitting Incomplete Solutions
|
|
41
|
+
|
|
41
42
|
It's possible to submit an incomplete solution so you can see how others have completed the exercise.
|
|
@@ -51,19 +51,20 @@ If you'd like, handle exponentials.
|
|
|
51
51
|
|
|
52
52
|
32
|
|
53
53
|
|
|
54
|
+
# Running the tests
|
|
54
55
|
|
|
55
|
-
|
|
56
|
+
You can run all the tests for an exercise by entering
|
|
56
57
|
|
|
57
58
|
```sh
|
|
58
59
|
$ gradle test
|
|
59
60
|
```
|
|
60
61
|
|
|
61
|
-
|
|
62
|
-
|
|
62
|
+
in your terminal.
|
|
63
63
|
|
|
64
64
|
## Source
|
|
65
65
|
|
|
66
66
|
Inspired by one of the generated questions in the Extreme Startup game. [https://github.com/rchatley/extreme_startup](https://github.com/rchatley/extreme_startup)
|
|
67
67
|
|
|
68
68
|
## Submitting Incomplete Solutions
|
|
69
|
+
|
|
69
70
|
It's possible to submit an incomplete solution so you can see how others have completed the exercise.
|
data/tracks/julia/config.json
CHANGED
|
@@ -283,6 +283,19 @@
|
|
|
283
283
|
"mathematics"
|
|
284
284
|
]
|
|
285
285
|
},
|
|
286
|
+
{
|
|
287
|
+
"uuid": "2e39f242-0dac-ca80-0a59-15c1850d6617a864d57",
|
|
288
|
+
"slug": "phone-number",
|
|
289
|
+
"core": false,
|
|
290
|
+
"unlocked_by": null,
|
|
291
|
+
"difficulty": 1,
|
|
292
|
+
"topics": [
|
|
293
|
+
"pattern_matching",
|
|
294
|
+
"conditionals",
|
|
295
|
+
"strings",
|
|
296
|
+
"regular_expressions"
|
|
297
|
+
]
|
|
298
|
+
},
|
|
286
299
|
{
|
|
287
300
|
"uuid": "e5a6d640-cd76-4453-8247-fd34ffed4fe5",
|
|
288
301
|
"slug": "transpose",
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# Phone Number
|
|
2
|
+
|
|
3
|
+
Clean up user-entered phone numbers so that they can be sent SMS messages.
|
|
4
|
+
|
|
5
|
+
The **North American Numbering Plan (NANP)** is a telephone numbering system used by many countries in North America like the United States, Canada or Bermuda. All NANP-countries share the same international country code: `1`.
|
|
6
|
+
|
|
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
|
+
|
|
9
|
+
The format is usually represented as
|
|
10
|
+
|
|
11
|
+
```text
|
|
12
|
+
(NXX)-NXX-XXXX
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
where `N` is any digit from 2 through 9 and `X` is any digit from 0 through 9.
|
|
16
|
+
|
|
17
|
+
Your task is to clean up differently formated telephone numbers by removing punctuation and the country code (1) if present.
|
|
18
|
+
|
|
19
|
+
For example, the inputs
|
|
20
|
+
- `+1 (613)-995-0253`
|
|
21
|
+
- `613-995-0253`
|
|
22
|
+
- `1 613 995 0253`
|
|
23
|
+
- `613.995.0253`
|
|
24
|
+
|
|
25
|
+
should all produce the output
|
|
26
|
+
|
|
27
|
+
`6139950253`
|
|
28
|
+
|
|
29
|
+
**Note:** As this exercise only deals with telephone numbers used in NANP-countries, only 1 is considered a valid country code.
|
|
30
|
+
## Source
|
|
31
|
+
|
|
32
|
+
Event Manager by JumpstartLab [http://tutorials.jumpstartlab.com/projects/eventmanager.html](http://tutorials.jumpstartlab.com/projects/eventmanager.html)
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
## Submitting Incomplete Solutions
|
|
36
|
+
It's possible to submit an incomplete solution so you can see how others have completed the exercise.
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
function clean(phone_number)
|
|
2
|
+
# Main machinery is in the regex expression.
|
|
3
|
+
NXX = "[2-9][\\d]{2}"
|
|
4
|
+
country = "(?:\\+?1)?"
|
|
5
|
+
area = "\\(?\\s*($NXX)\\s*\\)?"
|
|
6
|
+
exchange = "($NXX)"
|
|
7
|
+
subscriber = "([\\d]{4})"
|
|
8
|
+
fillers = "\\s*(?:\\.|-)?\\s*"
|
|
9
|
+
r = Regex("^\\s*$country$fillers$area$fillers$exchange$fillers$subscriber\\s*\$")
|
|
10
|
+
|
|
11
|
+
result = match(r, phone_number)
|
|
12
|
+
|
|
13
|
+
if result != nothing
|
|
14
|
+
result = string(result.captures...)
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
return result
|
|
18
|
+
end
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
using Base.Test
|
|
2
|
+
|
|
3
|
+
include("phone-number.jl")
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
# Tests adapted from `problem-specifications//canonical-data.json` @ v1.2.0
|
|
7
|
+
# Returns the cleaned phone number as a digit string if given number is valid,
|
|
8
|
+
# else returns `nothing`.
|
|
9
|
+
|
|
10
|
+
const expected_number = "2234567890"
|
|
11
|
+
const valid_10digit_num = (
|
|
12
|
+
"(223) 456-7890",
|
|
13
|
+
"223.456.7890",
|
|
14
|
+
"223 456 7890 ",
|
|
15
|
+
)
|
|
16
|
+
const valid_11digit_num = (
|
|
17
|
+
"12234567890",
|
|
18
|
+
" 1 223 456 7890 ",
|
|
19
|
+
"+1 (223) 456-7890",
|
|
20
|
+
)
|
|
21
|
+
const invalid_num = (
|
|
22
|
+
"1223456789",
|
|
23
|
+
"22234567890",
|
|
24
|
+
"321234567890",
|
|
25
|
+
"223-abc-7890",
|
|
26
|
+
"223-@:!-7890",
|
|
27
|
+
"(023) 456-7890",
|
|
28
|
+
"(123) 456-7890",
|
|
29
|
+
"(223) 056-7890",
|
|
30
|
+
"(223) 156-7890",
|
|
31
|
+
)
|
|
32
|
+
|
|
33
|
+
@testset "clean 10-digit number" begin
|
|
34
|
+
@testset "$number" for number in valid_10digit_num
|
|
35
|
+
@test clean(number) == expected_number
|
|
36
|
+
end
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
@testset "clean 11-digit number starting with 1" begin
|
|
40
|
+
@testset "$number" for number in valid_11digit_num
|
|
41
|
+
@test clean(number) == expected_number
|
|
42
|
+
end
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
@testset "detect invalid number" begin
|
|
46
|
+
@testset "$number" for number in invalid_num
|
|
47
|
+
@test clean(number) == nothing
|
|
48
|
+
end
|
|
49
|
+
end
|
data/tracks/lua/config.json
CHANGED
|
@@ -1,917 +1,928 @@
|
|
|
1
1
|
{
|
|
2
|
-
"language": "Lua",
|
|
3
2
|
"active": true,
|
|
4
|
-
"test_pattern": ".*spec[.]lua$",
|
|
5
3
|
"exercises": [
|
|
6
4
|
{
|
|
7
|
-
"uuid": "9099df24-f9fb-4bd0-8b7f-df52efed7840",
|
|
8
|
-
"slug": "hello-world",
|
|
9
5
|
"core": true,
|
|
10
|
-
"unlocked_by": null,
|
|
11
6
|
"difficulty": 1,
|
|
7
|
+
"slug": "hello-world",
|
|
12
8
|
"topics": [
|
|
13
|
-
"
|
|
14
|
-
"
|
|
15
|
-
"
|
|
16
|
-
]
|
|
9
|
+
"control_flow_if_statements",
|
|
10
|
+
"optional_values",
|
|
11
|
+
"text_formatting"
|
|
12
|
+
],
|
|
13
|
+
"unlocked_by": null,
|
|
14
|
+
"uuid": "9099df24-f9fb-4bd0-8b7f-df52efed7840"
|
|
17
15
|
},
|
|
18
16
|
{
|
|
19
|
-
"uuid": "23fde0b3-c57b-439f-a9ad-3cd6ae286b62",
|
|
20
|
-
"slug": "hamming",
|
|
21
17
|
"core": true,
|
|
22
|
-
"unlocked_by": null,
|
|
23
18
|
"difficulty": 2,
|
|
19
|
+
"slug": "hamming",
|
|
24
20
|
"topics": [
|
|
25
|
-
"
|
|
26
|
-
"
|
|
27
|
-
]
|
|
21
|
+
"control_flow_loops",
|
|
22
|
+
"strings"
|
|
23
|
+
],
|
|
24
|
+
"unlocked_by": null,
|
|
25
|
+
"uuid": "23fde0b3-c57b-439f-a9ad-3cd6ae286b62"
|
|
28
26
|
},
|
|
29
27
|
{
|
|
30
|
-
"uuid": "f38cd7b3-e1e6-4bcf-b1fe-c63ed94df636",
|
|
31
|
-
"slug": "house",
|
|
32
28
|
"core": true,
|
|
33
|
-
"unlocked_by": null,
|
|
34
29
|
"difficulty": 3,
|
|
30
|
+
"slug": "house",
|
|
35
31
|
"topics": [
|
|
32
|
+
"control_flow_loops",
|
|
36
33
|
"strings",
|
|
37
|
-
"
|
|
38
|
-
|
|
39
|
-
|
|
34
|
+
"text_formatting"
|
|
35
|
+
],
|
|
36
|
+
"unlocked_by": null,
|
|
37
|
+
"uuid": "f38cd7b3-e1e6-4bcf-b1fe-c63ed94df636"
|
|
40
38
|
},
|
|
41
39
|
{
|
|
42
|
-
"uuid": "faaa79ba-ddfa-42dd-8668-4aa811757dee",
|
|
43
|
-
"slug": "raindrops",
|
|
44
40
|
"core": false,
|
|
45
|
-
"unlocked_by": "leap",
|
|
46
41
|
"difficulty": 1,
|
|
42
|
+
"slug": "raindrops",
|
|
47
43
|
"topics": [
|
|
48
|
-
"
|
|
49
|
-
"
|
|
50
|
-
]
|
|
44
|
+
"control_flow_if_else_statements",
|
|
45
|
+
"strings"
|
|
46
|
+
],
|
|
47
|
+
"unlocked_by": "leap",
|
|
48
|
+
"uuid": "faaa79ba-ddfa-42dd-8668-4aa811757dee"
|
|
51
49
|
},
|
|
52
50
|
{
|
|
53
|
-
"uuid": "9646d991-e3ad-475e-9231-c5723a73e57b",
|
|
54
|
-
"slug": "bob",
|
|
55
51
|
"core": false,
|
|
56
|
-
"unlocked_by": "leap",
|
|
57
52
|
"difficulty": 3,
|
|
53
|
+
"slug": "bob",
|
|
58
54
|
"topics": [
|
|
59
|
-
"
|
|
60
|
-
"
|
|
61
|
-
]
|
|
55
|
+
"control_flow_if_else_statements",
|
|
56
|
+
"strings"
|
|
57
|
+
],
|
|
58
|
+
"unlocked_by": "leap",
|
|
59
|
+
"uuid": "9646d991-e3ad-475e-9231-c5723a73e57b"
|
|
62
60
|
},
|
|
63
61
|
{
|
|
64
|
-
"uuid": "b985299f-c6eb-487e-9900-1b35a6e66dea",
|
|
65
|
-
"slug": "difference-of-squares",
|
|
66
62
|
"core": true,
|
|
67
|
-
"unlocked_by": null,
|
|
68
63
|
"difficulty": 2,
|
|
64
|
+
"slug": "difference-of-squares",
|
|
69
65
|
"topics": [
|
|
70
66
|
"mathematics"
|
|
71
|
-
]
|
|
67
|
+
],
|
|
68
|
+
"unlocked_by": null,
|
|
69
|
+
"uuid": "b985299f-c6eb-487e-9900-1b35a6e66dea"
|
|
72
70
|
},
|
|
73
71
|
{
|
|
74
|
-
"uuid": "312d3e2f-ac24-4e06-8e6c-f4651124c516",
|
|
75
|
-
"slug": "variable-length-quantity",
|
|
76
72
|
"core": false,
|
|
77
|
-
"unlocked_by": "run-length-encoding",
|
|
78
73
|
"difficulty": 6,
|
|
74
|
+
"slug": "variable-length-quantity",
|
|
79
75
|
"topics": [
|
|
80
|
-
"
|
|
81
|
-
"
|
|
82
|
-
"
|
|
83
|
-
"
|
|
84
|
-
]
|
|
76
|
+
"arrays",
|
|
77
|
+
"bitwise_operations",
|
|
78
|
+
"control_flow_if_else_statements",
|
|
79
|
+
"control_flow_loops"
|
|
80
|
+
],
|
|
81
|
+
"unlocked_by": "run-length-encoding",
|
|
82
|
+
"uuid": "312d3e2f-ac24-4e06-8e6c-f4651124c516"
|
|
85
83
|
},
|
|
86
84
|
{
|
|
87
|
-
"uuid": "c8ac2fca-fdec-4562-9c60-fdee5b541186",
|
|
88
|
-
"slug": "anagram",
|
|
89
85
|
"core": false,
|
|
90
|
-
"unlocked_by": "isogram",
|
|
91
86
|
"difficulty": 6,
|
|
87
|
+
"slug": "anagram",
|
|
92
88
|
"topics": [
|
|
93
|
-
"strings",
|
|
94
89
|
"algorithms",
|
|
95
|
-
"
|
|
96
|
-
"
|
|
97
|
-
|
|
90
|
+
"control_flow_if_else_statements",
|
|
91
|
+
"control_flow_loops",
|
|
92
|
+
"strings"
|
|
93
|
+
],
|
|
94
|
+
"unlocked_by": "isogram",
|
|
95
|
+
"uuid": "c8ac2fca-fdec-4562-9c60-fdee5b541186"
|
|
98
96
|
},
|
|
99
97
|
{
|
|
100
|
-
"uuid": "b64e6544-4778-40e8-a216-86df5c366c9c",
|
|
101
|
-
"slug": "octal",
|
|
102
98
|
"core": false,
|
|
103
|
-
"unlocked_by": "binary",
|
|
104
99
|
"difficulty": 4,
|
|
100
|
+
"slug": "octal",
|
|
105
101
|
"topics": [
|
|
106
|
-
"
|
|
107
|
-
"
|
|
108
|
-
"
|
|
109
|
-
"
|
|
110
|
-
]
|
|
102
|
+
"bitwise_operations",
|
|
103
|
+
"control_flow_if_else_statements",
|
|
104
|
+
"control_flow_loops",
|
|
105
|
+
"strings"
|
|
106
|
+
],
|
|
107
|
+
"unlocked_by": "binary",
|
|
108
|
+
"uuid": "b64e6544-4778-40e8-a216-86df5c366c9c"
|
|
111
109
|
},
|
|
112
110
|
{
|
|
113
|
-
"uuid": "2c50d23c-c15c-42d5-bc48-48afd21cdcf9",
|
|
114
|
-
"slug": "binary-search",
|
|
115
111
|
"core": true,
|
|
116
|
-
"unlocked_by": null,
|
|
117
112
|
"difficulty": 4,
|
|
113
|
+
"slug": "binary-search",
|
|
118
114
|
"topics": [
|
|
119
|
-
"arrays",
|
|
120
115
|
"algorithms",
|
|
121
|
-
"
|
|
122
|
-
"
|
|
123
|
-
"
|
|
124
|
-
|
|
116
|
+
"arrays",
|
|
117
|
+
"control_flow_if_else_statements",
|
|
118
|
+
"control_flow_loops",
|
|
119
|
+
"searching"
|
|
120
|
+
],
|
|
121
|
+
"unlocked_by": null,
|
|
122
|
+
"uuid": "2c50d23c-c15c-42d5-bc48-48afd21cdcf9"
|
|
125
123
|
},
|
|
126
124
|
{
|
|
127
|
-
"uuid": "25f501e6-40e8-4fd0-9dc3-ce5504d7a7a7",
|
|
128
|
-
"slug": "bracket-push",
|
|
129
125
|
"core": false,
|
|
130
|
-
"unlocked_by": "binary-search",
|
|
131
126
|
"difficulty": 5,
|
|
127
|
+
"slug": "bracket-push",
|
|
132
128
|
"topics": [
|
|
133
|
-
"stacks",
|
|
134
|
-
"strings",
|
|
135
129
|
"algorithms",
|
|
136
|
-
"
|
|
137
|
-
"
|
|
138
|
-
|
|
130
|
+
"control_flow_if_else_statements",
|
|
131
|
+
"control_flow_loops",
|
|
132
|
+
"stacks",
|
|
133
|
+
"strings"
|
|
134
|
+
],
|
|
135
|
+
"unlocked_by": "binary-search",
|
|
136
|
+
"uuid": "25f501e6-40e8-4fd0-9dc3-ce5504d7a7a7"
|
|
139
137
|
},
|
|
140
138
|
{
|
|
141
|
-
"uuid": "c976a2aa-aaa8-42b5-9666-8f9d8b16b27c",
|
|
142
|
-
"slug": "flatten-array",
|
|
143
139
|
"core": false,
|
|
144
|
-
"unlocked_by": "binary-search",
|
|
145
140
|
"difficulty": 5,
|
|
141
|
+
"slug": "flatten-array",
|
|
146
142
|
"topics": [
|
|
147
|
-
"arrays",
|
|
148
|
-
"recursion",
|
|
149
143
|
"algorithms",
|
|
150
|
-
"
|
|
151
|
-
"
|
|
152
|
-
|
|
144
|
+
"arrays",
|
|
145
|
+
"control_flow_if_else_statements",
|
|
146
|
+
"control_flow_loops",
|
|
147
|
+
"recursion"
|
|
148
|
+
],
|
|
149
|
+
"unlocked_by": "binary-search",
|
|
150
|
+
"uuid": "c976a2aa-aaa8-42b5-9666-8f9d8b16b27c"
|
|
153
151
|
},
|
|
154
152
|
{
|
|
155
|
-
"uuid": "a15f48db-7f35-4a20-8830-e3eb91db164f",
|
|
156
|
-
"slug": "word-count",
|
|
157
153
|
"core": false,
|
|
158
|
-
"unlocked_by": "isogram",
|
|
159
154
|
"difficulty": 3,
|
|
155
|
+
"slug": "word-count",
|
|
160
156
|
"topics": [
|
|
161
|
-
"
|
|
162
|
-
"
|
|
163
|
-
]
|
|
157
|
+
"control_flow_loops",
|
|
158
|
+
"strings"
|
|
159
|
+
],
|
|
160
|
+
"unlocked_by": "isogram",
|
|
161
|
+
"uuid": "a15f48db-7f35-4a20-8830-e3eb91db164f"
|
|
164
162
|
},
|
|
165
163
|
{
|
|
166
|
-
"uuid": "32724558-411b-4945-95fe-aaf3eae6daf2",
|
|
167
|
-
"slug": "pangram",
|
|
168
164
|
"core": false,
|
|
169
|
-
"unlocked_by": "isogram",
|
|
170
165
|
"difficulty": 3,
|
|
166
|
+
"slug": "pangram",
|
|
171
167
|
"topics": [
|
|
172
|
-
"
|
|
173
|
-
"
|
|
174
|
-
"
|
|
175
|
-
]
|
|
168
|
+
"control_flow_if_else_statements",
|
|
169
|
+
"control_flow_loops",
|
|
170
|
+
"strings"
|
|
171
|
+
],
|
|
172
|
+
"unlocked_by": "isogram",
|
|
173
|
+
"uuid": "32724558-411b-4945-95fe-aaf3eae6daf2"
|
|
176
174
|
},
|
|
177
175
|
{
|
|
178
|
-
"uuid": "cfcefc94-cc73-4438-a62f-15c63a70bf5e",
|
|
179
|
-
"slug": "matrix",
|
|
180
176
|
"core": true,
|
|
181
|
-
"unlocked_by": null,
|
|
182
177
|
"difficulty": 3,
|
|
178
|
+
"slug": "matrix",
|
|
183
179
|
"topics": [
|
|
184
|
-
"matrices",
|
|
185
180
|
"arrays",
|
|
186
|
-
"
|
|
187
|
-
|
|
181
|
+
"control_flow_loops",
|
|
182
|
+
"matrices"
|
|
183
|
+
],
|
|
184
|
+
"unlocked_by": null,
|
|
185
|
+
"uuid": "cfcefc94-cc73-4438-a62f-15c63a70bf5e"
|
|
188
186
|
},
|
|
189
187
|
{
|
|
190
|
-
"uuid": "38b18de8-d0d9-4a4d-934f-2893b1f1ce45",
|
|
191
|
-
"slug": "beer-song",
|
|
192
188
|
"core": false,
|
|
193
|
-
"unlocked_by": "house",
|
|
194
189
|
"difficulty": 3,
|
|
190
|
+
"slug": "beer-song",
|
|
195
191
|
"topics": [
|
|
192
|
+
"control_flow_if_else_statements",
|
|
193
|
+
"control_flow_loops",
|
|
196
194
|
"strings",
|
|
197
|
-
"
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
195
|
+
"text_formatting"
|
|
196
|
+
],
|
|
197
|
+
"unlocked_by": "house",
|
|
198
|
+
"uuid": "38b18de8-d0d9-4a4d-934f-2893b1f1ce45"
|
|
201
199
|
},
|
|
202
200
|
{
|
|
203
|
-
"uuid": "3e70727a-1839-4ccf-8205-f2c8455cfdd1",
|
|
204
|
-
"slug": "isogram",
|
|
205
201
|
"core": true,
|
|
206
|
-
"unlocked_by": null,
|
|
207
202
|
"difficulty": 2,
|
|
203
|
+
"slug": "isogram",
|
|
208
204
|
"topics": [
|
|
209
|
-
"
|
|
210
|
-
"
|
|
211
|
-
"
|
|
212
|
-
]
|
|
205
|
+
"control_flow_if_else_statements",
|
|
206
|
+
"control_flow_loops",
|
|
207
|
+
"strings"
|
|
208
|
+
],
|
|
209
|
+
"unlocked_by": null,
|
|
210
|
+
"uuid": "3e70727a-1839-4ccf-8205-f2c8455cfdd1"
|
|
213
211
|
},
|
|
214
212
|
{
|
|
215
|
-
"uuid": "d781a53f-8eb8-44d0-8ded-57d943225604",
|
|
216
|
-
"slug": "perfect-numbers",
|
|
217
213
|
"core": false,
|
|
218
|
-
"unlocked_by": "difference-of-squares",
|
|
219
214
|
"difficulty": 3,
|
|
215
|
+
"slug": "perfect-numbers",
|
|
220
216
|
"topics": [
|
|
221
|
-
"
|
|
222
|
-
"
|
|
223
|
-
"
|
|
224
|
-
]
|
|
217
|
+
"control_flow_if_else_statements",
|
|
218
|
+
"control_flow_loops",
|
|
219
|
+
"mathematics"
|
|
220
|
+
],
|
|
221
|
+
"unlocked_by": "difference-of-squares",
|
|
222
|
+
"uuid": "d781a53f-8eb8-44d0-8ded-57d943225604"
|
|
225
223
|
},
|
|
226
224
|
{
|
|
227
|
-
"uuid": "c4846231-c68b-46cf-abe0-9e0b9f7c2825",
|
|
228
|
-
"slug": "etl",
|
|
229
225
|
"core": false,
|
|
230
|
-
"unlocked_by": "list-ops",
|
|
231
226
|
"difficulty": 3,
|
|
227
|
+
"slug": "etl",
|
|
232
228
|
"topics": [
|
|
233
|
-
"
|
|
234
|
-
"
|
|
235
|
-
]
|
|
229
|
+
"control_flow_loops",
|
|
230
|
+
"transforming"
|
|
231
|
+
],
|
|
232
|
+
"unlocked_by": "list-ops",
|
|
233
|
+
"uuid": "c4846231-c68b-46cf-abe0-9e0b9f7c2825"
|
|
236
234
|
},
|
|
237
235
|
{
|
|
238
|
-
"uuid": "903e3be6-cefd-4db5-b3dc-a325c4bcae7a",
|
|
239
|
-
"slug": "nucleotide-count",
|
|
240
236
|
"core": false,
|
|
241
|
-
"unlocked_by": "hamming",
|
|
242
237
|
"difficulty": 3,
|
|
238
|
+
"slug": "nucleotide-count",
|
|
243
239
|
"topics": [
|
|
244
|
-
"
|
|
245
|
-
"
|
|
246
|
-
"
|
|
247
|
-
]
|
|
240
|
+
"control_flow_loops",
|
|
241
|
+
"exception_handling",
|
|
242
|
+
"strings"
|
|
243
|
+
],
|
|
244
|
+
"unlocked_by": "hamming",
|
|
245
|
+
"uuid": "903e3be6-cefd-4db5-b3dc-a325c4bcae7a"
|
|
248
246
|
},
|
|
249
247
|
{
|
|
250
|
-
"uuid": "50425ddf-fbec-4740-99eb-14cb7cc8a78a",
|
|
251
|
-
"slug": "food-chain",
|
|
252
248
|
"core": false,
|
|
253
|
-
"unlocked_by": "house",
|
|
254
249
|
"difficulty": 3,
|
|
250
|
+
"slug": "food-chain",
|
|
255
251
|
"topics": [
|
|
256
|
-
"
|
|
257
|
-
"
|
|
258
|
-
"
|
|
259
|
-
]
|
|
252
|
+
"control_flow_if_else_statements",
|
|
253
|
+
"control_flow_loops",
|
|
254
|
+
"strings"
|
|
255
|
+
],
|
|
256
|
+
"unlocked_by": "house",
|
|
257
|
+
"uuid": "50425ddf-fbec-4740-99eb-14cb7cc8a78a"
|
|
260
258
|
},
|
|
261
259
|
{
|
|
262
|
-
"uuid": "39bb7747-23e3-4d96-880d-2af302b0c328",
|
|
263
|
-
"slug": "sum-of-multiples",
|
|
264
260
|
"core": false,
|
|
265
|
-
"unlocked_by": "difference-of-squares",
|
|
266
261
|
"difficulty": 2,
|
|
262
|
+
"slug": "sum-of-multiples",
|
|
267
263
|
"topics": [
|
|
268
|
-
"
|
|
269
|
-
"
|
|
270
|
-
"
|
|
271
|
-
]
|
|
264
|
+
"control_flow_if_else_statements",
|
|
265
|
+
"control_flow_loops",
|
|
266
|
+
"mathematics"
|
|
267
|
+
],
|
|
268
|
+
"unlocked_by": "difference-of-squares",
|
|
269
|
+
"uuid": "39bb7747-23e3-4d96-880d-2af302b0c328"
|
|
272
270
|
},
|
|
273
271
|
{
|
|
274
|
-
"uuid": "a42ea84d-030a-446b-8537-0bef558320df",
|
|
275
|
-
"slug": "rna-transcription",
|
|
276
272
|
"core": false,
|
|
277
|
-
"unlocked_by": "hamming",
|
|
278
273
|
"difficulty": 3,
|
|
274
|
+
"slug": "rna-transcription",
|
|
279
275
|
"topics": [
|
|
276
|
+
"control_flow_loops",
|
|
280
277
|
"strings",
|
|
281
|
-
"transforming"
|
|
282
|
-
|
|
283
|
-
|
|
278
|
+
"transforming"
|
|
279
|
+
],
|
|
280
|
+
"unlocked_by": "hamming",
|
|
281
|
+
"uuid": "a42ea84d-030a-446b-8537-0bef558320df"
|
|
284
282
|
},
|
|
285
283
|
{
|
|
286
|
-
"uuid": "c2130674-fe39-4e40-a1b5-b6b6ea24e255",
|
|
287
|
-
"slug": "phone-number",
|
|
288
284
|
"core": false,
|
|
289
|
-
"unlocked_by": "allergies",
|
|
290
285
|
"difficulty": 3,
|
|
286
|
+
"slug": "phone-number",
|
|
291
287
|
"topics": [
|
|
288
|
+
"control_flow_if_else_statements",
|
|
292
289
|
"strings",
|
|
293
|
-
"
|
|
294
|
-
|
|
295
|
-
|
|
290
|
+
"text_formatting"
|
|
291
|
+
],
|
|
292
|
+
"unlocked_by": "allergies",
|
|
293
|
+
"uuid": "c2130674-fe39-4e40-a1b5-b6b6ea24e255"
|
|
296
294
|
},
|
|
297
295
|
{
|
|
298
|
-
"uuid": "ffde0b07-d6b1-4b55-94d9-ec564817cbb8",
|
|
299
|
-
"slug": "bank-account",
|
|
300
296
|
"core": true,
|
|
301
|
-
"unlocked_by": null,
|
|
302
297
|
"difficulty": 3,
|
|
298
|
+
"slug": "bank-account",
|
|
303
299
|
"topics": [
|
|
304
300
|
"classes",
|
|
305
|
-
"
|
|
306
|
-
]
|
|
301
|
+
"control_flow_if_else_statements"
|
|
302
|
+
],
|
|
303
|
+
"unlocked_by": null,
|
|
304
|
+
"uuid": "ffde0b07-d6b1-4b55-94d9-ec564817cbb8"
|
|
307
305
|
},
|
|
308
306
|
{
|
|
309
|
-
"uuid": "7ffbdb77-a0a3-4bcf-8fb7-d3c34bdfcaf5",
|
|
310
|
-
"slug": "protein-translation",
|
|
311
307
|
"core": false,
|
|
312
|
-
"unlocked_by": "hamming",
|
|
313
308
|
"difficulty": 3,
|
|
309
|
+
"slug": "protein-translation",
|
|
314
310
|
"topics": [
|
|
315
|
-
"
|
|
316
|
-
"
|
|
317
|
-
"
|
|
318
|
-
"
|
|
319
|
-
]
|
|
311
|
+
"control_flow_if_else_statements",
|
|
312
|
+
"control_flow_loops",
|
|
313
|
+
"exception_handling",
|
|
314
|
+
"strings"
|
|
315
|
+
],
|
|
316
|
+
"unlocked_by": "hamming",
|
|
317
|
+
"uuid": "7ffbdb77-a0a3-4bcf-8fb7-d3c34bdfcaf5"
|
|
320
318
|
},
|
|
321
319
|
{
|
|
322
|
-
"uuid": "84f1b842-3c9b-4d96-93f1-e26577dc493f",
|
|
323
|
-
"slug": "grade-school",
|
|
324
320
|
"core": false,
|
|
325
|
-
"unlocked_by": "bank-account",
|
|
326
321
|
"difficulty": 4,
|
|
322
|
+
"slug": "grade-school",
|
|
327
323
|
"topics": [
|
|
328
324
|
"classes",
|
|
329
|
-
"
|
|
330
|
-
]
|
|
325
|
+
"control_flow_if_else_statements"
|
|
326
|
+
],
|
|
327
|
+
"unlocked_by": "bank-account",
|
|
328
|
+
"uuid": "84f1b842-3c9b-4d96-93f1-e26577dc493f"
|
|
331
329
|
},
|
|
332
330
|
{
|
|
333
|
-
"uuid": "f141a9a3-af4b-4257-92b8-f850a987cf49",
|
|
334
|
-
"slug": "nth-prime",
|
|
335
331
|
"core": true,
|
|
336
|
-
"unlocked_by": null,
|
|
337
332
|
"difficulty": 4,
|
|
333
|
+
"slug": "nth-prime",
|
|
338
334
|
"topics": [
|
|
339
|
-
"
|
|
340
|
-
"
|
|
341
|
-
"
|
|
342
|
-
"
|
|
343
|
-
]
|
|
335
|
+
"control_flow_if_else_statements",
|
|
336
|
+
"control_flow_loops",
|
|
337
|
+
"exception_handling",
|
|
338
|
+
"mathematics"
|
|
339
|
+
],
|
|
340
|
+
"unlocked_by": null,
|
|
341
|
+
"uuid": "f141a9a3-af4b-4257-92b8-f850a987cf49"
|
|
344
342
|
},
|
|
345
343
|
{
|
|
346
|
-
"uuid": "1c624b3f-7cf6-4896-90ff-11aec0d37059",
|
|
347
|
-
"slug": "diamond",
|
|
348
344
|
"core": true,
|
|
349
|
-
"unlocked_by": null,
|
|
350
345
|
"difficulty": 4,
|
|
346
|
+
"slug": "diamond",
|
|
351
347
|
"topics": [
|
|
352
|
-
"
|
|
348
|
+
"algorithms",
|
|
349
|
+
"control_flow_loops",
|
|
353
350
|
"strings",
|
|
354
|
-
"
|
|
355
|
-
|
|
356
|
-
|
|
351
|
+
"text_formatting"
|
|
352
|
+
],
|
|
353
|
+
"unlocked_by": null,
|
|
354
|
+
"uuid": "1c624b3f-7cf6-4896-90ff-11aec0d37059"
|
|
357
355
|
},
|
|
358
356
|
{
|
|
359
|
-
"uuid": "d70fae4a-b8a0-41ab-856f-e078fcb2f85c",
|
|
360
|
-
"slug": "run-length-encoding",
|
|
361
357
|
"core": true,
|
|
362
|
-
"unlocked_by": null,
|
|
363
358
|
"difficulty": 5,
|
|
359
|
+
"slug": "run-length-encoding",
|
|
364
360
|
"topics": [
|
|
365
|
-
"strings",
|
|
366
361
|
"algorithms",
|
|
367
|
-
"
|
|
368
|
-
"
|
|
369
|
-
"
|
|
370
|
-
|
|
362
|
+
"control_flow_if_else_statements",
|
|
363
|
+
"control_flow_loops",
|
|
364
|
+
"strings",
|
|
365
|
+
"text_formatting"
|
|
366
|
+
],
|
|
367
|
+
"unlocked_by": null,
|
|
368
|
+
"uuid": "d70fae4a-b8a0-41ab-856f-e078fcb2f85c"
|
|
371
369
|
},
|
|
372
370
|
{
|
|
373
|
-
"uuid": "23120234-680d-4505-96e8-e87d669f0234",
|
|
374
|
-
"slug": "sublist",
|
|
375
371
|
"core": false,
|
|
376
|
-
"unlocked_by": "list-ops",
|
|
377
372
|
"difficulty": 4,
|
|
373
|
+
"slug": "sublist",
|
|
378
374
|
"topics": [
|
|
379
375
|
"arrays",
|
|
380
|
-
"
|
|
381
|
-
"
|
|
382
|
-
]
|
|
376
|
+
"control_flow_if_else_statements",
|
|
377
|
+
"control_flow_loops"
|
|
378
|
+
],
|
|
379
|
+
"unlocked_by": "list-ops",
|
|
380
|
+
"uuid": "23120234-680d-4505-96e8-e87d669f0234"
|
|
383
381
|
},
|
|
384
382
|
{
|
|
385
|
-
"uuid": "4db71417-612a-41d2-9db4-d53fdc7d530c",
|
|
386
|
-
"slug": "robot-name",
|
|
387
383
|
"core": true,
|
|
388
|
-
"unlocked_by": null,
|
|
389
384
|
"difficulty": 4,
|
|
385
|
+
"slug": "robot-name",
|
|
390
386
|
"topics": [
|
|
391
|
-
"strings",
|
|
392
387
|
"randomness",
|
|
393
|
-
"
|
|
394
|
-
|
|
388
|
+
"strings",
|
|
389
|
+
"text_formatting"
|
|
390
|
+
],
|
|
391
|
+
"unlocked_by": null,
|
|
392
|
+
"uuid": "4db71417-612a-41d2-9db4-d53fdc7d530c"
|
|
395
393
|
},
|
|
396
394
|
{
|
|
397
|
-
"uuid": "c603a44b-c027-4906-aaa9-11522a92e3cb",
|
|
398
|
-
"slug": "robot-simulator",
|
|
399
395
|
"core": false,
|
|
400
|
-
"unlocked_by": "robot-name",
|
|
401
396
|
"difficulty": 3,
|
|
397
|
+
"slug": "robot-simulator",
|
|
402
398
|
"topics": [
|
|
403
|
-
"strings",
|
|
404
399
|
"classes",
|
|
405
|
-
"
|
|
406
|
-
|
|
400
|
+
"exception_handling",
|
|
401
|
+
"strings"
|
|
402
|
+
],
|
|
403
|
+
"unlocked_by": "robot-name",
|
|
404
|
+
"uuid": "c603a44b-c027-4906-aaa9-11522a92e3cb"
|
|
407
405
|
},
|
|
408
406
|
{
|
|
409
|
-
"uuid": "d9fbf011-73ea-4e00-b6e9-85d2418b8565",
|
|
410
|
-
"slug": "pythagorean-triplet",
|
|
411
407
|
"core": false,
|
|
412
|
-
"unlocked_by": "difference-of-squares",
|
|
413
408
|
"difficulty": 3,
|
|
409
|
+
"slug": "pythagorean-triplet",
|
|
414
410
|
"topics": [
|
|
415
|
-
"
|
|
416
|
-
"
|
|
417
|
-
"
|
|
418
|
-
]
|
|
411
|
+
"control_flow_if_else_statements",
|
|
412
|
+
"control_flow_loops",
|
|
413
|
+
"mathematics"
|
|
414
|
+
],
|
|
415
|
+
"unlocked_by": "difference-of-squares",
|
|
416
|
+
"uuid": "d9fbf011-73ea-4e00-b6e9-85d2418b8565"
|
|
419
417
|
},
|
|
420
418
|
{
|
|
421
|
-
"uuid": "79c25dc6-d2d5-4089-8016-9c01fc2e53f8",
|
|
422
|
-
"slug": "leap",
|
|
423
419
|
"core": true,
|
|
424
|
-
"unlocked_by": null,
|
|
425
420
|
"difficulty": 1,
|
|
421
|
+
"slug": "leap",
|
|
426
422
|
"topics": [
|
|
427
|
-
"
|
|
428
|
-
"
|
|
429
|
-
]
|
|
423
|
+
"control_flow_if_else_statements",
|
|
424
|
+
"logic"
|
|
425
|
+
],
|
|
426
|
+
"unlocked_by": null,
|
|
427
|
+
"uuid": "79c25dc6-d2d5-4089-8016-9c01fc2e53f8"
|
|
430
428
|
},
|
|
431
429
|
{
|
|
432
|
-
"uuid": "b10fd75b-53dd-4220-b76b-a2f1ed2d2ea2",
|
|
433
|
-
"slug": "space-age",
|
|
434
430
|
"core": false,
|
|
435
|
-
"unlocked_by": "leap",
|
|
436
431
|
"difficulty": 2,
|
|
432
|
+
"slug": "space-age",
|
|
437
433
|
"topics": [
|
|
438
434
|
"classes"
|
|
439
|
-
]
|
|
435
|
+
],
|
|
436
|
+
"unlocked_by": "leap",
|
|
437
|
+
"uuid": "b10fd75b-53dd-4220-b76b-a2f1ed2d2ea2"
|
|
440
438
|
},
|
|
441
439
|
{
|
|
442
|
-
"uuid": "2a38e35d-04ab-45b1-aaff-dab7c9b60306",
|
|
443
|
-
"slug": "pascals-triangle",
|
|
444
440
|
"core": false,
|
|
445
|
-
"unlocked_by": "diamond",
|
|
446
441
|
"difficulty": 5,
|
|
442
|
+
"slug": "pascals-triangle",
|
|
447
443
|
"topics": [
|
|
448
|
-
"
|
|
449
|
-
"
|
|
450
|
-
]
|
|
444
|
+
"control_flow_loops",
|
|
445
|
+
"mathematics"
|
|
446
|
+
],
|
|
447
|
+
"unlocked_by": "diamond",
|
|
448
|
+
"uuid": "2a38e35d-04ab-45b1-aaff-dab7c9b60306"
|
|
451
449
|
},
|
|
452
450
|
{
|
|
453
|
-
"uuid": "4b5615e0-5c82-472e-84ed-f91b58ffc5c9",
|
|
454
|
-
"slug": "sieve",
|
|
455
451
|
"core": false,
|
|
456
|
-
"unlocked_by": "nth-prime",
|
|
457
452
|
"difficulty": 4,
|
|
453
|
+
"slug": "sieve",
|
|
458
454
|
"topics": [
|
|
459
|
-
"
|
|
460
|
-
"
|
|
461
|
-
"
|
|
462
|
-
]
|
|
455
|
+
"control_flow_if_else_statements",
|
|
456
|
+
"control_flow_loops",
|
|
457
|
+
"mathematics"
|
|
458
|
+
],
|
|
459
|
+
"unlocked_by": "nth-prime",
|
|
460
|
+
"uuid": "4b5615e0-5c82-472e-84ed-f91b58ffc5c9"
|
|
463
461
|
},
|
|
464
462
|
{
|
|
465
|
-
"uuid": "1430571b-001a-4298-b834-1b6342d1c89a",
|
|
466
|
-
"slug": "grains",
|
|
467
463
|
"core": false,
|
|
468
|
-
"unlocked_by": "leap",
|
|
469
464
|
"difficulty": 2,
|
|
465
|
+
"slug": "grains",
|
|
470
466
|
"topics": [
|
|
471
|
-
"
|
|
472
|
-
]
|
|
467
|
+
"control_flow_loops"
|
|
468
|
+
],
|
|
469
|
+
"unlocked_by": "leap",
|
|
470
|
+
"uuid": "1430571b-001a-4298-b834-1b6342d1c89a"
|
|
473
471
|
},
|
|
474
472
|
{
|
|
475
|
-
"uuid": "40e73366-3ee5-4190-99bc-fad839c59a40",
|
|
476
|
-
"slug": "kindergarten-garden",
|
|
477
473
|
"core": false,
|
|
478
|
-
"unlocked_by": "allergies",
|
|
479
474
|
"difficulty": 5,
|
|
475
|
+
"slug": "kindergarten-garden",
|
|
480
476
|
"topics": [
|
|
481
|
-
"
|
|
482
|
-
"
|
|
483
|
-
"
|
|
484
|
-
]
|
|
477
|
+
"control_flow_if_else_statements",
|
|
478
|
+
"control_flow_loops",
|
|
479
|
+
"strings"
|
|
480
|
+
],
|
|
481
|
+
"unlocked_by": "allergies",
|
|
482
|
+
"uuid": "40e73366-3ee5-4190-99bc-fad839c59a40"
|
|
485
483
|
},
|
|
486
484
|
{
|
|
487
|
-
"uuid": "2530da0a-050c-472d-9f0c-cfe9045fb09f",
|
|
488
|
-
"slug": "custom-set",
|
|
489
485
|
"core": true,
|
|
490
|
-
"unlocked_by": null,
|
|
491
486
|
"difficulty": 6,
|
|
487
|
+
"slug": "custom-set",
|
|
492
488
|
"topics": [
|
|
493
489
|
"classes",
|
|
494
|
-
"
|
|
495
|
-
"
|
|
496
|
-
"
|
|
497
|
-
]
|
|
490
|
+
"control_flow_if_else_statements",
|
|
491
|
+
"control_flow_loops",
|
|
492
|
+
"sets"
|
|
493
|
+
],
|
|
494
|
+
"unlocked_by": null,
|
|
495
|
+
"uuid": "2530da0a-050c-472d-9f0c-cfe9045fb09f"
|
|
498
496
|
},
|
|
499
497
|
{
|
|
500
|
-
"uuid": "abe93c0d-a99c-4b58-a86a-3f96df09a186",
|
|
501
|
-
"slug": "gigasecond",
|
|
502
498
|
"core": false,
|
|
503
|
-
"unlocked_by": "leap",
|
|
504
499
|
"difficulty": 2,
|
|
500
|
+
"slug": "gigasecond",
|
|
505
501
|
"topics": [
|
|
506
502
|
"time"
|
|
507
|
-
]
|
|
503
|
+
],
|
|
504
|
+
"unlocked_by": "leap",
|
|
505
|
+
"uuid": "abe93c0d-a99c-4b58-a86a-3f96df09a186"
|
|
508
506
|
},
|
|
509
507
|
{
|
|
510
|
-
"uuid": "d7f4c19a-ac4c-4622-a5dd-e43b883365b8",
|
|
511
|
-
"slug": "word-search",
|
|
512
508
|
"core": false,
|
|
513
|
-
"unlocked_by": "matrix",
|
|
514
509
|
"difficulty": 7,
|
|
510
|
+
"slug": "word-search",
|
|
515
511
|
"topics": [
|
|
516
|
-
"
|
|
517
|
-
"
|
|
518
|
-
"
|
|
519
|
-
]
|
|
512
|
+
"control_flow_if_else_statements",
|
|
513
|
+
"control_flow_loops",
|
|
514
|
+
"strings"
|
|
515
|
+
],
|
|
516
|
+
"unlocked_by": "matrix",
|
|
517
|
+
"uuid": "d7f4c19a-ac4c-4622-a5dd-e43b883365b8"
|
|
520
518
|
},
|
|
521
519
|
{
|
|
522
|
-
"uuid": "3f8cc956-0f54-441f-b25a-c97390750bb6",
|
|
523
|
-
"slug": "luhn",
|
|
524
520
|
"core": false,
|
|
525
|
-
"unlocked_by": "run-length-encoding",
|
|
526
521
|
"difficulty": 4,
|
|
522
|
+
"slug": "luhn",
|
|
527
523
|
"topics": [
|
|
528
|
-
"
|
|
529
|
-
"
|
|
530
|
-
"
|
|
531
|
-
]
|
|
524
|
+
"control_flow_if_else_statements",
|
|
525
|
+
"control_flow_loops",
|
|
526
|
+
"strings"
|
|
527
|
+
],
|
|
528
|
+
"unlocked_by": "run-length-encoding",
|
|
529
|
+
"uuid": "3f8cc956-0f54-441f-b25a-c97390750bb6"
|
|
532
530
|
},
|
|
533
531
|
{
|
|
534
|
-
"uuid": "f3963d89-aacd-4502-ab60-b2fb127b30a5",
|
|
535
|
-
"slug": "triangle",
|
|
536
532
|
"core": false,
|
|
537
|
-
"unlocked_by": "difference-of-squares",
|
|
538
533
|
"difficulty": 3,
|
|
534
|
+
"slug": "triangle",
|
|
539
535
|
"topics": [
|
|
540
|
-
"
|
|
541
|
-
"
|
|
542
|
-
]
|
|
536
|
+
"control_flow_if_else_statements",
|
|
537
|
+
"exception_handling"
|
|
538
|
+
],
|
|
539
|
+
"unlocked_by": "difference-of-squares",
|
|
540
|
+
"uuid": "f3963d89-aacd-4502-ab60-b2fb127b30a5"
|
|
543
541
|
},
|
|
544
542
|
{
|
|
545
|
-
"uuid": "a9e467c9-e820-49d8-aa45-542fcee4f112",
|
|
546
|
-
"slug": "clock",
|
|
547
543
|
"core": false,
|
|
548
|
-
"unlocked_by": "bank-account",
|
|
549
544
|
"difficulty": 3,
|
|
545
|
+
"slug": "clock",
|
|
550
546
|
"topics": [
|
|
551
547
|
"classes"
|
|
552
|
-
]
|
|
548
|
+
],
|
|
549
|
+
"unlocked_by": "bank-account",
|
|
550
|
+
"uuid": "a9e467c9-e820-49d8-aa45-542fcee4f112"
|
|
553
551
|
},
|
|
554
552
|
{
|
|
555
|
-
"uuid": "e96a4a0a-ac81-4969-ac50-93713958f06a",
|
|
556
|
-
"slug": "series",
|
|
557
553
|
"core": false,
|
|
558
|
-
"unlocked_by": "list-ops",
|
|
559
554
|
"difficulty": 4,
|
|
555
|
+
"slug": "series",
|
|
560
556
|
"topics": [
|
|
561
|
-
"coroutines",
|
|
562
557
|
"arrays",
|
|
563
|
-
"
|
|
564
|
-
|
|
558
|
+
"control_flow_loops",
|
|
559
|
+
"coroutines"
|
|
560
|
+
],
|
|
561
|
+
"unlocked_by": "list-ops",
|
|
562
|
+
"uuid": "e96a4a0a-ac81-4969-ac50-93713958f06a"
|
|
565
563
|
},
|
|
566
564
|
{
|
|
567
|
-
"uuid": "530c358d-44e9-4b36-9ced-a1b633591a3d",
|
|
568
|
-
"slug": "linked-list",
|
|
569
565
|
"core": false,
|
|
570
|
-
"unlocked_by": "custom-set",
|
|
571
566
|
"difficulty": 4,
|
|
567
|
+
"slug": "linked-list",
|
|
572
568
|
"topics": [
|
|
573
569
|
"classes",
|
|
574
|
-
"
|
|
575
|
-
"
|
|
576
|
-
]
|
|
570
|
+
"control_flow_if_else_statements",
|
|
571
|
+
"control_flow_loops"
|
|
572
|
+
],
|
|
573
|
+
"unlocked_by": "custom-set",
|
|
574
|
+
"uuid": "530c358d-44e9-4b36-9ced-a1b633591a3d"
|
|
577
575
|
},
|
|
578
576
|
{
|
|
579
|
-
"uuid": "91cff99a-b182-4a6d-befb-ce716d290996",
|
|
580
|
-
"slug": "ocr-numbers",
|
|
581
577
|
"core": false,
|
|
582
|
-
"unlocked_by": "matrix",
|
|
583
578
|
"difficulty": 7,
|
|
579
|
+
"slug": "ocr-numbers",
|
|
584
580
|
"topics": [
|
|
585
|
-
"
|
|
586
|
-
"
|
|
587
|
-
]
|
|
581
|
+
"control_flow_loops",
|
|
582
|
+
"strings"
|
|
583
|
+
],
|
|
584
|
+
"unlocked_by": "matrix",
|
|
585
|
+
"uuid": "91cff99a-b182-4a6d-befb-ce716d290996"
|
|
588
586
|
},
|
|
589
587
|
{
|
|
590
|
-
"uuid": "464ef39f-8991-49f6-b6eb-5d811a262363",
|
|
591
|
-
"slug": "pig-latin",
|
|
592
588
|
"core": true,
|
|
593
|
-
"unlocked_by": null,
|
|
594
589
|
"difficulty": 5,
|
|
590
|
+
"slug": "pig-latin",
|
|
595
591
|
"topics": [
|
|
592
|
+
"control_flow_if_else_statements",
|
|
593
|
+
"control_flow_loops",
|
|
596
594
|
"strings",
|
|
597
|
-
"
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
595
|
+
"text_formatting"
|
|
596
|
+
],
|
|
597
|
+
"unlocked_by": null,
|
|
598
|
+
"uuid": "464ef39f-8991-49f6-b6eb-5d811a262363"
|
|
601
599
|
},
|
|
602
600
|
{
|
|
603
|
-
"uuid": "f41c1b0e-26e7-43d5-b1d2-106c08d6fa4a",
|
|
604
|
-
"slug": "minesweeper",
|
|
605
601
|
"core": false,
|
|
606
|
-
"unlocked_by": "matrix",
|
|
607
602
|
"difficulty": 7,
|
|
603
|
+
"slug": "minesweeper",
|
|
608
604
|
"topics": [
|
|
609
605
|
"arrays",
|
|
610
|
-
"
|
|
611
|
-
"
|
|
612
|
-
"
|
|
613
|
-
"
|
|
614
|
-
]
|
|
606
|
+
"control_flow_if_else_statements",
|
|
607
|
+
"control_flow_loops",
|
|
608
|
+
"exception_handling",
|
|
609
|
+
"strings"
|
|
610
|
+
],
|
|
611
|
+
"unlocked_by": "matrix",
|
|
612
|
+
"uuid": "f41c1b0e-26e7-43d5-b1d2-106c08d6fa4a"
|
|
615
613
|
},
|
|
616
614
|
{
|
|
617
|
-
"uuid": "058b40fe-9ca7-4082-a525-8b01b5d3a632",
|
|
618
|
-
"slug": "crypto-square",
|
|
619
615
|
"core": false,
|
|
620
|
-
"unlocked_by": "run-length-encoding",
|
|
621
616
|
"difficulty": 5,
|
|
617
|
+
"slug": "crypto-square",
|
|
622
618
|
"topics": [
|
|
619
|
+
"control_flow_loops",
|
|
623
620
|
"strings",
|
|
624
|
-
"
|
|
625
|
-
|
|
626
|
-
|
|
621
|
+
"text_formatting"
|
|
622
|
+
],
|
|
623
|
+
"unlocked_by": "run-length-encoding",
|
|
624
|
+
"uuid": "058b40fe-9ca7-4082-a525-8b01b5d3a632"
|
|
627
625
|
},
|
|
628
626
|
{
|
|
629
|
-
"uuid": "71a6d7d8-938b-4a8f-a216-ec0e8326ea52",
|
|
630
|
-
"slug": "list-ops",
|
|
631
627
|
"core": true,
|
|
632
|
-
"unlocked_by": null,
|
|
633
628
|
"difficulty": 4,
|
|
629
|
+
"slug": "list-ops",
|
|
634
630
|
"topics": [
|
|
635
631
|
"arrays",
|
|
636
|
-
"
|
|
637
|
-
"
|
|
638
|
-
]
|
|
632
|
+
"control_flow_loops",
|
|
633
|
+
"filtering"
|
|
634
|
+
],
|
|
635
|
+
"unlocked_by": null,
|
|
636
|
+
"uuid": "71a6d7d8-938b-4a8f-a216-ec0e8326ea52"
|
|
639
637
|
},
|
|
640
638
|
{
|
|
641
|
-
"uuid": "bf78cd80-3f8d-4075-b893-ba4ded5bf179",
|
|
642
|
-
"slug": "meetup",
|
|
643
639
|
"core": false,
|
|
644
|
-
"unlocked_by": "pig-latin",
|
|
645
640
|
"difficulty": 6,
|
|
641
|
+
"slug": "meetup",
|
|
646
642
|
"topics": [
|
|
647
|
-
"
|
|
648
|
-
"
|
|
649
|
-
"
|
|
650
|
-
]
|
|
643
|
+
"control_flow_if_statements",
|
|
644
|
+
"control_flow_loops",
|
|
645
|
+
"time"
|
|
646
|
+
],
|
|
647
|
+
"unlocked_by": "pig-latin",
|
|
648
|
+
"uuid": "bf78cd80-3f8d-4075-b893-ba4ded5bf179"
|
|
651
649
|
},
|
|
652
650
|
{
|
|
653
|
-
"uuid": "49d08ed0-3a4a-44f6-beb3-ae086255e59f",
|
|
654
|
-
"slug": "atbash-cipher",
|
|
655
651
|
"core": false,
|
|
656
|
-
"unlocked_by": "run-length-encoding",
|
|
657
652
|
"difficulty": 3,
|
|
653
|
+
"slug": "atbash-cipher",
|
|
658
654
|
"topics": [
|
|
655
|
+
"control_flow_loops",
|
|
659
656
|
"strings",
|
|
660
|
-
"
|
|
661
|
-
|
|
662
|
-
|
|
657
|
+
"text_formatting"
|
|
658
|
+
],
|
|
659
|
+
"unlocked_by": "run-length-encoding",
|
|
660
|
+
"uuid": "49d08ed0-3a4a-44f6-beb3-ae086255e59f"
|
|
663
661
|
},
|
|
664
662
|
{
|
|
665
|
-
"uuid": "4ec23243-6401-4be7-9770-1cd235da0557",
|
|
666
|
-
"slug": "scrabble-score",
|
|
667
663
|
"core": false,
|
|
668
|
-
"unlocked_by": "hamming",
|
|
669
664
|
"difficulty": 3,
|
|
665
|
+
"slug": "scrabble-score",
|
|
670
666
|
"topics": [
|
|
671
|
-
"
|
|
672
|
-
"
|
|
673
|
-
]
|
|
667
|
+
"control_flow_loops",
|
|
668
|
+
"strings"
|
|
669
|
+
],
|
|
670
|
+
"unlocked_by": "hamming",
|
|
671
|
+
"uuid": "4ec23243-6401-4be7-9770-1cd235da0557"
|
|
674
672
|
},
|
|
675
673
|
{
|
|
676
|
-
"uuid": "d2004df3-1cc5-4f78-a564-f66771425fd3",
|
|
677
|
-
"slug": "largest-series-product",
|
|
678
674
|
"core": false,
|
|
679
|
-
"unlocked_by": "difference-of-squares",
|
|
680
675
|
"difficulty": 5,
|
|
676
|
+
"slug": "largest-series-product",
|
|
681
677
|
"topics": [
|
|
682
|
-
"
|
|
683
|
-
"
|
|
684
|
-
]
|
|
678
|
+
"control_flow_loops",
|
|
679
|
+
"exception_handling"
|
|
680
|
+
],
|
|
681
|
+
"unlocked_by": "difference-of-squares",
|
|
682
|
+
"uuid": "d2004df3-1cc5-4f78-a564-f66771425fd3"
|
|
685
683
|
},
|
|
686
684
|
{
|
|
687
|
-
"uuid": "d1fedc2b-9771-49b5-b253-05e1337448c6",
|
|
688
|
-
"slug": "rail-fence-cipher",
|
|
689
685
|
"core": false,
|
|
690
|
-
"unlocked_by": "run-length-encoding",
|
|
691
686
|
"difficulty": 7,
|
|
687
|
+
"slug": "rail-fence-cipher",
|
|
692
688
|
"topics": [
|
|
689
|
+
"control_flow_if_else_statements",
|
|
690
|
+
"control_flow_loops",
|
|
693
691
|
"strings",
|
|
694
|
-
"
|
|
695
|
-
|
|
696
|
-
|
|
697
|
-
|
|
692
|
+
"text_formatting"
|
|
693
|
+
],
|
|
694
|
+
"unlocked_by": "run-length-encoding",
|
|
695
|
+
"uuid": "d1fedc2b-9771-49b5-b253-05e1337448c6"
|
|
698
696
|
},
|
|
699
697
|
{
|
|
700
|
-
"uuid": "5e38f418-d279-4d2f-a035-f440e59c4635",
|
|
701
|
-
"slug": "roman-numerals",
|
|
702
698
|
"core": false,
|
|
703
|
-
"unlocked_by": "leap",
|
|
704
699
|
"difficulty": 4,
|
|
700
|
+
"slug": "roman-numerals",
|
|
705
701
|
"topics": [
|
|
702
|
+
"control_flow_loops",
|
|
706
703
|
"strings",
|
|
707
|
-
"
|
|
708
|
-
|
|
709
|
-
|
|
704
|
+
"text_formatting"
|
|
705
|
+
],
|
|
706
|
+
"unlocked_by": "leap",
|
|
707
|
+
"uuid": "5e38f418-d279-4d2f-a035-f440e59c4635"
|
|
710
708
|
},
|
|
711
709
|
{
|
|
712
|
-
"uuid": "a54806a0-d17c-4ae9-a48e-bc587eab93ea",
|
|
713
|
-
"slug": "transpose",
|
|
714
710
|
"core": false,
|
|
715
|
-
"unlocked_by": "matrix",
|
|
716
711
|
"difficulty": 7,
|
|
712
|
+
"slug": "transpose",
|
|
717
713
|
"topics": [
|
|
718
|
-
"strings",
|
|
719
714
|
"algorithms",
|
|
720
|
-
"
|
|
721
|
-
|
|
715
|
+
"control_flow_loops",
|
|
716
|
+
"strings"
|
|
717
|
+
],
|
|
718
|
+
"unlocked_by": "matrix",
|
|
719
|
+
"uuid": "a54806a0-d17c-4ae9-a48e-bc587eab93ea"
|
|
722
720
|
},
|
|
723
721
|
{
|
|
724
|
-
"uuid": "d4a793a8-bd4a-478d-a4e2-ee20dd4b6085",
|
|
725
|
-
"slug": "tournament",
|
|
726
722
|
"core": false,
|
|
727
|
-
"unlocked_by": "allergies",
|
|
728
723
|
"difficulty": 5,
|
|
724
|
+
"slug": "tournament",
|
|
729
725
|
"topics": [
|
|
730
726
|
"arrays",
|
|
727
|
+
"control_flow_loops",
|
|
731
728
|
"strings",
|
|
732
|
-
"
|
|
733
|
-
"
|
|
734
|
-
|
|
735
|
-
|
|
729
|
+
"text_formatting",
|
|
730
|
+
"text_parsing"
|
|
731
|
+
],
|
|
732
|
+
"unlocked_by": "allergies",
|
|
733
|
+
"uuid": "d4a793a8-bd4a-478d-a4e2-ee20dd4b6085"
|
|
736
734
|
},
|
|
737
735
|
{
|
|
738
|
-
"uuid": "5b636f8a-37ba-412d-b957-633caac86369",
|
|
739
|
-
"slug": "circular-buffer",
|
|
740
736
|
"core": false,
|
|
741
|
-
"unlocked_by": "custom-set",
|
|
742
737
|
"difficulty": 4,
|
|
738
|
+
"slug": "circular-buffer",
|
|
743
739
|
"topics": [
|
|
744
740
|
"classes",
|
|
745
|
-
"
|
|
746
|
-
"
|
|
747
|
-
]
|
|
741
|
+
"control_flow_if_else_statements",
|
|
742
|
+
"exception_handling"
|
|
743
|
+
],
|
|
744
|
+
"unlocked_by": "custom-set",
|
|
745
|
+
"uuid": "5b636f8a-37ba-412d-b957-633caac86369"
|
|
748
746
|
},
|
|
749
747
|
{
|
|
750
|
-
"uuid": "84715ca7-b4cb-41bd-a5f0-1c45e372d834",
|
|
751
|
-
"slug": "binary-search-tree",
|
|
752
748
|
"core": false,
|
|
753
|
-
"unlocked_by": "binary-search",
|
|
754
749
|
"difficulty": 5,
|
|
750
|
+
"slug": "binary-search-tree",
|
|
755
751
|
"topics": [
|
|
756
|
-
"coroutines",
|
|
757
|
-
"trees",
|
|
758
752
|
"algorithms",
|
|
759
|
-
"
|
|
753
|
+
"coroutines",
|
|
754
|
+
"exception_handling",
|
|
760
755
|
"recursion",
|
|
761
|
-
"
|
|
762
|
-
|
|
756
|
+
"searching",
|
|
757
|
+
"trees"
|
|
758
|
+
],
|
|
759
|
+
"unlocked_by": "binary-search",
|
|
760
|
+
"uuid": "84715ca7-b4cb-41bd-a5f0-1c45e372d834"
|
|
763
761
|
},
|
|
764
762
|
{
|
|
765
|
-
"uuid": "6132095c-964f-4d58-9555-b4c77818e6d2",
|
|
766
|
-
"slug": "bowling",
|
|
767
763
|
"core": false,
|
|
768
|
-
"unlocked_by": "allergies",
|
|
769
764
|
"difficulty": 4,
|
|
765
|
+
"slug": "bowling",
|
|
770
766
|
"topics": [
|
|
771
767
|
"algorithms",
|
|
772
|
-
"
|
|
773
|
-
"
|
|
774
|
-
]
|
|
768
|
+
"control_flow_if_else_statements",
|
|
769
|
+
"exception_handling"
|
|
770
|
+
],
|
|
771
|
+
"unlocked_by": "allergies",
|
|
772
|
+
"uuid": "6132095c-964f-4d58-9555-b4c77818e6d2"
|
|
775
773
|
},
|
|
776
774
|
{
|
|
777
|
-
"uuid": "90fe2b43-5f4e-42fe-89ad-4fff49ccbb53",
|
|
778
|
-
"slug": "binary",
|
|
779
775
|
"core": true,
|
|
780
|
-
"unlocked_by": null,
|
|
781
776
|
"difficulty": 3,
|
|
777
|
+
"slug": "binary",
|
|
782
778
|
"topics": [
|
|
783
|
-
"
|
|
784
|
-
"
|
|
785
|
-
"
|
|
786
|
-
"
|
|
787
|
-
]
|
|
779
|
+
"bitwise_operations",
|
|
780
|
+
"control_flow_if_else_statements",
|
|
781
|
+
"control_flow_loops",
|
|
782
|
+
"strings"
|
|
783
|
+
],
|
|
784
|
+
"unlocked_by": null,
|
|
785
|
+
"uuid": "90fe2b43-5f4e-42fe-89ad-4fff49ccbb53"
|
|
788
786
|
},
|
|
789
787
|
{
|
|
790
|
-
"uuid": "26ea07b8-2658-47c2-9218-059c168ba1ea",
|
|
791
|
-
"slug": "alphametics",
|
|
792
788
|
"core": false,
|
|
793
|
-
"unlocked_by": "matrix",
|
|
794
789
|
"difficulty": 8,
|
|
790
|
+
"slug": "alphametics",
|
|
795
791
|
"topics": [
|
|
796
|
-
"strings",
|
|
797
792
|
"algorithms",
|
|
793
|
+
"control_flow_if_else_statements",
|
|
794
|
+
"control_flow_loops",
|
|
798
795
|
"performance",
|
|
799
|
-
"
|
|
800
|
-
|
|
801
|
-
|
|
796
|
+
"strings"
|
|
797
|
+
],
|
|
798
|
+
"unlocked_by": "matrix",
|
|
799
|
+
"uuid": "26ea07b8-2658-47c2-9218-059c168ba1ea"
|
|
802
800
|
},
|
|
803
801
|
{
|
|
804
|
-
"uuid": "0f85f581-0077-447e-a5f4-7b58c1b4b7a8",
|
|
805
|
-
"slug": "prime-factors",
|
|
806
802
|
"core": false,
|
|
807
|
-
"unlocked_by": "nth-prime",
|
|
808
803
|
"difficulty": 4,
|
|
804
|
+
"slug": "prime-factors",
|
|
809
805
|
"topics": [
|
|
810
|
-
"
|
|
811
|
-
"
|
|
812
|
-
"
|
|
813
|
-
]
|
|
806
|
+
"control_flow_if_else_statements",
|
|
807
|
+
"control_flow_loops",
|
|
808
|
+
"mathematics"
|
|
809
|
+
],
|
|
810
|
+
"unlocked_by": "nth-prime",
|
|
811
|
+
"uuid": "0f85f581-0077-447e-a5f4-7b58c1b4b7a8"
|
|
814
812
|
},
|
|
815
813
|
{
|
|
816
|
-
"uuid": "3f8c4f1b-b0b7-4f6e-8cd9-d5e252737ebb",
|
|
817
|
-
"slug": "acronym",
|
|
818
814
|
"core": false,
|
|
819
|
-
"unlocked_by": "isogram",
|
|
820
815
|
"difficulty": 4,
|
|
816
|
+
"slug": "acronym",
|
|
821
817
|
"topics": [
|
|
822
|
-
"
|
|
823
|
-
"
|
|
824
|
-
]
|
|
818
|
+
"control_flow_loops",
|
|
819
|
+
"strings"
|
|
820
|
+
],
|
|
821
|
+
"unlocked_by": "isogram",
|
|
822
|
+
"uuid": "3f8c4f1b-b0b7-4f6e-8cd9-d5e252737ebb"
|
|
825
823
|
},
|
|
826
824
|
{
|
|
827
|
-
"uuid": "1ee89535-3e91-4404-9116-adcbf87f2390",
|
|
828
|
-
"slug": "all-your-base",
|
|
829
825
|
"core": false,
|
|
830
|
-
"unlocked_by": "binary",
|
|
831
826
|
"difficulty": 4,
|
|
827
|
+
"slug": "all-your-base",
|
|
832
828
|
"topics": [
|
|
833
|
-
"mathematics",
|
|
834
829
|
"arrays",
|
|
835
|
-
"
|
|
836
|
-
|
|
830
|
+
"control_flow_loops",
|
|
831
|
+
"mathematics"
|
|
832
|
+
],
|
|
833
|
+
"unlocked_by": "binary",
|
|
834
|
+
"uuid": "1ee89535-3e91-4404-9116-adcbf87f2390"
|
|
837
835
|
},
|
|
838
836
|
{
|
|
839
|
-
"uuid": "6f2e38ae-57d8-4b4e-b1db-ae35c066ece4",
|
|
840
|
-
"slug": "rectangles",
|
|
841
837
|
"core": false,
|
|
842
|
-
"unlocked_by": "matrix",
|
|
843
838
|
"difficulty": 8,
|
|
839
|
+
"slug": "rectangles",
|
|
844
840
|
"topics": [
|
|
845
|
-
"
|
|
841
|
+
"algorithms",
|
|
842
|
+
"control_flow_if_else_statements",
|
|
843
|
+
"control_flow_loops",
|
|
846
844
|
"performance",
|
|
847
|
-
"
|
|
848
|
-
|
|
849
|
-
|
|
850
|
-
|
|
845
|
+
"strings"
|
|
846
|
+
],
|
|
847
|
+
"unlocked_by": "matrix",
|
|
848
|
+
"uuid": "6f2e38ae-57d8-4b4e-b1db-ae35c066ece4"
|
|
851
849
|
},
|
|
852
850
|
{
|
|
853
|
-
"uuid": "6e7a0d97-580b-4b21-bcad-e89e0473d507",
|
|
854
|
-
"slug": "allergies",
|
|
855
851
|
"core": true,
|
|
856
|
-
"unlocked_by": null,
|
|
857
852
|
"difficulty": 4,
|
|
853
|
+
"slug": "allergies",
|
|
858
854
|
"topics": [
|
|
859
|
-
"
|
|
860
|
-
"
|
|
861
|
-
"
|
|
862
|
-
]
|
|
855
|
+
"bitwise_operations",
|
|
856
|
+
"control_flow_if_else_statements",
|
|
857
|
+
"control_flow_loops"
|
|
858
|
+
],
|
|
859
|
+
"unlocked_by": null,
|
|
860
|
+
"uuid": "6e7a0d97-580b-4b21-bcad-e89e0473d507"
|
|
863
861
|
},
|
|
864
862
|
{
|
|
865
|
-
"uuid": "7159ffe2-3f5f-4d12-8a38-843452ef5d7e",
|
|
866
|
-
"slug": "say",
|
|
867
863
|
"core": false,
|
|
868
|
-
"unlocked_by": "pig-latin",
|
|
869
864
|
"difficulty": 7,
|
|
865
|
+
"slug": "say",
|
|
870
866
|
"topics": [
|
|
867
|
+
"control_flow_loops",
|
|
871
868
|
"strings",
|
|
872
|
-
"
|
|
873
|
-
|
|
874
|
-
|
|
869
|
+
"text_formatting"
|
|
870
|
+
],
|
|
871
|
+
"unlocked_by": "pig-latin",
|
|
872
|
+
"uuid": "7159ffe2-3f5f-4d12-8a38-843452ef5d7e"
|
|
875
873
|
},
|
|
876
874
|
{
|
|
877
|
-
"uuid": "ba763756-e934-473f-a01c-a7c9ea0a971d",
|
|
878
|
-
"slug": "pov",
|
|
879
875
|
"core": false,
|
|
880
|
-
"unlocked_by": "binary-search",
|
|
881
876
|
"difficulty": 9,
|
|
877
|
+
"slug": "pov",
|
|
882
878
|
"topics": [
|
|
883
|
-
"graphs",
|
|
884
879
|
"algorithms",
|
|
885
|
-
"
|
|
886
|
-
"
|
|
887
|
-
"
|
|
888
|
-
|
|
880
|
+
"control_flow_if_else_statements",
|
|
881
|
+
"control_flow_loops",
|
|
882
|
+
"exception_handling",
|
|
883
|
+
"graphs"
|
|
884
|
+
],
|
|
885
|
+
"unlocked_by": "binary-search",
|
|
886
|
+
"uuid": "ba763756-e934-473f-a01c-a7c9ea0a971d"
|
|
889
887
|
},
|
|
890
888
|
{
|
|
891
|
-
"uuid": "790d60b6-a64e-482f-8c2b-3e2442ac0b4e",
|
|
892
|
-
"slug": "change",
|
|
893
889
|
"core": false,
|
|
894
|
-
"unlocked_by": "binary-search",
|
|
895
890
|
"difficulty": 4,
|
|
891
|
+
"slug": "change",
|
|
896
892
|
"topics": [
|
|
897
|
-
"
|
|
898
|
-
"
|
|
899
|
-
]
|
|
893
|
+
"control_flow_if_else_statements",
|
|
894
|
+
"control_flow_loops"
|
|
895
|
+
],
|
|
896
|
+
"unlocked_by": "binary-search",
|
|
897
|
+
"uuid": "790d60b6-a64e-482f-8c2b-3e2442ac0b4e"
|
|
900
898
|
},
|
|
901
899
|
{
|
|
902
|
-
"uuid": "a608af44-59df-425d-a652-163635bf740e",
|
|
903
|
-
"slug": "secret-handshake",
|
|
904
900
|
"core": false,
|
|
905
|
-
"unlocked_by": "leap",
|
|
906
901
|
"difficulty": 3,
|
|
902
|
+
"slug": "secret-handshake",
|
|
907
903
|
"topics": [
|
|
908
|
-
"control-flow (if-else statements)",
|
|
909
904
|
"arrays",
|
|
910
|
-
"
|
|
911
|
-
|
|
905
|
+
"bitwise_operations",
|
|
906
|
+
"control_flow_if_else_statements"
|
|
907
|
+
],
|
|
908
|
+
"unlocked_by": "leap",
|
|
909
|
+
"uuid": "a608af44-59df-425d-a652-163635bf740e"
|
|
910
|
+
},
|
|
911
|
+
{
|
|
912
|
+
"core": false,
|
|
913
|
+
"difficulty": 8,
|
|
914
|
+
"slug": "react",
|
|
915
|
+
"topics": [
|
|
916
|
+
"control_flow_if_else_statements",
|
|
917
|
+
"control_flow_loops",
|
|
918
|
+
"functions",
|
|
919
|
+
"graphs"
|
|
920
|
+
],
|
|
921
|
+
"unlocked_by": "matrix",
|
|
922
|
+
"uuid": "beca7d79-9237-4344-b058-66e0fa840691"
|
|
912
923
|
}
|
|
913
924
|
],
|
|
914
|
-
"foregone": [
|
|
915
|
-
|
|
916
|
-
]
|
|
917
|
-
}
|
|
925
|
+
"foregone": [],
|
|
926
|
+
"language": "Lua",
|
|
927
|
+
"test_pattern": ".*spec[.]lua$"
|
|
928
|
+
}
|