trackler 2.2.1.46 → 2.2.1.47
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/nucleotide-count/canonical-data.json +7 -7
- data/tracks/c/README.md +1 -1
- data/tracks/c/docs/SNIPPET.txt +2 -3
- data/tracks/c/exercises/acronym/test/test_acronym.c +8 -0
- data/tracks/c/exercises/all-your-base/test/test_all_your_base.c +8 -0
- data/tracks/c/exercises/allergies/test/test_allergies.c +8 -0
- data/tracks/c/exercises/anagram/test/test_anagram.c +8 -0
- data/tracks/c/exercises/atbash-cipher/test/test_atbash_cipher.c +8 -0
- data/tracks/c/exercises/beer-song/src/example.c +23 -22
- data/tracks/c/exercises/beer-song/src/example.h +3 -3
- data/tracks/c/exercises/beer-song/test/test_beer_song.c +8 -0
- data/tracks/c/exercises/binary-search/test/test_binary_search.c +8 -0
- data/tracks/c/exercises/binary/test/test_binary.c +8 -0
- data/tracks/c/exercises/bob/test/test_bob.c +8 -0
- data/tracks/c/exercises/clock/test/test_clock.c +8 -0
- data/tracks/c/exercises/difference-of-squares/test/test_difference_of_squares.c +8 -0
- data/tracks/c/exercises/gigasecond/test/test_gigasecond.c +8 -0
- data/tracks/c/exercises/grains/test/test_grains.c +8 -0
- data/tracks/c/exercises/hamming/test/test_hamming.c +8 -0
- data/tracks/c/exercises/hello-world/src/example.c +0 -2
- data/tracks/c/exercises/hello-world/test/test_hello_world.c +8 -0
- data/tracks/c/exercises/isogram/test/test_isogram.c +8 -0
- data/tracks/c/exercises/largest-series-product/test/test_largest_series_product.c +8 -0
- data/tracks/c/exercises/leap/test/test_leap.c +8 -0
- data/tracks/c/exercises/meetup/test/test_meetup.c +8 -0
- data/tracks/c/exercises/nth-prime/test/test_nth_prime.c +8 -0
- data/tracks/c/exercises/nucleotide-count/test/test_nucleotide_count.c +8 -0
- data/tracks/c/exercises/palindrome-products/test/test_palindrome_products.c +8 -0
- data/tracks/c/exercises/pangram/test/test_pangram.c +8 -0
- data/tracks/c/exercises/pascals-triangle/test/test_pascals_triangle.c +8 -0
- data/tracks/c/exercises/perfect-numbers/src/example.c +4 -4
- data/tracks/c/exercises/perfect-numbers/src/example.h +4 -4
- data/tracks/c/exercises/perfect-numbers/src/perfect_numbers.h +4 -4
- data/tracks/c/exercises/perfect-numbers/test/test_perfect_numbers.c +23 -13
- data/tracks/c/exercises/phone-number/test/test_phone_number.c +8 -0
- data/tracks/c/exercises/raindrops/test/test_raindrops.c +5 -1
- data/tracks/c/exercises/react/src/example.c +8 -8
- data/tracks/c/exercises/react/test/test_react.c +8 -0
- data/tracks/c/exercises/rna-transcription/test/test_rna_transcription.c +8 -0
- data/tracks/c/exercises/robot-simulator/src/example.c +12 -12
- data/tracks/c/exercises/robot-simulator/src/robot_simulator.h +11 -11
- data/tracks/c/exercises/robot-simulator/test/test_robot_simulator.c +33 -25
- data/tracks/c/exercises/roman-numerals/test/test_roman_numerals.c +8 -0
- data/tracks/c/exercises/scrabble-score/test/test_scrabble_score.c +8 -0
- data/tracks/c/exercises/series/test/test_series.c +8 -0
- data/tracks/c/exercises/sieve/test/test_sieve.c +8 -0
- data/tracks/c/exercises/space-age/src/example.h +8 -8
- data/tracks/c/exercises/space-age/test/test_space_age.c +16 -8
- data/tracks/c/exercises/sum-of-multiples/test/test_sum_of_multiples.c +8 -0
- data/tracks/c/exercises/triangle/test/test_triangle.c +8 -0
- data/tracks/c/exercises/word-count/test/test_word_count.c +8 -0
- data/tracks/cfml/config.json +8 -0
- data/tracks/cfml/exercises/anagram/.meta/HINTS.md +0 -0
- data/tracks/cfml/exercises/anagram/Anagram.cfc +13 -0
- data/tracks/cfml/exercises/anagram/AnagramTest.cfc +79 -0
- data/tracks/cfml/exercises/anagram/README.md +29 -0
- data/tracks/cfml/exercises/anagram/Solution.cfc +42 -0
- data/tracks/cfml/exercises/anagram/SolutionTest.cfc +7 -0
- data/tracks/cfml/exercises/anagram/TestRunner.cfc +103 -0
- data/tracks/cfml/exercises/anagram/box.json +8 -0
- data/tracks/cfml/exercises/anagram/index.cfm +37 -0
- data/tracks/common-lisp/config.json +5 -5
- data/tracks/csharp/exercises/two-bucket/Example.cs +53 -79
- data/tracks/csharp/exercises/two-bucket/TwoBucketTest.cs +2 -2
- data/tracks/csharp/generators/Exercises/QueenAttack.cs +3 -3
- data/tracks/dart/exercises/leap/test/leap_test.dart +1 -1
- data/tracks/delphi/exercises/hamming/uHammingTests.pas +2 -2
- data/tracks/delphi/exercises/leap/uLeapTests.pas +11 -38
- data/tracks/delphi/exercises/nucleotide-count/uNucleotideCountExample.pas +1 -1
- data/tracks/delphi/exercises/nucleotide-count/uNucleotideCountTest.pas +31 -55
- data/tracks/ecmascript/config.json +31 -0
- data/tracks/ecmascript/config/maintainers.json +5 -5
- data/tracks/ecmascript/exercises/accumulate/package.json +1 -1
- data/tracks/ecmascript/exercises/acronym/package.json +1 -1
- data/tracks/ecmascript/exercises/all-your-base/package.json +1 -1
- data/tracks/ecmascript/exercises/allergies/package.json +1 -1
- data/tracks/ecmascript/exercises/alphametics/package.json +1 -1
- data/tracks/ecmascript/exercises/anagram/package.json +1 -1
- data/tracks/ecmascript/exercises/atbash-cipher/package.json +1 -1
- data/tracks/ecmascript/exercises/beer-song/package.json +1 -1
- data/tracks/ecmascript/exercises/binary-search-tree/package.json +1 -1
- data/tracks/ecmascript/exercises/binary-search/package.json +1 -1
- data/tracks/ecmascript/exercises/binary/package.json +1 -1
- data/tracks/ecmascript/exercises/bob/package.json +1 -1
- data/tracks/ecmascript/exercises/bracket-push/package.json +1 -1
- data/tracks/ecmascript/exercises/circular-buffer/package.json +1 -1
- data/tracks/ecmascript/exercises/clock/package.json +1 -1
- data/tracks/ecmascript/exercises/collatz-conjecture/README.md +59 -0
- data/tracks/ecmascript/exercises/collatz-conjecture/collatz-conjecture.spec.js +31 -0
- data/tracks/ecmascript/exercises/collatz-conjecture/example.js +14 -0
- data/tracks/ecmascript/exercises/collatz-conjecture/package.json +69 -0
- data/tracks/ecmascript/exercises/connect/package.json +1 -1
- data/tracks/ecmascript/exercises/crypto-square/package.json +1 -1
- data/tracks/ecmascript/exercises/custom-set/package.json +1 -1
- data/tracks/ecmascript/exercises/diamond/package.json +1 -1
- data/tracks/ecmascript/exercises/difference-of-squares/package.json +1 -1
- data/tracks/ecmascript/exercises/diffie-hellman/package.json +1 -1
- data/tracks/ecmascript/exercises/etl/package.json +1 -1
- data/tracks/ecmascript/exercises/flatten-array/package.json +1 -1
- data/tracks/ecmascript/exercises/food-chain/package.json +1 -1
- data/tracks/ecmascript/exercises/gigasecond/package.json +1 -1
- data/tracks/ecmascript/exercises/grade-school/package.json +1 -1
- data/tracks/ecmascript/exercises/grains/package.json +1 -1
- data/tracks/ecmascript/exercises/hamming/package.json +1 -1
- data/tracks/ecmascript/exercises/hello-world/package.json +1 -1
- data/tracks/ecmascript/exercises/hexadecimal/package.json +1 -1
- data/tracks/ecmascript/exercises/isogram/package.json +1 -1
- data/tracks/ecmascript/exercises/kindergarten-garden/package.json +1 -1
- data/tracks/ecmascript/exercises/largest-series-product/package.json +1 -1
- data/tracks/ecmascript/exercises/leap/package.json +1 -1
- data/tracks/ecmascript/exercises/linked-list/package.json +1 -1
- data/tracks/ecmascript/exercises/list-ops/package.json +1 -1
- data/tracks/ecmascript/exercises/luhn/package.json +1 -1
- data/tracks/ecmascript/exercises/matrix/package.json +1 -1
- data/tracks/ecmascript/exercises/meetup/package.json +1 -1
- data/tracks/ecmascript/exercises/minesweeper/package.json +1 -1
- data/tracks/ecmascript/exercises/nth-prime/package.json +1 -1
- data/tracks/ecmascript/exercises/ocr-numbers/package.json +1 -1
- data/tracks/ecmascript/exercises/octal/package.json +1 -1
- data/tracks/ecmascript/exercises/palindrome-products/package.json +1 -1
- data/tracks/ecmascript/exercises/pangram/package.json +1 -1
- data/tracks/ecmascript/exercises/pascals-triangle/package.json +1 -1
- data/tracks/ecmascript/exercises/perfect-numbers/package.json +1 -1
- data/tracks/ecmascript/exercises/phone-number/package.json +1 -1
- data/tracks/ecmascript/exercises/pig-latin/package.json +1 -1
- data/tracks/ecmascript/exercises/prime-factors/package.json +1 -1
- data/tracks/ecmascript/exercises/proverb/package.json +1 -1
- data/tracks/ecmascript/exercises/pythagorean-triplet/package.json +1 -1
- data/tracks/ecmascript/exercises/queen-attack/package.json +1 -1
- data/tracks/ecmascript/exercises/raindrops/package.json +1 -1
- data/tracks/ecmascript/exercises/rna-transcription/package.json +1 -1
- data/tracks/ecmascript/exercises/robot-name/package.json +1 -1
- data/tracks/ecmascript/exercises/robot-simulator/package.json +1 -1
- data/tracks/ecmascript/exercises/roman-numerals/package.json +1 -1
- data/tracks/ecmascript/exercises/run-length-encoding/package.json +1 -1
- data/tracks/ecmascript/exercises/saddle-points/package.json +1 -1
- data/tracks/ecmascript/exercises/say/package.json +1 -1
- data/tracks/ecmascript/exercises/scrabble-score/package.json +1 -1
- data/tracks/ecmascript/exercises/secret-handshake/package.json +1 -1
- data/tracks/ecmascript/exercises/series/package.json +1 -1
- data/tracks/ecmascript/exercises/sieve/package.json +1 -1
- data/tracks/ecmascript/exercises/simple-cipher/package.json +1 -1
- data/tracks/ecmascript/exercises/simple-linked-list/package.json +1 -1
- data/tracks/ecmascript/exercises/space-age/package.json +1 -1
- data/tracks/ecmascript/exercises/strain/package.json +1 -1
- data/tracks/ecmascript/exercises/sublist/package.json +1 -1
- data/tracks/ecmascript/exercises/sum-of-multiples/package.json +1 -1
- data/tracks/ecmascript/exercises/triangle/package.json +1 -1
- data/tracks/ecmascript/exercises/trinary/package.json +1 -1
- data/tracks/ecmascript/exercises/twelve-days/package.json +1 -1
- data/tracks/ecmascript/exercises/two-bucket/package.json +1 -1
- data/tracks/ecmascript/exercises/word-count/package.json +1 -1
- data/tracks/ecmascript/exercises/word-search/README.md +58 -0
- data/tracks/ecmascript/exercises/word-search/example.js +146 -0
- data/tracks/ecmascript/exercises/word-search/package.json +69 -0
- data/tracks/ecmascript/exercises/word-search/word-search.spec.js +626 -0
- data/tracks/ecmascript/exercises/wordy/package.json +1 -1
- data/tracks/ecmascript/package.json +1 -1
- data/tracks/elixir/config.json +11 -0
- data/tracks/elixir/exercises/luhn/example.exs +26 -46
- data/tracks/elixir/exercises/luhn/luhn.exs +0 -13
- data/tracks/elixir/exercises/luhn/luhn_test.exs +44 -14
- data/tracks/elixir/exercises/transpose/README.md +101 -0
- data/tracks/elixir/exercises/transpose/example.exs +46 -0
- data/tracks/elixir/exercises/transpose/transpose.exs +22 -0
- data/tracks/elixir/exercises/transpose/transpose_test.exs +248 -0
- data/tracks/fsharp/exercises/grains/Example.fs +10 -2
- data/tracks/fsharp/exercises/grains/Grains.fs +2 -4
- data/tracks/fsharp/exercises/grains/GrainsTest.fs +52 -25
- data/tracks/fsharp/exercises/phone-number/Example.fs +11 -3
- data/tracks/fsharp/exercises/phone-number/PhoneNumber.fs +1 -1
- data/tracks/fsharp/exercises/phone-number/PhoneNumberTest.fs +32 -21
- data/tracks/fsharp/exercises/prime-factors/Example.fs +6 -13
- data/tracks/fsharp/exercises/prime-factors/PrimeFactors.fs +1 -1
- data/tracks/fsharp/exercises/prime-factors/PrimeFactorsTest.fs +23 -32
- data/tracks/fsharp/exercises/rail-fence-cipher/RailFenceCipherTest.fs +22 -13
- data/tracks/fsharp/generators/Exercise.fs +3 -4
- data/tracks/fsharp/generators/Generators.fs +31 -0
- data/tracks/gnu-apl/bin/run-all-tests +5 -2
- data/tracks/java/CONTRIBUTING.md +8 -0
- data/tracks/java/POLICIES.md +2 -2
- data/tracks/java/config.json +26 -4
- data/tracks/java/exercises/triangle/.meta/.version +1 -0
- data/tracks/java/exercises/triangle/.meta/src/reference/java/Triangle.java +1 -1
- data/tracks/java/exercises/triangle/src/test/java/TriangleTest.java +59 -40
- data/tracks/javascript/config.json +30 -0
- data/tracks/javascript/config/maintainers.json +8 -8
- data/tracks/javascript/exercises/change/example.js +6 -22
- data/tracks/javascript/exercises/collatz-conjecture/README.md +57 -0
- data/tracks/javascript/exercises/collatz-conjecture/collatz-conjecture.spec.js +37 -0
- data/tracks/javascript/exercises/collatz-conjecture/example.js +20 -0
- data/tracks/javascript/exercises/protein-translation/example.js +30 -31
- data/tracks/javascript/exercises/protein-translation/protein-translation.spec.js +60 -60
- data/tracks/javascript/exercises/transpose/README.md +89 -0
- data/tracks/javascript/exercises/transpose/example.js +17 -0
- data/tracks/javascript/exercises/transpose/transpose.spec.js +67 -0
- data/tracks/objective-c/config.json +283 -263
- data/tracks/objective-c/exercises/grains/GrainsExample.h +6 -0
- data/tracks/objective-c/exercises/grains/GrainsExample.m +19 -0
- data/tracks/objective-c/exercises/grains/GrainsTest.m +85 -0
- data/tracks/objective-c/exercises/nth-prime/NthPrimeExample.h +6 -0
- data/tracks/objective-c/exercises/nth-prime/NthPrimeExample.m +39 -0
- data/tracks/objective-c/exercises/nth-prime/NthPrimeTest.m +53 -0
- data/tracks/python/config.json +42 -11
- data/tracks/python/exercises/change/README.md +34 -0
- data/tracks/python/exercises/two-bucket/README.md +47 -0
- data/tracks/ruby/README.md +4 -1
- data/tracks/ruby/lib/generator/command_line.rb +3 -3
- data/tracks/ruby/lib/generator/command_line/generator_optparser.rb +3 -3
- data/tracks/ruby/test/generator/command_line/generator_optparser_test.rb +4 -4
- data/tracks/ruby/test/generator/command_line_test.rb +5 -5
- data/tracks/typescript/config.json +15 -0
- data/tracks/typescript/exercises/strain/README.md +60 -0
- data/tracks/typescript/exercises/strain/package.json +36 -0
- data/tracks/typescript/exercises/strain/strain.example.ts +23 -0
- data/tracks/typescript/exercises/strain/strain.test.ts +76 -0
- data/tracks/typescript/exercises/strain/strain.ts +0 -0
- data/tracks/typescript/exercises/strain/tsconfig.json +22 -0
- data/tracks/typescript/exercises/strain/tslint.json +127 -0
- data/tracks/typescript/exercises/strain/yarn.lock +2305 -0
- metadata +46 -3
- data/tracks/ecmascript/package-lock.json +0 -2835
@@ -1,480 +1,500 @@
|
|
1
1
|
{
|
2
|
-
"language": "Objective-C",
|
3
2
|
"active": true,
|
4
3
|
"exercises": [
|
5
4
|
{
|
6
|
-
"uuid": "da5eb908-8cdf-4f99-93f7-c2b7dcb4fb37",
|
7
|
-
"slug": "hello-world",
|
8
5
|
"core": false,
|
9
|
-
"unlocked_by": null,
|
10
6
|
"difficulty": 1,
|
7
|
+
"slug": "hello-world",
|
11
8
|
"topics": [
|
12
|
-
"
|
13
|
-
"
|
14
|
-
]
|
9
|
+
"optional_values",
|
10
|
+
"text_formatting"
|
11
|
+
],
|
12
|
+
"unlocked_by": null,
|
13
|
+
"uuid": "da5eb908-8cdf-4f99-93f7-c2b7dcb4fb37"
|
15
14
|
},
|
16
15
|
{
|
17
|
-
"uuid": "3438b44a-3e0e-4488-b4e1-57dadbed5f3a",
|
18
|
-
"slug": "bob",
|
19
16
|
"core": false,
|
20
|
-
"unlocked_by": null,
|
21
17
|
"difficulty": 1,
|
18
|
+
"slug": "bob",
|
22
19
|
"topics": [
|
23
|
-
"
|
24
|
-
"
|
25
|
-
]
|
20
|
+
"control_flow_if_else_statements",
|
21
|
+
"strings"
|
22
|
+
],
|
23
|
+
"unlocked_by": null,
|
24
|
+
"uuid": "3438b44a-3e0e-4488-b4e1-57dadbed5f3a"
|
26
25
|
},
|
27
26
|
{
|
28
|
-
"uuid": "0b3db961-0ee2-4903-8237-4333dee92b68",
|
29
|
-
"slug": "leap",
|
30
27
|
"core": false,
|
31
|
-
"unlocked_by": null,
|
32
28
|
"difficulty": 1,
|
29
|
+
"slug": "leap",
|
33
30
|
"topics": [
|
34
|
-
"
|
35
|
-
]
|
31
|
+
"integers"
|
32
|
+
],
|
33
|
+
"unlocked_by": null,
|
34
|
+
"uuid": "0b3db961-0ee2-4903-8237-4333dee92b68"
|
36
35
|
},
|
37
36
|
{
|
38
|
-
"uuid": "1ac87e91-5174-44c6-93b6-deef7c2f4438",
|
39
|
-
"slug": "gigasecond",
|
40
37
|
"core": false,
|
41
|
-
"unlocked_by": null,
|
42
38
|
"difficulty": 1,
|
39
|
+
"slug": "gigasecond",
|
43
40
|
"topics": [
|
44
|
-
"
|
45
|
-
]
|
41
|
+
"dates"
|
42
|
+
],
|
43
|
+
"unlocked_by": null,
|
44
|
+
"uuid": "1ac87e91-5174-44c6-93b6-deef7c2f4438"
|
46
45
|
},
|
47
46
|
{
|
48
|
-
"uuid": "30cfe053-ef80-42c8-b196-3a05f61e0190",
|
49
|
-
"slug": "difference-of-squares",
|
50
47
|
"core": false,
|
51
|
-
"unlocked_by": null,
|
52
48
|
"difficulty": 1,
|
49
|
+
"slug": "difference-of-squares",
|
53
50
|
"topics": [
|
54
|
-
"
|
55
|
-
]
|
51
|
+
"integers"
|
52
|
+
],
|
53
|
+
"unlocked_by": null,
|
54
|
+
"uuid": "30cfe053-ef80-42c8-b196-3a05f61e0190"
|
56
55
|
},
|
57
56
|
{
|
58
|
-
"uuid": "e9b0efd4-9da5-4036-a03f-a6f697ae786e",
|
59
|
-
"slug": "sum-of-multiples",
|
60
57
|
"core": false,
|
61
|
-
"unlocked_by": null,
|
62
58
|
"difficulty": 1,
|
59
|
+
"slug": "sum-of-multiples",
|
63
60
|
"topics": [
|
64
|
-
"
|
65
|
-
"
|
66
|
-
]
|
61
|
+
"lists",
|
62
|
+
"transforming"
|
63
|
+
],
|
64
|
+
"unlocked_by": null,
|
65
|
+
"uuid": "e9b0efd4-9da5-4036-a03f-a6f697ae786e"
|
67
66
|
},
|
68
67
|
{
|
69
|
-
"uuid": "6a2ab923-5102-44f8-8d5b-4e967983766e",
|
70
|
-
"slug": "space-age",
|
71
68
|
"core": false,
|
72
|
-
"unlocked_by": null,
|
73
69
|
"difficulty": 1,
|
70
|
+
"slug": "space-age",
|
74
71
|
"topics": [
|
75
|
-
"
|
76
|
-
"
|
77
|
-
]
|
72
|
+
"discriminated_unions",
|
73
|
+
"floating_point_numbers"
|
74
|
+
],
|
75
|
+
"unlocked_by": null,
|
76
|
+
"uuid": "6a2ab923-5102-44f8-8d5b-4e967983766e"
|
78
77
|
},
|
79
78
|
{
|
80
|
-
"uuid": "6a5a3dd6-a1d2-490c-b781-4e781f1e3289",
|
81
|
-
"slug": "hamming",
|
82
79
|
"core": false,
|
83
|
-
"unlocked_by": null,
|
84
80
|
"difficulty": 2,
|
81
|
+
"slug": "hamming",
|
85
82
|
"topics": [
|
86
|
-
"
|
87
|
-
"
|
88
|
-
]
|
83
|
+
"filtering",
|
84
|
+
"strings"
|
85
|
+
],
|
86
|
+
"unlocked_by": null,
|
87
|
+
"uuid": "6a5a3dd6-a1d2-490c-b781-4e781f1e3289"
|
89
88
|
},
|
90
89
|
{
|
91
|
-
"uuid": "a33b7e1b-7f37-4494-8943-719f7d7e6d28",
|
92
|
-
"slug": "nucleotide-count",
|
93
90
|
"core": false,
|
94
|
-
"unlocked_by": null,
|
95
91
|
"difficulty": 2,
|
92
|
+
"slug": "nucleotide-count",
|
96
93
|
"topics": [
|
97
|
-
"
|
98
|
-
"
|
99
|
-
]
|
94
|
+
"maps",
|
95
|
+
"strings"
|
96
|
+
],
|
97
|
+
"unlocked_by": null,
|
98
|
+
"uuid": "a33b7e1b-7f37-4494-8943-719f7d7e6d28"
|
100
99
|
},
|
101
100
|
{
|
102
|
-
"uuid": "4e16fc56-b8a8-4d48-8635-55e13795eb4d",
|
103
|
-
"slug": "raindrops",
|
104
101
|
"core": false,
|
105
|
-
"unlocked_by": null,
|
106
102
|
"difficulty": 2,
|
103
|
+
"slug": "raindrops",
|
107
104
|
"topics": [
|
108
|
-
"
|
109
|
-
"
|
110
|
-
]
|
105
|
+
"filtering",
|
106
|
+
"text_formatting"
|
107
|
+
],
|
108
|
+
"unlocked_by": null,
|
109
|
+
"uuid": "4e16fc56-b8a8-4d48-8635-55e13795eb4d"
|
111
110
|
},
|
112
111
|
{
|
113
|
-
"uuid": "5b5c4168-cffa-4d4d-94f5-d8ac7bf8a25f",
|
114
|
-
"slug": "grade-school",
|
115
112
|
"core": false,
|
116
|
-
"unlocked_by": null,
|
117
113
|
"difficulty": 2,
|
114
|
+
"slug": "grade-school",
|
118
115
|
"topics": [
|
119
|
-
"
|
120
|
-
"
|
121
|
-
]
|
116
|
+
"maps",
|
117
|
+
"sorting"
|
118
|
+
],
|
119
|
+
"unlocked_by": null,
|
120
|
+
"uuid": "5b5c4168-cffa-4d4d-94f5-d8ac7bf8a25f"
|
122
121
|
},
|
123
122
|
{
|
124
|
-
"uuid": "7ff9aecb-2af3-4846-818c-00eddc87bf3b",
|
125
|
-
"slug": "etl",
|
126
123
|
"core": false,
|
127
|
-
"unlocked_by": null,
|
128
124
|
"difficulty": 2,
|
125
|
+
"slug": "etl",
|
129
126
|
"topics": [
|
130
|
-
"
|
131
|
-
"
|
132
|
-
]
|
127
|
+
"maps",
|
128
|
+
"transforming"
|
129
|
+
],
|
130
|
+
"unlocked_by": null,
|
131
|
+
"uuid": "7ff9aecb-2af3-4846-818c-00eddc87bf3b"
|
133
132
|
},
|
134
133
|
{
|
135
|
-
"uuid": "25eb6063-e228-4862-9477-02ebcae02d3d",
|
136
|
-
"slug": "isogram",
|
137
134
|
"core": false,
|
138
|
-
"unlocked_by": null,
|
139
135
|
"difficulty": 2,
|
136
|
+
"slug": "isogram",
|
140
137
|
"topics": [
|
141
|
-
"
|
142
|
-
"
|
143
|
-
]
|
138
|
+
"filtering",
|
139
|
+
"strings"
|
140
|
+
],
|
141
|
+
"unlocked_by": null,
|
142
|
+
"uuid": "25eb6063-e228-4862-9477-02ebcae02d3d"
|
144
143
|
},
|
145
144
|
{
|
146
|
-
"uuid": "af3bce9f-954a-4f46-97a0-9236436e3f08",
|
147
|
-
"slug": "flatten-array",
|
148
145
|
"core": false,
|
149
|
-
"unlocked_by": null,
|
150
146
|
"difficulty": 2,
|
147
|
+
"slug": "flatten-array",
|
151
148
|
"topics": [
|
152
|
-
"
|
153
|
-
"
|
154
|
-
"
|
155
|
-
]
|
149
|
+
"lists",
|
150
|
+
"looping",
|
151
|
+
"searching"
|
152
|
+
],
|
153
|
+
"unlocked_by": null,
|
154
|
+
"uuid": "af3bce9f-954a-4f46-97a0-9236436e3f08"
|
156
155
|
},
|
157
156
|
{
|
158
|
-
"uuid": "1f3e9399-b1fa-4dec-92d7-7abf3b64f499",
|
159
|
-
"slug": "sublist",
|
160
157
|
"core": false,
|
161
|
-
"unlocked_by": null,
|
162
158
|
"difficulty": 3,
|
159
|
+
"slug": "sublist",
|
163
160
|
"topics": [
|
164
|
-
"
|
165
|
-
"
|
166
|
-
]
|
161
|
+
"lists",
|
162
|
+
"looping"
|
163
|
+
],
|
164
|
+
"unlocked_by": null,
|
165
|
+
"uuid": "1f3e9399-b1fa-4dec-92d7-7abf3b64f499"
|
167
166
|
},
|
168
167
|
{
|
169
|
-
"uuid": "fec4d906-3b0a-412d-ad54-b6e02bf8cabb",
|
170
|
-
"slug": "clock",
|
171
168
|
"core": false,
|
172
|
-
"unlocked_by": null,
|
173
169
|
"difficulty": 3,
|
170
|
+
"slug": "clock",
|
174
171
|
"topics": [
|
175
|
-
"
|
176
|
-
"
|
177
|
-
]
|
172
|
+
"structural_equality",
|
173
|
+
"time"
|
174
|
+
],
|
175
|
+
"unlocked_by": null,
|
176
|
+
"uuid": "fec4d906-3b0a-412d-ad54-b6e02bf8cabb"
|
178
177
|
},
|
179
178
|
{
|
180
|
-
"uuid": "c90dbfe2-64ff-47d5-9b46-7827bf1cc06c",
|
181
|
-
"slug": "triangle",
|
182
179
|
"core": false,
|
183
|
-
"unlocked_by": null,
|
184
180
|
"difficulty": 3,
|
181
|
+
"slug": "triangle",
|
185
182
|
"topics": [
|
186
|
-
"
|
187
|
-
"
|
188
|
-
]
|
183
|
+
"discriminated_unions",
|
184
|
+
"integers"
|
185
|
+
],
|
186
|
+
"unlocked_by": null,
|
187
|
+
"uuid": "c90dbfe2-64ff-47d5-9b46-7827bf1cc06c"
|
189
188
|
},
|
190
189
|
{
|
191
|
-
"uuid": "de603240-aa3b-4f2d-8427-c442bf0067d2",
|
192
|
-
"slug": "robot-name",
|
193
190
|
"core": false,
|
194
|
-
"unlocked_by": null,
|
195
191
|
"difficulty": 3,
|
192
|
+
"slug": "robot-name",
|
196
193
|
"topics": [
|
197
|
-
"
|
198
|
-
"
|
199
|
-
]
|
194
|
+
"randomness",
|
195
|
+
"strings"
|
196
|
+
],
|
197
|
+
"unlocked_by": null,
|
198
|
+
"uuid": "de603240-aa3b-4f2d-8427-c442bf0067d2"
|
200
199
|
},
|
201
200
|
{
|
202
|
-
"uuid": "f56b96e3-a642-4594-97a8-4bc82674547a",
|
203
|
-
"slug": "scrabble-score",
|
204
201
|
"core": false,
|
205
|
-
"unlocked_by": null,
|
206
202
|
"difficulty": 3,
|
203
|
+
"slug": "scrabble-score",
|
207
204
|
"topics": [
|
208
|
-
"
|
209
|
-
]
|
205
|
+
"transforming"
|
206
|
+
],
|
207
|
+
"unlocked_by": null,
|
208
|
+
"uuid": "f56b96e3-a642-4594-97a8-4bc82674547a"
|
210
209
|
},
|
211
210
|
{
|
212
|
-
"uuid": "f290c133-81b1-4e94-90b0-85d665fdcfc6",
|
213
|
-
"slug": "phone-number",
|
214
211
|
"core": false,
|
215
|
-
"unlocked_by": null,
|
216
212
|
"difficulty": 3,
|
213
|
+
"slug": "phone-number",
|
217
214
|
"topics": [
|
218
|
-
"
|
219
|
-
"
|
220
|
-
]
|
215
|
+
"parsing",
|
216
|
+
"transforming"
|
217
|
+
],
|
218
|
+
"unlocked_by": null,
|
219
|
+
"uuid": "f290c133-81b1-4e94-90b0-85d665fdcfc6"
|
221
220
|
},
|
222
221
|
{
|
223
|
-
"uuid": "6339da5d-0fe7-489c-a2fe-6b6016afef42",
|
224
|
-
"slug": "perfect-numbers",
|
225
222
|
"core": false,
|
226
|
-
"unlocked_by": null,
|
227
223
|
"difficulty": 3,
|
224
|
+
"slug": "perfect-numbers",
|
228
225
|
"topics": [
|
229
|
-
"
|
230
|
-
"
|
231
|
-
]
|
226
|
+
"discriminated_unions",
|
227
|
+
"integers"
|
228
|
+
],
|
229
|
+
"unlocked_by": null,
|
230
|
+
"uuid": "6339da5d-0fe7-489c-a2fe-6b6016afef42"
|
232
231
|
},
|
233
232
|
{
|
234
|
-
"uuid": "f57cb4b4-5c22-4204-9006-8642af0e4678",
|
235
|
-
"slug": "secret-handshake",
|
236
233
|
"core": false,
|
237
|
-
"unlocked_by": null,
|
238
234
|
"difficulty": 3,
|
235
|
+
"slug": "secret-handshake",
|
239
236
|
"topics": [
|
240
|
-
"
|
241
|
-
"
|
242
|
-
]
|
237
|
+
"bitwise_operations",
|
238
|
+
"lists"
|
239
|
+
],
|
240
|
+
"unlocked_by": null,
|
241
|
+
"uuid": "f57cb4b4-5c22-4204-9006-8642af0e4678"
|
243
242
|
},
|
244
243
|
{
|
245
|
-
"uuid": "659b25c4-4f01-49d1-be97-7a45e762b56c",
|
246
|
-
"slug": "atbash-cipher",
|
247
244
|
"core": false,
|
248
|
-
"unlocked_by": null,
|
249
245
|
"difficulty": 3,
|
246
|
+
"slug": "atbash-cipher",
|
250
247
|
"topics": [
|
251
|
-
"
|
252
|
-
"
|
253
|
-
"
|
254
|
-
]
|
248
|
+
"maps",
|
249
|
+
"strings",
|
250
|
+
"transforming"
|
251
|
+
],
|
252
|
+
"unlocked_by": null,
|
253
|
+
"uuid": "659b25c4-4f01-49d1-be97-7a45e762b56c"
|
255
254
|
},
|
256
255
|
{
|
257
|
-
"uuid": "fd22b216-28c3-43cc-9627-e7584f4d3e27",
|
258
|
-
"slug": "sieve",
|
259
256
|
"core": false,
|
260
|
-
"unlocked_by": null,
|
261
257
|
"difficulty": 3,
|
258
|
+
"slug": "sieve",
|
262
259
|
"topics": [
|
263
|
-
"
|
264
|
-
"
|
265
|
-
]
|
260
|
+
"filtering",
|
261
|
+
"mathematics"
|
262
|
+
],
|
263
|
+
"unlocked_by": null,
|
264
|
+
"uuid": "fd22b216-28c3-43cc-9627-e7584f4d3e27"
|
266
265
|
},
|
267
266
|
{
|
268
|
-
"uuid": "3f9eb775-a268-42fa-8c28-f8fd9d43bddf",
|
269
|
-
"slug": "beer-song",
|
270
267
|
"core": false,
|
271
|
-
"unlocked_by": null,
|
272
268
|
"difficulty": 4,
|
269
|
+
"slug": "beer-song",
|
273
270
|
"topics": [
|
274
|
-
"
|
275
|
-
"
|
276
|
-
"
|
277
|
-
]
|
271
|
+
"conditionals",
|
272
|
+
"looping",
|
273
|
+
"strings"
|
274
|
+
],
|
275
|
+
"unlocked_by": null,
|
276
|
+
"uuid": "3f9eb775-a268-42fa-8c28-f8fd9d43bddf"
|
278
277
|
},
|
279
278
|
{
|
280
|
-
"uuid": "75cece67-bfa9-42d9-a497-2efd0862b3ef",
|
281
|
-
"slug": "word-count",
|
282
279
|
"core": false,
|
283
|
-
"unlocked_by": null,
|
284
280
|
"difficulty": 4,
|
281
|
+
"slug": "word-count",
|
285
282
|
"topics": [
|
286
|
-
"
|
287
|
-
"
|
288
|
-
"
|
289
|
-
]
|
283
|
+
"maps",
|
284
|
+
"strings",
|
285
|
+
"transforming"
|
286
|
+
],
|
287
|
+
"unlocked_by": null,
|
288
|
+
"uuid": "75cece67-bfa9-42d9-a497-2efd0862b3ef"
|
290
289
|
},
|
291
290
|
{
|
292
|
-
"uuid": "da7c4aa4-bdaa-4006-89ef-7f93e7a0abf7",
|
293
|
-
"slug": "allergies",
|
294
291
|
"core": false,
|
295
|
-
"unlocked_by": null,
|
296
292
|
"difficulty": 4,
|
293
|
+
"slug": "allergies",
|
297
294
|
"topics": [
|
298
|
-
"
|
299
|
-
"
|
300
|
-
"
|
301
|
-
]
|
295
|
+
"bitwise_operations",
|
296
|
+
"enumerations",
|
297
|
+
"filtering"
|
298
|
+
],
|
299
|
+
"unlocked_by": null,
|
300
|
+
"uuid": "da7c4aa4-bdaa-4006-89ef-7f93e7a0abf7"
|
302
301
|
},
|
303
302
|
{
|
304
|
-
"uuid": "cea2e160-2269-4dde-9063-734c72cb7255",
|
305
|
-
"slug": "meetup",
|
306
303
|
"core": false,
|
307
|
-
"unlocked_by": null,
|
308
304
|
"difficulty": 4,
|
305
|
+
"slug": "meetup",
|
309
306
|
"topics": [
|
310
|
-
"
|
311
|
-
]
|
307
|
+
"dates"
|
308
|
+
],
|
309
|
+
"unlocked_by": null,
|
310
|
+
"uuid": "cea2e160-2269-4dde-9063-734c72cb7255"
|
312
311
|
},
|
313
312
|
{
|
314
|
-
"uuid": "0a08a2f5-cb37-407d-9bf7-d499b0e16258",
|
315
|
-
"slug": "anagram",
|
316
313
|
"core": false,
|
317
|
-
"unlocked_by": null,
|
318
314
|
"difficulty": 4,
|
315
|
+
"slug": "anagram",
|
319
316
|
"topics": [
|
320
|
-
"
|
321
|
-
"
|
322
|
-
]
|
317
|
+
"filtering",
|
318
|
+
"strings"
|
319
|
+
],
|
320
|
+
"unlocked_by": null,
|
321
|
+
"uuid": "0a08a2f5-cb37-407d-9bf7-d499b0e16258"
|
323
322
|
},
|
324
323
|
{
|
325
|
-
"uuid": "1644b429-041b-4cdb-a023-e6ce74c8fc89",
|
326
|
-
"slug": "acronym",
|
327
324
|
"core": false,
|
328
|
-
"unlocked_by": null,
|
329
325
|
"difficulty": 4,
|
326
|
+
"slug": "acronym",
|
330
327
|
"topics": [
|
331
|
-
"
|
332
|
-
"
|
333
|
-
]
|
328
|
+
"strings",
|
329
|
+
"transforming"
|
330
|
+
],
|
331
|
+
"unlocked_by": null,
|
332
|
+
"uuid": "1644b429-041b-4cdb-a023-e6ce74c8fc89"
|
334
333
|
},
|
335
334
|
{
|
336
|
-
"uuid": "8fe580b5-23e5-4120-9b8b-bb43240da325",
|
337
|
-
"slug": "all-your-base",
|
338
335
|
"core": false,
|
339
|
-
"unlocked_by": null,
|
340
336
|
"difficulty": 4,
|
337
|
+
"slug": "all-your-base",
|
341
338
|
"topics": [
|
342
|
-
"
|
343
|
-
"
|
344
|
-
]
|
339
|
+
"integers",
|
340
|
+
"transforming"
|
341
|
+
],
|
342
|
+
"unlocked_by": null,
|
343
|
+
"uuid": "8fe580b5-23e5-4120-9b8b-bb43240da325"
|
345
344
|
},
|
346
345
|
{
|
347
|
-
"uuid": "12c53e14-9184-42ca-86a1-fc7cb8ae8401",
|
348
|
-
"slug": "largest-series-product",
|
349
346
|
"core": false,
|
350
|
-
"unlocked_by": null,
|
351
347
|
"difficulty": 4,
|
348
|
+
"slug": "largest-series-product",
|
352
349
|
"topics": [
|
353
|
-
"
|
354
|
-
"
|
355
|
-
"
|
356
|
-
]
|
350
|
+
"integers",
|
351
|
+
"strings",
|
352
|
+
"transforming"
|
353
|
+
],
|
354
|
+
"unlocked_by": null,
|
355
|
+
"uuid": "12c53e14-9184-42ca-86a1-fc7cb8ae8401"
|
357
356
|
},
|
358
357
|
{
|
359
|
-
"uuid": "567478d0-b93b-48fe-a727-d1969f9097ad",
|
360
|
-
"slug": "pangram",
|
361
358
|
"core": false,
|
362
|
-
"unlocked_by": null,
|
363
359
|
"difficulty": 4,
|
360
|
+
"slug": "pangram",
|
364
361
|
"topics": [
|
365
|
-
"
|
366
|
-
"
|
367
|
-
"
|
368
|
-
]
|
362
|
+
"searching",
|
363
|
+
"strings",
|
364
|
+
"transforming"
|
365
|
+
],
|
366
|
+
"unlocked_by": null,
|
367
|
+
"uuid": "567478d0-b93b-48fe-a727-d1969f9097ad"
|
369
368
|
},
|
370
369
|
{
|
371
|
-
"uuid": "a6b0237b-3eeb-449c-92dc-d950fd379713",
|
372
|
-
"slug": "transpose",
|
373
370
|
"core": false,
|
374
|
-
"unlocked_by": null,
|
375
371
|
"difficulty": 4,
|
372
|
+
"slug": "transpose",
|
376
373
|
"topics": [
|
377
|
-
"
|
378
|
-
"
|
379
|
-
]
|
374
|
+
"strings",
|
375
|
+
"transforming"
|
376
|
+
],
|
377
|
+
"unlocked_by": null,
|
378
|
+
"uuid": "a6b0237b-3eeb-449c-92dc-d950fd379713"
|
380
379
|
},
|
381
380
|
{
|
382
|
-
"uuid": "1674a32a-3b75-4c75-a90b-d06a9aa01b4c",
|
383
|
-
"slug": "binary-search",
|
384
381
|
"core": false,
|
385
|
-
"unlocked_by": null,
|
386
382
|
"difficulty": 4,
|
383
|
+
"slug": "binary-search",
|
387
384
|
"topics": [
|
388
|
-
"
|
389
|
-
"
|
390
|
-
"
|
391
|
-
]
|
385
|
+
"integers",
|
386
|
+
"recursion",
|
387
|
+
"searching"
|
388
|
+
],
|
389
|
+
"unlocked_by": null,
|
390
|
+
"uuid": "1674a32a-3b75-4c75-a90b-d06a9aa01b4c"
|
392
391
|
},
|
393
392
|
{
|
394
|
-
"uuid": "74b484a9-ad9e-4fc1-820c-eb1bbb1fdb82",
|
395
|
-
"slug": "crypto-square",
|
396
393
|
"core": false,
|
397
|
-
"unlocked_by": null,
|
398
394
|
"difficulty": 4,
|
395
|
+
"slug": "crypto-square",
|
399
396
|
"topics": [
|
400
|
-
"
|
401
|
-
"
|
402
|
-
"
|
403
|
-
]
|
397
|
+
"looping",
|
398
|
+
"strings",
|
399
|
+
"transforming"
|
400
|
+
],
|
401
|
+
"unlocked_by": null,
|
402
|
+
"uuid": "74b484a9-ad9e-4fc1-820c-eb1bbb1fdb82"
|
404
403
|
},
|
405
404
|
{
|
406
|
-
"uuid": "f00fe4b4-7caf-4fe0-b8e6-c1684f71c5f6",
|
407
|
-
"slug": "pascals-triangle",
|
408
405
|
"core": false,
|
409
|
-
"unlocked_by": null,
|
410
406
|
"difficulty": 4,
|
407
|
+
"slug": "pascals-triangle",
|
411
408
|
"topics": [
|
412
|
-
"
|
413
|
-
"
|
414
|
-
"
|
415
|
-
]
|
409
|
+
"lists",
|
410
|
+
"mathematics",
|
411
|
+
"recursion"
|
412
|
+
],
|
413
|
+
"unlocked_by": null,
|
414
|
+
"uuid": "f00fe4b4-7caf-4fe0-b8e6-c1684f71c5f6"
|
416
415
|
},
|
417
416
|
{
|
418
|
-
"uuid": "5afbe74a-af64-4558-938b-d075bc4d1f61",
|
419
|
-
"slug": "bracket-push",
|
420
417
|
"core": false,
|
421
|
-
"unlocked_by": null,
|
422
418
|
"difficulty": 5,
|
419
|
+
"slug": "bracket-push",
|
423
420
|
"topics": [
|
424
|
-
"
|
425
|
-
"
|
426
|
-
"
|
427
|
-
]
|
421
|
+
"conditionals",
|
422
|
+
"looping",
|
423
|
+
"strings"
|
424
|
+
],
|
425
|
+
"unlocked_by": null,
|
426
|
+
"uuid": "5afbe74a-af64-4558-938b-d075bc4d1f61"
|
428
427
|
},
|
429
428
|
{
|
430
|
-
"uuid": "fd0b00f9-0c19-46be-8d34-0f86564bf35e",
|
431
|
-
"slug": "roman-numerals",
|
432
429
|
"core": false,
|
433
|
-
"unlocked_by": null,
|
434
430
|
"difficulty": 5,
|
431
|
+
"slug": "roman-numerals",
|
435
432
|
"topics": [
|
436
|
-
"
|
437
|
-
"
|
438
|
-
]
|
433
|
+
"recursion",
|
434
|
+
"transforming"
|
435
|
+
],
|
436
|
+
"unlocked_by": null,
|
437
|
+
"uuid": "fd0b00f9-0c19-46be-8d34-0f86564bf35e"
|
439
438
|
},
|
440
439
|
{
|
441
|
-
"uuid": "aac1ae62-744a-468f-ba22-53be185c5a6f",
|
442
|
-
"slug": "run-length-encoding",
|
443
440
|
"core": false,
|
444
|
-
"unlocked_by": null,
|
445
441
|
"difficulty": 5,
|
442
|
+
"slug": "run-length-encoding",
|
446
443
|
"topics": [
|
447
|
-
"
|
448
|
-
"
|
449
|
-
]
|
444
|
+
"algorithms",
|
445
|
+
"transforming"
|
446
|
+
],
|
447
|
+
"unlocked_by": null,
|
448
|
+
"uuid": "aac1ae62-744a-468f-ba22-53be185c5a6f"
|
450
449
|
},
|
451
450
|
{
|
452
|
-
"uuid": "989aaedc-4836-4d75-8579-0ac177c58120",
|
453
|
-
"slug": "luhn",
|
454
451
|
"core": false,
|
455
|
-
"unlocked_by": null,
|
456
452
|
"difficulty": 5,
|
453
|
+
"slug": "luhn",
|
457
454
|
"topics": [
|
458
|
-
"
|
459
|
-
"
|
460
|
-
"
|
461
|
-
]
|
455
|
+
"algorithms",
|
456
|
+
"strings",
|
457
|
+
"transforming"
|
458
|
+
],
|
459
|
+
"unlocked_by": null,
|
460
|
+
"uuid": "989aaedc-4836-4d75-8579-0ac177c58120"
|
462
461
|
},
|
463
462
|
{
|
464
|
-
"
|
463
|
+
"core": false,
|
464
|
+
"difficulty": 2,
|
465
465
|
"slug": "rna-transcription",
|
466
|
+
"topics": [
|
467
|
+
"conditionals",
|
468
|
+
"loops",
|
469
|
+
"strings",
|
470
|
+
"transforming"
|
471
|
+
],
|
472
|
+
"unlocked_by": null,
|
473
|
+
"uuid": "cdc9a509-ded9-45b8-b8b1-5903016b77ad"
|
474
|
+
},
|
475
|
+
{
|
466
476
|
"core": false,
|
477
|
+
"difficulty": 3,
|
478
|
+
"slug": "grains",
|
479
|
+
"topics": [
|
480
|
+
"integers"
|
481
|
+
],
|
467
482
|
"unlocked_by": null,
|
468
|
-
"
|
483
|
+
"uuid": "f64b5655-0256-0580-a1dc-5b114910f0f36f0c255"
|
484
|
+
},
|
485
|
+
{
|
486
|
+
"uuid": "8e3d974c-0020-3880-e92e-af4fedd478e00ce788a",
|
487
|
+
"slug": "nth-prime",
|
488
|
+
"core": false,
|
489
|
+
"unlocked_by": null,
|
490
|
+
"difficulty": 4,
|
469
491
|
"topics": [
|
470
|
-
"Strings",
|
471
|
-
"Conditionals",
|
472
492
|
"Loops",
|
473
|
-
"
|
493
|
+
"Integers",
|
494
|
+
"Mathematics"
|
474
495
|
]
|
475
496
|
}
|
476
497
|
],
|
477
|
-
"foregone": [
|
478
|
-
|
479
|
-
|
480
|
-
}
|
498
|
+
"foregone": [],
|
499
|
+
"language": "Objective-C"
|
500
|
+
}
|