trackler 2.2.1.47 → 2.2.1.48
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/trackler/version.rb +1 -1
- data/problem-specifications/exercises/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
|
+
}
|