trackler 2.2.1.8 → 2.2.1.9

Sign up to get free protection for your applications and to get access to all the features.
Files changed (127) hide show
  1. checksums.yaml +4 -4
  2. data/.gitmodules +0 -6
  3. data/lib/trackler/version.rb +1 -1
  4. data/problem-specifications/exercises/palindrome-products/description.md +5 -5
  5. data/tracks/clojure/config/maintainers.json +45 -0
  6. data/tracks/coq/config.json +1 -1
  7. data/tracks/csharp/config.json +257 -253
  8. data/tracks/delphi/config/maintainers.json +1 -1
  9. data/tracks/erlang/exercises/accumulate/include/exercism.hrl +4 -4
  10. data/tracks/erlang/exercises/accumulate/src/accumulate.erl +8 -0
  11. data/tracks/erlang/exercises/all-your-base/include/exercism.hrl +4 -4
  12. data/tracks/erlang/exercises/all-your-base/src/all_your_base.erl +8 -0
  13. data/tracks/erlang/exercises/allergies/include/exercism.hrl +4 -4
  14. data/tracks/erlang/exercises/allergies/src/allergies.erl +8 -0
  15. data/tracks/erlang/exercises/anagram/include/exercism.hrl +4 -4
  16. data/tracks/erlang/exercises/anagram/src/anagram.erl +8 -0
  17. data/tracks/erlang/exercises/atbash-cipher/include/exercism.hrl +4 -4
  18. data/tracks/erlang/exercises/atbash-cipher/src/atbash_cipher.erl +11 -0
  19. data/tracks/erlang/exercises/bank-account/include/exercism.hrl +4 -4
  20. data/tracks/erlang/exercises/bank-account/src/bank_account.erl +23 -0
  21. data/tracks/erlang/exercises/beer-song/include/exercism.hrl +4 -4
  22. data/tracks/erlang/exercises/beer-song/src/beer_song.erl +14 -0
  23. data/tracks/erlang/exercises/bob/include/exercism.hrl +4 -4
  24. data/tracks/erlang/exercises/bob/src/bob.erl +8 -0
  25. data/tracks/erlang/exercises/circular-buffer/include/exercism.hrl +4 -4
  26. data/tracks/erlang/exercises/circular-buffer/src/circular_buffer.erl +20 -0
  27. data/tracks/erlang/exercises/clock/include/exercism.hrl +4 -4
  28. data/tracks/erlang/exercises/clock/src/clock.erl +17 -0
  29. data/tracks/erlang/exercises/collatz-conjecture/include/exercism.hrl +4 -4
  30. data/tracks/erlang/exercises/collatz-conjecture/src/collatz_conjecture.erl +9 -0
  31. data/tracks/erlang/exercises/difference-of-squares/include/exercism.hrl +4 -4
  32. data/tracks/erlang/exercises/difference-of-squares/src/difference_of_squares.erl +14 -0
  33. data/tracks/erlang/exercises/etl/include/exercism.hrl +4 -4
  34. data/tracks/erlang/exercises/etl/src/etl.erl +8 -0
  35. data/tracks/erlang/exercises/gigasecond/include/exercism.hrl +4 -4
  36. data/tracks/erlang/exercises/gigasecond/src/gigasecond.erl +8 -0
  37. data/tracks/erlang/exercises/grade-school/include/exercism.hrl +4 -4
  38. data/tracks/erlang/exercises/grade-school/src/grade_school.erl +17 -0
  39. data/tracks/erlang/exercises/grains/include/exercism.hrl +4 -4
  40. data/tracks/erlang/exercises/grains/src/grains.erl +11 -0
  41. data/tracks/erlang/exercises/hamming/include/exercism.hrl +4 -4
  42. data/tracks/erlang/exercises/hamming/src/hamming.erl +8 -0
  43. data/tracks/erlang/exercises/hello-world/include/exercism.hrl +4 -4
  44. data/tracks/erlang/exercises/hello-world/src/hello_world.erl +8 -0
  45. data/tracks/erlang/exercises/largest-series-product/include/exercism.hrl +4 -4
  46. data/tracks/erlang/exercises/largest-series-product/src/largest_series_product.erl +8 -0
  47. data/tracks/erlang/exercises/leap/include/exercism.hrl +4 -4
  48. data/tracks/erlang/exercises/leap/src/leap.erl +8 -0
  49. data/tracks/erlang/exercises/luhn/include/exercism.hrl +4 -4
  50. data/tracks/erlang/exercises/luhn/src/luhn.erl +11 -0
  51. data/tracks/erlang/exercises/meetup/include/exercism.hrl +4 -4
  52. data/tracks/erlang/exercises/meetup/src/meetup.erl +8 -0
  53. data/tracks/erlang/exercises/nucleotide-count/include/exercism.hrl +4 -4
  54. data/tracks/erlang/exercises/nucleotide-count/src/nucleotide_count.erl +11 -0
  55. data/tracks/erlang/exercises/parallel-letter-frequency/include/exercism.hrl +4 -4
  56. data/tracks/erlang/exercises/parallel-letter-frequency/src/parallel_letter_frequency.erl +8 -0
  57. data/tracks/erlang/exercises/phone-number/include/exercism.hrl +4 -4
  58. data/tracks/erlang/exercises/phone-number/src/phone_number.erl +14 -0
  59. data/tracks/erlang/exercises/rna-transcription/include/exercism.hrl +4 -4
  60. data/tracks/erlang/exercises/rna-transcription/src/rna_transcription.erl +8 -0
  61. data/tracks/erlang/exercises/robot-simulator/include/exercism.hrl +4 -4
  62. data/tracks/erlang/exercises/robot-simulator/src/robot_simulator.erl +29 -0
  63. data/tracks/erlang/exercises/roman-numerals/include/exercism.hrl +4 -4
  64. data/tracks/erlang/exercises/roman-numerals/src/roman_numerals.erl +8 -0
  65. data/tracks/erlang/exercises/rotational-cipher/include/exercism.hrl +4 -4
  66. data/tracks/erlang/exercises/rotational-cipher/src/rotational_cipher.erl +11 -0
  67. data/tracks/erlang/exercises/scrabble-score/include/exercism.hrl +4 -4
  68. data/tracks/erlang/exercises/scrabble-score/src/scrabble_score.erl +8 -0
  69. data/tracks/erlang/exercises/series/include/exercism.hrl +4 -4
  70. data/tracks/erlang/exercises/series/src/series.erl +8 -0
  71. data/tracks/erlang/exercises/space-age/include/exercism.hrl +4 -4
  72. data/tracks/erlang/exercises/space-age/src/space_age.erl +8 -0
  73. data/tracks/erlang/exercises/spiral-matrix/include/exercism.hrl +4 -4
  74. data/tracks/erlang/exercises/spiral-matrix/src/spiral_matrix.erl +8 -0
  75. data/tracks/erlang/exercises/strain/include/exercism.hrl +4 -4
  76. data/tracks/erlang/exercises/strain/src/strain.erl +11 -0
  77. data/tracks/erlang/exercises/sum-of-multiples/include/exercism.hrl +4 -4
  78. data/tracks/erlang/exercises/sum-of-multiples/src/sum_of_multiples.erl +8 -0
  79. data/tracks/erlang/exercises/triangle/include/exercism.hrl +4 -4
  80. data/tracks/erlang/exercises/triangle/src/triangle.erl +8 -0
  81. data/tracks/erlang/exercises/word-count/include/exercism.hrl +4 -4
  82. data/tracks/erlang/exercises/word-count/src/word_count.erl +8 -0
  83. data/tracks/erlang/exercises/zipper/include/exercism.hrl +4 -4
  84. data/tracks/erlang/exercises/zipper/src/example.erl +2 -6
  85. data/tracks/erlang/exercises/zipper/src/zipper.erl +37 -0
  86. data/tracks/erlang/exercises/zipper/test/zipper_tests.erl +1 -1
  87. data/tracks/factor/config/maintainers.json +15 -0
  88. data/tracks/fsharp/config.json +249 -248
  89. data/tracks/go/config.json +93 -34
  90. data/tracks/julia/README.md +3 -3
  91. data/tracks/julia/config/maintainers.json +15 -0
  92. data/tracks/rust/config.json +10 -0
  93. data/tracks/rust/exercises/accumulate/.meta/hints.md +10 -0
  94. data/tracks/rust/exercises/accumulate/Cargo.lock +4 -0
  95. data/tracks/rust/exercises/accumulate/Cargo.toml +6 -0
  96. data/tracks/rust/exercises/accumulate/README.md +79 -0
  97. data/tracks/rust/exercises/accumulate/example.rs +15 -0
  98. data/tracks/{chapel/docs/ABOUT.md → rust/exercises/accumulate/src/lib.rs} +0 -0
  99. data/tracks/rust/exercises/accumulate/tests/accumulate.rs +94 -0
  100. metadata +50 -30
  101. data/tracks/chapel/.git +0 -1
  102. data/tracks/chapel/.gitignore +0 -4
  103. data/tracks/chapel/.travis.yml +0 -5
  104. data/tracks/chapel/LICENSE +0 -21
  105. data/tracks/chapel/README.md +0 -11
  106. data/tracks/chapel/bin/fetch-configlet +0 -32
  107. data/tracks/chapel/config/exercise_readme.go.tmpl +0 -16
  108. data/tracks/chapel/config/maintainers.json +0 -5
  109. data/tracks/chapel/config.json +0 -11
  110. data/tracks/chapel/docs/EXERCISE_README_INSERT.md +0 -0
  111. data/tracks/chapel/docs/INSTALLATION.md +0 -0
  112. data/tracks/chapel/docs/LEARNING.md +0 -0
  113. data/tracks/chapel/docs/RESOURCES.md +0 -0
  114. data/tracks/chapel/docs/TESTS.md +0 -0
  115. data/tracks/chapel/exercises/.keep +0 -0
  116. data/tracks/chapel/img/.keep +0 -0
  117. data/tracks/nasm/.git +0 -1
  118. data/tracks/nasm/.gitignore +0 -2
  119. data/tracks/nasm/.travis.yml +0 -6
  120. data/tracks/nasm/LICENSE +0 -21
  121. data/tracks/nasm/README.md +0 -11
  122. data/tracks/nasm/bin/fetch-configlet +0 -32
  123. data/tracks/nasm/config/exercise_readme.go.tmpl +0 -16
  124. data/tracks/nasm/config.json +0 -11
  125. data/tracks/nasm/docs/EXERCISE_README_INSERT.md +0 -0
  126. data/tracks/nasm/exercises/.keep +0 -0
  127. data/tracks/nasm/img/icon.png +0 -0
@@ -5,17 +5,28 @@
5
5
  {
6
6
  "uuid": "6c88f46b-5acb-4fae-a6ec-b48ae3f8168f",
7
7
  "slug": "hello-world",
8
- "core": false,
8
+ "core": true,
9
9
  "unlocked_by": null,
10
10
  "difficulty": 1,
11
11
  "topics": [
12
- "Text formatting"
12
+ "Strings"
13
+ ]
14
+ },
15
+ {
16
+ "uuid": "8ba15933-29a2-49b1-a9ce-70474bad3007",
17
+ "slug": "leap",
18
+ "core": true,
19
+ "unlocked_by": null,
20
+ "difficulty": 1,
21
+ "topics": [
22
+ "Integers",
23
+ "Control-flow (if-else statements)"
13
24
  ]
14
25
  },
15
26
  {
16
27
  "uuid": "da00f894-dbc8-485e-adba-a79d5ebee3ad",
17
28
  "slug": "bob",
18
- "core": false,
29
+ "core": true,
19
30
  "unlocked_by": null,
20
31
  "difficulty": 1,
21
32
  "topics": [
@@ -24,158 +35,217 @@
24
35
  ]
25
36
  },
26
37
  {
27
- "uuid": "8ba15933-29a2-49b1-a9ce-70474bad3007",
28
- "slug": "leap",
29
- "core": false,
38
+ "uuid": "d985d4a9-1a2b-4bb1-ad08-961b8d36ee2e",
39
+ "slug": "sum-of-multiples",
40
+ "core": true,
30
41
  "unlocked_by": null,
31
42
  "difficulty": 1,
32
43
  "topics": [
33
- "Integers"
44
+ "Arrays",
45
+ "Transforming"
34
46
  ]
35
47
  },
36
48
  {
37
- "uuid": "b7116dfb-1107-4546-9f95-f15acdb6f6a4",
38
- "slug": "gigasecond",
39
- "core": false,
49
+ "uuid": "29ae7f8e-a009-4175-9350-a8c684c89730",
50
+ "slug": "raindrops",
51
+ "core": true,
40
52
  "unlocked_by": null,
41
- "difficulty": 1,
53
+ "difficulty": 2,
42
54
  "topics": [
43
- "Dates"
55
+ "Text formatting",
56
+ "Filtering"
44
57
  ]
45
58
  },
46
59
  {
47
- "uuid": "5554c048-0de3-4a85-b043-7577f429cba4",
48
- "slug": "difference-of-squares",
49
- "core": false,
60
+ "uuid": "caca1c6a-b998-431e-b6af-ca2d47b7708f",
61
+ "slug": "nucleotide-count",
62
+ "core": true,
50
63
  "unlocked_by": null,
51
- "difficulty": 1,
64
+ "difficulty": 2,
52
65
  "topics": [
53
- "Integers"
66
+ "Dictionaries",
67
+ "Strings"
54
68
  ]
55
69
  },
56
70
  {
57
- "uuid": "440b0b23-220d-4706-98f0-9a89fce85acb",
58
- "slug": "rna-transcription",
59
- "core": false,
71
+ "uuid": "3c0563dc-665a-45b4-9b29-f133e235efd0",
72
+ "slug": "accumulate",
73
+ "core": true,
60
74
  "unlocked_by": null,
61
- "difficulty": 1,
75
+ "difficulty": 2,
62
76
  "topics": [
63
- "Strings",
77
+ "Extension methods",
78
+ "Sequences",
64
79
  "Transforming"
65
80
  ]
66
81
  },
67
82
  {
68
- "uuid": "d985d4a9-1a2b-4bb1-ad08-961b8d36ee2e",
69
- "slug": "sum-of-multiples",
70
- "core": false,
83
+ "uuid": "ec1cc254-8e66-40d0-87bf-971d54c541c4",
84
+ "slug": "grade-school",
85
+ "core": true,
71
86
  "unlocked_by": null,
72
- "difficulty": 1,
87
+ "difficulty": 2,
73
88
  "topics": [
74
- "Arrays",
75
- "Transforming"
89
+ "Lists",
90
+ "Sorting"
76
91
  ]
77
92
  },
78
93
  {
79
- "uuid": "612f058b-c6d9-4c97-913a-eeeb59ef61e1",
80
- "slug": "space-age",
81
- "core": false,
94
+ "uuid": "b7458404-2534-4ed8-8350-7060fa4b5786",
95
+ "slug": "kindergarten-garden",
96
+ "core": true,
82
97
  "unlocked_by": null,
83
- "difficulty": 1,
98
+ "difficulty": 3,
84
99
  "topics": [
85
- "Floating-point numbers"
100
+ "Parsing",
101
+ "Enumerations"
86
102
  ]
87
103
  },
88
104
  {
89
- "uuid": "05162ee0-38ac-40ad-a591-d70a74b6963a",
90
- "slug": "hamming",
91
- "core": false,
105
+ "uuid": "83e4cb1e-456f-4c74-ae82-6895f0bd73ae",
106
+ "slug": "clock",
107
+ "core": true,
92
108
  "unlocked_by": null,
93
- "difficulty": 2,
109
+ "difficulty": 3,
94
110
  "topics": [
95
- "Strings",
111
+ "Classes",
112
+ "Structural equality"
113
+ ]
114
+ },
115
+ {
116
+ "uuid": "f92ff94a-73e6-41cb-a376-835c2368b358",
117
+ "slug": "binary-search",
118
+ "core": true,
119
+ "unlocked_by": null,
120
+ "difficulty": 3,
121
+ "topics": [
122
+ "Searching",
123
+ "Arrays"
124
+ ]
125
+ },
126
+ {
127
+ "uuid": "2ac228d8-7bf0-4946-8352-6541df02c0a2",
128
+ "slug": "allergies",
129
+ "core": true,
130
+ "unlocked_by": null,
131
+ "difficulty": 4,
132
+ "topics": [
133
+ "Bitwise operations",
96
134
  "Filtering"
97
135
  ]
98
136
  },
99
137
  {
100
- "uuid": "372c71b6-6256-4fe2-bddc-55667e3861af",
101
- "slug": "grains",
102
- "core": false,
138
+ "uuid": "cb755a7d-e01d-4758-92ab-9d2e6518a3eb",
139
+ "slug": "saddle-points",
140
+ "core": true,
103
141
  "unlocked_by": null,
104
- "difficulty": 2,
142
+ "difficulty": 4,
105
143
  "topics": [
106
- "Integers"
144
+ "Matrices",
145
+ "Arrays",
146
+ "Tuples"
107
147
  ]
108
148
  },
109
149
  {
110
- "uuid": "a595d7a1-81d3-48f2-9921-e53b9b22e072",
111
- "slug": "pangram",
112
- "core": false,
150
+ "uuid": "dee4abe1-c75f-4cb8-b5f3-5b5b77e1c7aa",
151
+ "slug": "markdown",
152
+ "core": true,
113
153
  "unlocked_by": null,
114
- "difficulty": 2,
154
+ "difficulty": 5,
115
155
  "topics": [
116
- "Strings"
156
+ "Parsing",
157
+ "Transforming",
158
+ "Refactoring"
117
159
  ]
118
160
  },
119
161
  {
120
- "uuid": "29ae7f8e-a009-4175-9350-a8c684c89730",
121
- "slug": "raindrops",
162
+ "uuid": "8288d3e0-75a4-4a18-94c7-2fab3228dc58",
163
+ "slug": "book-store",
164
+ "core": true,
165
+ "unlocked_by": null,
166
+ "difficulty": 5,
167
+ "topics": [
168
+ "Recursion"
169
+ ]
170
+ },
171
+ {
172
+ "uuid": "b7116dfb-1107-4546-9f95-f15acdb6f6a4",
173
+ "slug": "gigasecond",
122
174
  "core": false,
123
175
  "unlocked_by": null,
124
- "difficulty": 2,
176
+ "difficulty": 1,
125
177
  "topics": [
126
- "Text formatting",
127
- "Filtering"
178
+ "Dates"
128
179
  ]
129
- },
180
+ },
130
181
  {
131
- "uuid": "caca1c6a-b998-431e-b6af-ca2d47b7708f",
132
- "slug": "nucleotide-count",
182
+ "uuid": "440b0b23-220d-4706-98f0-9a89fce85acb",
183
+ "slug": "rna-transcription",
133
184
  "core": false,
134
185
  "unlocked_by": null,
135
- "difficulty": 2,
186
+ "difficulty": 1,
136
187
  "topics": [
137
- "Dictionaries",
138
- "Strings"
188
+ "Strings",
189
+ "Transforming"
139
190
  ]
140
- },
191
+ },
141
192
  {
142
- "uuid": "3c0563dc-665a-45b4-9b29-f133e235efd0",
143
- "slug": "accumulate",
193
+ "uuid": "612f058b-c6d9-4c97-913a-eeeb59ef61e1",
194
+ "slug": "space-age",
144
195
  "core": false,
145
196
  "unlocked_by": null,
197
+ "difficulty": 1,
198
+ "topics": [
199
+ "Floating-point numbers"
200
+ ]
201
+ },
202
+ {
203
+ "uuid": "5554c048-0de3-4a85-b043-7577f429cba4",
204
+ "slug": "difference-of-squares",
205
+ "core": false,
206
+ "unlocked_by": "leap",
207
+ "difficulty": 1,
208
+ "topics": [
209
+ "Integers",
210
+ "Control-flow (loops)"
211
+ ]
212
+ },
213
+ {
214
+ "uuid": "05162ee0-38ac-40ad-a591-d70a74b6963a",
215
+ "slug": "hamming",
216
+ "core": false,
217
+ "unlocked_by": "hello-world",
146
218
  "difficulty": 2,
147
219
  "topics": [
148
- "Extension methods",
149
- "Sequences",
150
- "Transforming"
220
+ "Strings",
221
+ "Filtering"
151
222
  ]
152
223
  },
153
224
  {
154
- "uuid": "96c641c8-4c3c-47ff-9e32-9722b5ca2c37",
155
- "slug": "bank-account",
225
+ "uuid": "372c71b6-6256-4fe2-bddc-55667e3861af",
226
+ "slug": "grains",
156
227
  "core": false,
157
- "unlocked_by": null,
228
+ "unlocked_by": "leap",
158
229
  "difficulty": 2,
159
230
  "topics": [
160
- "Classes"
231
+ "Integers"
161
232
  ]
162
233
  },
163
234
  {
164
- "uuid": "ec1cc254-8e66-40d0-87bf-971d54c541c4",
165
- "slug": "grade-school",
235
+ "uuid": "a595d7a1-81d3-48f2-9921-e53b9b22e072",
236
+ "slug": "pangram",
166
237
  "core": false,
167
- "unlocked_by": null,
238
+ "unlocked_by": "hello-world",
168
239
  "difficulty": 2,
169
240
  "topics": [
170
- "Lists",
171
- "Sorting"
241
+ "Strings"
172
242
  ]
173
243
  },
174
244
  {
175
245
  "uuid": "36b7602c-44e2-4589-a97d-127a0277b2a2",
176
246
  "slug": "etl",
177
247
  "core": false,
178
- "unlocked_by": null,
248
+ "unlocked_by": "nucleotide-count",
179
249
  "difficulty": 2,
180
250
  "topics": [
181
251
  "Dictionaries",
@@ -187,7 +257,7 @@
187
257
  "uuid": "5675771e-1a46-40bd-8923-f6e09642cc0c",
188
258
  "slug": "phone-number",
189
259
  "core": false,
190
- "unlocked_by": null,
260
+ "unlocked_by": "sum-of-multiples",
191
261
  "difficulty": 3,
192
262
  "topics": [
193
263
  "Parsing",
@@ -198,7 +268,7 @@
198
268
  "uuid": "fdb19da7-28df-429b-83e5-d024abe97870",
199
269
  "slug": "strain",
200
270
  "core": false,
201
- "unlocked_by": null,
271
+ "unlocked_by": "raindrops",
202
272
  "difficulty": 3,
203
273
  "topics": [
204
274
  "Sequences",
@@ -209,7 +279,7 @@
209
279
  "uuid": "89c42da3-72a6-423d-a9c7-7caccbd9b1e6",
210
280
  "slug": "scrabble-score",
211
281
  "core": false,
212
- "unlocked_by": null,
282
+ "unlocked_by": "sum-of-multiples",
213
283
  "difficulty": 3,
214
284
  "topics": [
215
285
  "Transforming"
@@ -219,7 +289,7 @@
219
289
  "uuid": "b0a978a6-9c3f-427e-8ada-0a3951ca14fd",
220
290
  "slug": "proverb",
221
291
  "core": false,
222
- "unlocked_by": null,
292
+ "unlocked_by": "raindrops",
223
293
  "difficulty": 3,
224
294
  "topics": [
225
295
  "Text formatting",
@@ -230,7 +300,7 @@
230
300
  "uuid": "46b8aea8-1528-43cb-a754-495ec2790ce2",
231
301
  "slug": "robot-name",
232
302
  "core": false,
233
- "unlocked_by": null,
303
+ "unlocked_by": "hello-world",
234
304
  "difficulty": 3,
235
305
  "topics": [
236
306
  "Randomness",
@@ -238,32 +308,11 @@
238
308
  "Classes"
239
309
  ]
240
310
  },
241
- {
242
- "uuid": "77e46f6b-1070-4267-a1b5-a2aac931975a",
243
- "slug": "error-handling",
244
- "core": false,
245
- "unlocked_by": null,
246
- "difficulty": 3,
247
- "topics": [
248
- "Exception handling"
249
- ]
250
- },
251
- {
252
- "uuid": "b7458404-2534-4ed8-8350-7060fa4b5786",
253
- "slug": "kindergarten-garden",
254
- "core": false,
255
- "unlocked_by": null,
256
- "difficulty": 3,
257
- "topics": [
258
- "Parsing",
259
- "Enumerations"
260
- ]
261
- },
262
311
  {
263
312
  "uuid": "75a2d5f0-5f5e-46a3-9dd2-3da415690e18",
264
313
  "slug": "protein-translation",
265
314
  "core": false,
266
- "unlocked_by": null,
315
+ "unlocked_by": "hello-world",
267
316
  "difficulty": 3,
268
317
  "topics": [
269
318
  "Strings",
@@ -272,31 +321,30 @@
272
321
  ]
273
322
  },
274
323
  {
275
- "uuid": "142c97b6-ae31-4b5f-944c-3eb789d9e051",
276
- "slug": "perfect-numbers",
324
+ "uuid": "77e46f6b-1070-4267-a1b5-a2aac931975a",
325
+ "slug": "error-handling",
277
326
  "core": false,
278
- "unlocked_by": null,
327
+ "unlocked_by": "bob",
279
328
  "difficulty": 3,
280
329
  "topics": [
281
- "Integers"
330
+ "Exception handling"
282
331
  ]
283
332
  },
284
333
  {
285
- "uuid": "83e4cb1e-456f-4c74-ae82-6895f0bd73ae",
286
- "slug": "clock",
334
+ "uuid": "142c97b6-ae31-4b5f-944c-3eb789d9e051",
335
+ "slug": "perfect-numbers",
287
336
  "core": false,
288
- "unlocked_by": null,
337
+ "unlocked_by": "leap",
289
338
  "difficulty": 3,
290
339
  "topics": [
291
- "Time",
292
- "Structural equality"
340
+ "Integers"
293
341
  ]
294
342
  },
295
343
  {
296
344
  "uuid": "5b1713c7-1597-4e67-ac97-f305b207bc38",
297
345
  "slug": "triangle",
298
346
  "core": false,
299
- "unlocked_by": null,
347
+ "unlocked_by": "leap",
300
348
  "difficulty": 3,
301
349
  "topics": [
302
350
  "Integers",
@@ -307,7 +355,7 @@
307
355
  "uuid": "4ae402a7-5345-429a-a6af-e95ec5b95e13",
308
356
  "slug": "beer-song",
309
357
  "core": false,
310
- "unlocked_by": null,
358
+ "unlocked_by": "raindrops",
311
359
  "difficulty": 3,
312
360
  "topics": [
313
361
  "Text formatting",
@@ -318,7 +366,7 @@
318
366
  "uuid": "1897605a-afd4-49fe-b6ee-cd822f0d8acc",
319
367
  "slug": "sieve",
320
368
  "core": false,
321
- "unlocked_by": null,
369
+ "unlocked_by": "raindrops",
322
370
  "difficulty": 3,
323
371
  "topics": [
324
372
  "Filtering",
@@ -329,28 +377,17 @@
329
377
  "uuid": "5c56211a-ae1e-4836-80b5-f22f5801b7a2",
330
378
  "slug": "queen-attack",
331
379
  "core": false,
332
- "unlocked_by": null,
380
+ "unlocked_by": "clock",
333
381
  "difficulty": 3,
334
382
  "topics": [
335
383
  "Classes"
336
384
  ]
337
385
  },
338
- {
339
- "uuid": "f92ff94a-73e6-41cb-a376-835c2368b358",
340
- "slug": "binary-search",
341
- "core": false,
342
- "unlocked_by": null,
343
- "difficulty": 3,
344
- "topics": [
345
- "Searching",
346
- "Arrays"
347
- ]
348
- },
349
386
  {
350
387
  "uuid": "babd38cc-cf21-42ca-9d33-f2ad75c82871",
351
388
  "slug": "robot-simulator",
352
389
  "core": false,
353
- "unlocked_by": null,
390
+ "unlocked_by": "clock",
354
391
  "difficulty": 3,
355
392
  "topics": [
356
393
  "Classes",
@@ -361,7 +398,7 @@
361
398
  "uuid": "4b7b65be-f777-4f64-94a0-4f9832f17a52",
362
399
  "slug": "isogram",
363
400
  "core": false,
364
- "unlocked_by": null,
401
+ "unlocked_by": "hello-world",
365
402
  "difficulty": 3,
366
403
  "topics": [
367
404
  "Strings",
@@ -372,7 +409,7 @@
372
409
  "uuid": "1ad236a9-7035-42e6-90ec-f6a4b94ad495",
373
410
  "slug": "secret-handshake",
374
411
  "core": false,
375
- "unlocked_by": null,
412
+ "unlocked_by": "sum-of-multiples",
376
413
  "difficulty": 3,
377
414
  "topics": [
378
415
  "Bitwise operations",
@@ -380,43 +417,43 @@
380
417
  ]
381
418
  },
382
419
  {
383
- "uuid": "2ac228d8-7bf0-4946-8352-6541df02c0a2",
384
- "slug": "allergies",
420
+ "uuid": "96c641c8-4c3c-47ff-9e32-9722b5ca2c37",
421
+ "slug": "bank-account",
385
422
  "core": false,
386
- "unlocked_by": null,
423
+ "unlocked_by": "clock",
387
424
  "difficulty": 4,
388
425
  "topics": [
389
- "Bitwise operations",
390
- "Filtering"
426
+ "Classes",
427
+ "Concurrency"
391
428
  ]
392
429
  },
393
430
  {
394
- "uuid": "2d68e971-d717-4196-a348-d4675a47283a",
395
- "slug": "simple-linked-list",
431
+ "uuid": "ddfb0a0e-8c58-4b9e-ad62-57d06ef10f5f",
432
+ "slug": "acronym",
396
433
  "core": false,
397
- "unlocked_by": null,
434
+ "unlocked_by": "hello-world",
398
435
  "difficulty": 4,
399
436
  "topics": [
400
- "Classes",
401
- "Lists"
437
+ "Strings",
438
+ "Transforming"
402
439
  ]
403
440
  },
404
441
  {
405
- "uuid": "ddfb0a0e-8c58-4b9e-ad62-57d06ef10f5f",
406
- "slug": "acronym",
442
+ "uuid": "2d68e971-d717-4196-a348-d4675a47283a",
443
+ "slug": "simple-linked-list",
407
444
  "core": false,
408
- "unlocked_by": null,
445
+ "unlocked_by": "clock",
409
446
  "difficulty": 4,
410
447
  "topics": [
411
- "Strings",
412
- "Transforming"
448
+ "Classes",
449
+ "Lists"
413
450
  ]
414
451
  },
415
452
  {
416
453
  "uuid": "73509caa-9b3e-4d09-933f-364c1a7e5519",
417
454
  "slug": "matrix",
418
455
  "core": false,
419
- "unlocked_by": null,
456
+ "unlocked_by": "kindergarten-garden",
420
457
  "difficulty": 4,
421
458
  "topics": [
422
459
  "Matrices",
@@ -427,7 +464,7 @@
427
464
  "uuid": "8a0a291d-8330-4901-bdbe-f974e163158e",
428
465
  "slug": "rotational-cipher",
429
466
  "core": false,
430
- "unlocked_by": null,
467
+ "unlocked_by": "bob",
431
468
  "difficulty": 4,
432
469
  "topics": [
433
470
  "Strings",
@@ -439,7 +476,7 @@
439
476
  "uuid": "4a6621bb-e55a-4ae2-89e3-3aa7e37a8656",
440
477
  "slug": "largest-series-product",
441
478
  "core": false,
442
- "unlocked_by": null,
479
+ "unlocked_by": "leap",
443
480
  "difficulty": 4,
444
481
  "topics": [
445
482
  "Strings",
@@ -451,30 +488,18 @@
451
488
  "uuid": "97aa0e82-2fc3-49e2-ad27-faef2873b328",
452
489
  "slug": "house",
453
490
  "core": false,
454
- "unlocked_by": null,
491
+ "unlocked_by": "raindrops",
455
492
  "difficulty": 4,
456
493
  "topics": [
457
494
  "Text formatting",
458
495
  "Algorithms"
459
496
  ]
460
497
  },
461
- {
462
- "uuid": "cb755a7d-e01d-4758-92ab-9d2e6518a3eb",
463
- "slug": "saddle-points",
464
- "core": false,
465
- "unlocked_by": null,
466
- "difficulty": 4,
467
- "topics": [
468
- "Matrices",
469
- "Arrays",
470
- "Tuples"
471
- ]
472
- },
473
498
  {
474
499
  "uuid": "4d5a53df-3d6b-46cb-a964-71c676f3cd93",
475
500
  "slug": "pythagorean-triplet",
476
501
  "core": false,
477
- "unlocked_by": null,
502
+ "unlocked_by": "leap",
478
503
  "difficulty": 4,
479
504
  "topics": [
480
505
  "Overloading",
@@ -486,7 +511,7 @@
486
511
  "uuid": "9ca46617-4995-45cc-a2dd-b8630eaa288b",
487
512
  "slug": "series",
488
513
  "core": false,
489
- "unlocked_by": null,
514
+ "unlocked_by": "sum-of-multiples",
490
515
  "difficulty": 4,
491
516
  "topics": [
492
517
  "Strings",
@@ -498,7 +523,7 @@
498
523
  "uuid": "2627fb4f-7884-4494-8f49-5888107643f1",
499
524
  "slug": "twelve-days",
500
525
  "core": false,
501
- "unlocked_by": null,
526
+ "unlocked_by": "bob",
502
527
  "difficulty": 4,
503
528
  "topics": [
504
529
  "Text formatting",
@@ -509,7 +534,7 @@
509
534
  "uuid": "790216d1-4fd9-4a9b-94f8-e1e07a18c2b7",
510
535
  "slug": "anagram",
511
536
  "core": false,
512
- "unlocked_by": null,
537
+ "unlocked_by": "bob",
513
538
  "difficulty": 4,
514
539
  "topics": [
515
540
  "Strings",
@@ -520,7 +545,7 @@
520
545
  "uuid": "6e8717a7-6888-474a-96ad-0760c6d3ff92",
521
546
  "slug": "word-count",
522
547
  "core": false,
523
- "unlocked_by": null,
548
+ "unlocked_by": "bob",
524
549
  "difficulty": 4,
525
550
  "topics": [
526
551
  "Strings",
@@ -532,7 +557,7 @@
532
557
  "uuid": "456ffe2c-e241-4373-8bea-d4d328f815e9",
533
558
  "slug": "prime-factors",
534
559
  "core": false,
535
- "unlocked_by": null,
560
+ "unlocked_by": "leap",
536
561
  "difficulty": 4,
537
562
  "topics": [
538
563
  "Integers",
@@ -543,7 +568,7 @@
543
568
  "uuid": "064096c1-89b0-4656-bd3e-08ca833aa0b1",
544
569
  "slug": "meetup",
545
570
  "core": false,
546
- "unlocked_by": null,
571
+ "unlocked_by": "accumulate",
547
572
  "difficulty": 4,
548
573
  "topics": [
549
574
  "Dates"
@@ -553,7 +578,7 @@
553
578
  "uuid": "de5e2eff-2b80-4996-a322-dc59ebe25edd",
554
579
  "slug": "all-your-base",
555
580
  "core": false,
556
- "unlocked_by": null,
581
+ "unlocked_by": "accumulate",
557
582
  "difficulty": 4,
558
583
  "topics": [
559
584
  "Integers",
@@ -564,7 +589,7 @@
564
589
  "uuid": "d5d48857-5325-45d2-9969-95a0d7bba370",
565
590
  "slug": "pascals-triangle",
566
591
  "core": false,
567
- "unlocked_by": null,
592
+ "unlocked_by": "accumulate",
568
593
  "difficulty": 4,
569
594
  "topics": [
570
595
  "Control-flow (loops)",
@@ -576,7 +601,7 @@
576
601
  "uuid": "3b5b11b0-9476-4d9b-a4c5-c5c48d3d32a8",
577
602
  "slug": "list-ops",
578
603
  "core": false,
579
- "unlocked_by": null,
604
+ "unlocked_by": "grade-school",
580
605
  "difficulty": 5,
581
606
  "topics": [
582
607
  "Lists",
@@ -587,7 +612,7 @@
587
612
  "uuid": "54649fb0-6b14-44df-85af-ae1f7a62449d",
588
613
  "slug": "simple-cipher",
589
614
  "core": false,
590
- "unlocked_by": null,
615
+ "unlocked_by": "accumulate",
591
616
  "difficulty": 5,
592
617
  "topics": [
593
618
  "Strings",
@@ -599,7 +624,7 @@
599
624
  "uuid": "d3702b93-7bb3-4e0a-8cd7-974ad93b0d3d",
600
625
  "slug": "roman-numerals",
601
626
  "core": false,
602
- "unlocked_by": null,
627
+ "unlocked_by": "accumulate",
603
628
  "difficulty": 5,
604
629
  "topics": [
605
630
  "Control-flow (loops)",
@@ -610,7 +635,7 @@
610
635
  "uuid": "9ad05373-a049-47f9-a06a-80ad0a7b38fd",
611
636
  "slug": "flatten-array",
612
637
  "core": false,
613
- "unlocked_by": null,
638
+ "unlocked_by": "grade-school",
614
639
  "difficulty": 5,
615
640
  "topics": [
616
641
  "Lists",
@@ -621,7 +646,7 @@
621
646
  "uuid": "d40541a8-d7d6-4dab-8560-27c5055adbd0",
622
647
  "slug": "binary-search-tree",
623
648
  "core": false,
624
- "unlocked_by": null,
649
+ "unlocked_by": "grade-school",
625
650
  "difficulty": 5,
626
651
  "topics": [
627
652
  "Searching",
@@ -633,18 +658,30 @@
633
658
  "uuid": "466f17d4-13d0-4d6e-8564-c8bdfede35d1",
634
659
  "slug": "minesweeper",
635
660
  "core": false,
636
- "unlocked_by": null,
661
+ "unlocked_by": "kindergarten-garden",
637
662
  "difficulty": 5,
638
663
  "topics": [
639
664
  "Parsing",
640
665
  "Transforming"
641
666
  ]
642
667
  },
668
+ {
669
+ "uuid": "5863c898-2072-4543-9ab5-045fd6691de4",
670
+ "slug": "parallel-letter-frequency",
671
+ "core": false,
672
+ "unlocked_by": "nucleotide-count",
673
+ "difficulty": 5,
674
+ "topics": [
675
+ "Parallellism",
676
+ "Transforming",
677
+ "Dictionaries"
678
+ ]
679
+ },
643
680
  {
644
681
  "uuid": "0c5918d5-15cc-401f-b038-5fb2cd515ec7",
645
682
  "slug": "atbash-cipher",
646
683
  "core": false,
647
- "unlocked_by": null,
684
+ "unlocked_by": "grade-school",
648
685
  "difficulty": 5,
649
686
  "topics": [
650
687
  "Strings",
@@ -656,7 +693,7 @@
656
693
  "uuid": "3a09736e-4002-41aa-acf9-ff10a9392b24",
657
694
  "slug": "food-chain",
658
695
  "core": false,
659
- "unlocked_by": null,
696
+ "unlocked_by": "allergies",
660
697
  "difficulty": 5,
661
698
  "topics": [
662
699
  "Text formatting",
@@ -667,7 +704,7 @@
667
704
  "uuid": "a9909a03-ce2e-45d9-85f8-a77f44fb2466",
668
705
  "slug": "grep",
669
706
  "core": false,
670
- "unlocked_by": null,
707
+ "unlocked_by": "markdown",
671
708
  "difficulty": 5,
672
709
  "topics": [
673
710
  "Text formatting",
@@ -679,7 +716,7 @@
679
716
  "uuid": "89d3b074-190f-4520-8f87-cde6368fc58e",
680
717
  "slug": "sublist",
681
718
  "core": false,
682
- "unlocked_by": null,
719
+ "unlocked_by": "grade-school",
683
720
  "difficulty": 5,
684
721
  "topics": [
685
722
  "Lists"
@@ -689,7 +726,7 @@
689
726
  "uuid": "b31bff08-a609-40ec-a1ee-46ba24e671f2",
690
727
  "slug": "tree-building",
691
728
  "core": false,
692
- "unlocked_by": null,
729
+ "unlocked_by": "allergies",
693
730
  "difficulty": 5,
694
731
  "topics": [
695
732
  "Trees",
@@ -700,7 +737,7 @@
700
737
  "uuid": "c7d5acc6-68a6-4cd8-a28b-359dceb1e56f",
701
738
  "slug": "scale-generator",
702
739
  "core": false,
703
- "unlocked_by": null,
740
+ "unlocked_by": "kindergarten-garden",
704
741
  "difficulty": 5,
705
742
  "topics": [
706
743
  "Parsing",
@@ -711,30 +748,19 @@
711
748
  "uuid": "a2070019-e56d-4d48-994b-300411598707",
712
749
  "slug": "bracket-push",
713
750
  "core": false,
714
- "unlocked_by": null,
751
+ "unlocked_by": "bob",
715
752
  "difficulty": 5,
716
753
  "topics": [
717
754
  "Parsing",
718
755
  "Strings"
719
756
  ]
720
757
  },
721
- {
722
- "uuid": "5863c898-2072-4543-9ab5-045fd6691de4",
723
- "slug": "parallel-letter-frequency",
724
- "core": false,
725
- "unlocked_by": null,
726
- "difficulty": 5,
727
- "topics": [
728
- "Parallellism",
729
- "Transforming",
730
- "Dictionaries"
731
- ]
732
- },
758
+
733
759
  {
734
760
  "uuid": "49b557ad-0bf0-451b-9a12-6dd9eb0291a2",
735
761
  "slug": "linked-list",
736
762
  "core": false,
737
- "unlocked_by": null,
763
+ "unlocked_by": "clock",
738
764
  "difficulty": 5,
739
765
  "topics": [
740
766
  "Classes",
@@ -745,7 +771,7 @@
745
771
  "uuid": "dd95f3d8-6da4-4bb4-b5c1-bf00c818d586",
746
772
  "slug": "crypto-square",
747
773
  "core": false,
748
- "unlocked_by": null,
774
+ "unlocked_by": "allergies",
749
775
  "difficulty": 5,
750
776
  "topics": [
751
777
  "Strings",
@@ -757,7 +783,7 @@
757
783
  "uuid": "c1cc752e-99a2-4da3-8d0c-82e08f1c6110",
758
784
  "slug": "ledger",
759
785
  "core": false,
760
- "unlocked_by": null,
786
+ "unlocked_by": "allergies",
761
787
  "difficulty": 5,
762
788
  "topics": [
763
789
  "Globalization",
@@ -769,7 +795,7 @@
769
795
  "uuid": "a6dff389-07ea-42cb-98ec-271ce7cfeda3",
770
796
  "slug": "custom-set",
771
797
  "core": false,
772
- "unlocked_by": null,
798
+ "unlocked_by": "book-store",
773
799
  "difficulty": 5,
774
800
  "topics": [
775
801
  "Sets"
@@ -779,7 +805,7 @@
779
805
  "uuid": "d128ec4b-190f-4726-b3e7-870be09531aa",
780
806
  "slug": "dot-dsl",
781
807
  "core": false,
782
- "unlocked_by": null,
808
+ "unlocked_by": "clock",
783
809
  "difficulty": 5,
784
810
  "topics": [
785
811
  "Domain-specific languages",
@@ -791,7 +817,7 @@
791
817
  "uuid": "2a5ddf5e-e677-4eef-b759-087d71e15986",
792
818
  "slug": "ocr-numbers",
793
819
  "core": false,
794
- "unlocked_by": null,
820
+ "unlocked_by": "kindergarten-garden",
795
821
  "difficulty": 5,
796
822
  "topics": [
797
823
  "Parsing",
@@ -802,7 +828,7 @@
802
828
  "uuid": "657ac368-9b17-4f87-b815-decfe2bc0b5d",
803
829
  "slug": "circular-buffer",
804
830
  "core": false,
805
- "unlocked_by": null,
831
+ "unlocked_by": "markdown",
806
832
  "difficulty": 5,
807
833
  "topics": [
808
834
  "Queues",
@@ -813,7 +839,7 @@
813
839
  "uuid": "20fe4853-0eee-4171-b3c1-8ef871b99d13",
814
840
  "slug": "luhn",
815
841
  "core": false,
816
- "unlocked_by": null,
842
+ "unlocked_by": "markdown",
817
843
  "difficulty": 5,
818
844
  "topics": [
819
845
  "Strings",
@@ -821,44 +847,22 @@
821
847
  "Transforming"
822
848
  ]
823
849
  },
824
- {
825
- "uuid": "dee4abe1-c75f-4cb8-b5f3-5b5b77e1c7aa",
826
- "slug": "markdown",
827
- "core": false,
828
- "unlocked_by": null,
829
- "difficulty": 5,
830
- "topics": [
831
- "Parsing",
832
- "Transforming",
833
- "Refactoring"
834
- ]
835
- },
836
850
  {
837
851
  "uuid": "4ad0d49a-e10b-4f8b-b454-623b9396d559",
838
852
  "slug": "run-length-encoding",
839
853
  "core": false,
840
- "unlocked_by": null,
854
+ "unlocked_by": "markdown",
841
855
  "difficulty": 5,
842
856
  "topics": [
843
857
  "Algorithms",
844
858
  "Transforming"
845
859
  ]
846
860
  },
847
- {
848
- "uuid": "8288d3e0-75a4-4a18-94c7-2fab3228dc58",
849
- "slug": "book-store",
850
- "core": false,
851
- "unlocked_by": null,
852
- "difficulty": 5,
853
- "topics": [
854
- "Recursion"
855
- ]
856
- },
857
861
  {
858
862
  "uuid": "d9359f25-dc94-496c-adc3-57fe541857fe",
859
863
  "slug": "tournament",
860
864
  "core": false,
861
- "unlocked_by": null,
865
+ "unlocked_by": "kindergarten-garden",
862
866
  "difficulty": 6,
863
867
  "topics": [
864
868
  "Text formatting",
@@ -869,7 +873,7 @@
869
873
  "uuid": "2b05d7dd-0f0b-4fa4-a2bf-9d7fa28a7543",
870
874
  "slug": "word-search",
871
875
  "core": false,
872
- "unlocked_by": null,
876
+ "unlocked_by": "markdown",
873
877
  "difficulty": 6,
874
878
  "topics": [
875
879
  "Searching",
@@ -880,7 +884,7 @@
880
884
  "uuid": "64eff1cb-990d-45bc-a9e7-8f574e114ece",
881
885
  "slug": "bowling",
882
886
  "core": false,
883
- "unlocked_by": null,
887
+ "unlocked_by": "markdown",
884
888
  "difficulty": 6,
885
889
  "topics": [
886
890
  "Algorithms",
@@ -891,7 +895,7 @@
891
895
  "uuid": "2634c53c-ba4d-4729-b936-a7ec387f4789",
892
896
  "slug": "transpose",
893
897
  "core": false,
894
- "unlocked_by": null,
898
+ "unlocked_by": "markdown",
895
899
  "difficulty": 6,
896
900
  "topics": [
897
901
  "Strings",
@@ -902,7 +906,7 @@
902
906
  "uuid": "60ef0713-70e2-4ee7-9207-86910e616ec1",
903
907
  "slug": "nth-prime",
904
908
  "core": false,
905
- "unlocked_by": null,
909
+ "unlocked_by": "book-store",
906
910
  "difficulty": 6,
907
911
  "topics": [
908
912
  "Mathematics"
@@ -912,7 +916,7 @@
912
916
  "uuid": "63bdd2d4-b395-41ca-8c58-b3d94bf1e696",
913
917
  "slug": "pig-latin",
914
918
  "core": false,
915
- "unlocked_by": null,
919
+ "unlocked_by": "book-store",
916
920
  "difficulty": 6,
917
921
  "topics": [
918
922
  "Strings",
@@ -923,7 +927,7 @@
923
927
  "uuid": "e338fed5-f850-4922-88b2-7e9ec0eb7299",
924
928
  "slug": "rail-fence-cipher",
925
929
  "core": false,
926
- "unlocked_by": null,
930
+ "unlocked_by": "book-store",
927
931
  "difficulty": 6,
928
932
  "topics": [
929
933
  "Strings",
@@ -935,7 +939,7 @@
935
939
  "uuid": "44796c6c-39b3-41c7-8ea5-ffb9738423b8",
936
940
  "slug": "change",
937
941
  "core": false,
938
- "unlocked_by": null,
942
+ "unlocked_by": "binary-search",
939
943
  "difficulty": 6,
940
944
  "topics": [
941
945
  "Integers",
@@ -946,7 +950,7 @@
946
950
  "uuid": "165b8599-726d-43dd-8511-1401525810de",
947
951
  "slug": "palindrome-products",
948
952
  "core": false,
949
- "unlocked_by": null,
953
+ "unlocked_by": "saddle-points",
950
954
  "difficulty": 6,
951
955
  "topics": [
952
956
  "Strings",
@@ -958,7 +962,7 @@
958
962
  "uuid": "d03a9508-336a-4425-8f47-f04317d1ba15",
959
963
  "slug": "poker",
960
964
  "core": false,
961
- "unlocked_by": null,
965
+ "unlocked_by": "kindergarten-garden",
962
966
  "difficulty": 7,
963
967
  "topics": [
964
968
  "Parsing",
@@ -970,7 +974,7 @@
970
974
  "uuid": "3bea029d-ccc2-48be-90f3-84bf2d5b825b",
971
975
  "slug": "diffie-hellman",
972
976
  "core": false,
973
- "unlocked_by": null,
977
+ "unlocked_by": "book-store",
974
978
  "difficulty": 7,
975
979
  "topics": [
976
980
  "Integers",
@@ -982,7 +986,7 @@
982
986
  "uuid": "0409f45f-b65e-4404-a9e7-2ef432d834b2",
983
987
  "slug": "dominoes",
984
988
  "core": false,
985
- "unlocked_by": null,
989
+ "unlocked_by": "binary-search",
986
990
  "difficulty": 7,
987
991
  "topics": [
988
992
  "Tuples",
@@ -993,7 +997,7 @@
993
997
  "uuid": "817ccde1-0593-4091-85a5-616f4f8823f0",
994
998
  "slug": "rectangles",
995
999
  "core": false,
996
- "unlocked_by": null,
1000
+ "unlocked_by": "kindergarten-garden",
997
1001
  "difficulty": 7,
998
1002
  "topics": [
999
1003
  "Parsing",
@@ -1004,7 +1008,7 @@
1004
1008
  "uuid": "57ef1936-d187-4915-888b-374f09c794c7",
1005
1009
  "slug": "wordy",
1006
1010
  "core": false,
1007
- "unlocked_by": null,
1011
+ "unlocked_by": "kindergarten-garden",
1008
1012
  "difficulty": 7,
1009
1013
  "topics": [
1010
1014
  "Parsing",
@@ -1016,7 +1020,7 @@
1016
1020
  "uuid": "e167479e-e77d-4734-b8c0-a7cd686c74a3",
1017
1021
  "slug": "zebra-puzzle",
1018
1022
  "core": false,
1019
- "unlocked_by": null,
1023
+ "unlocked_by": "book-store",
1020
1024
  "difficulty": 8,
1021
1025
  "topics": [
1022
1026
  "Logic"
@@ -1026,7 +1030,7 @@
1026
1030
  "uuid": "c9b12d50-09dc-4f43-9e7e-66b277432347",
1027
1031
  "slug": "hangman",
1028
1032
  "core": false,
1029
- "unlocked_by": null,
1033
+ "unlocked_by": "saddle-points",
1030
1034
  "difficulty": 8,
1031
1035
  "topics": [
1032
1036
  "Reactive programming",
@@ -1037,7 +1041,7 @@
1037
1041
  "uuid": "2f3faeb7-7cc3-42ed-9525-cd9c73922a8d",
1038
1042
  "slug": "diamond",
1039
1043
  "core": false,
1040
- "unlocked_by": null,
1044
+ "unlocked_by": "saddle-points",
1041
1045
  "difficulty": 8,
1042
1046
  "topics": [
1043
1047
  "Text formatting",
@@ -1048,7 +1052,7 @@
1048
1052
  "uuid": "b33c3b86-e04b-4529-bdf5-9d553ad59f87",
1049
1053
  "slug": "two-bucket",
1050
1054
  "core": false,
1051
- "unlocked_by": null,
1055
+ "unlocked_by": "saddle-points",
1052
1056
  "difficulty": 8,
1053
1057
  "topics": [
1054
1058
  "Logic"
@@ -1058,7 +1062,7 @@
1058
1062
  "uuid": "ca56c362-c9f5-4403-9a2d-2e31e54b35e3",
1059
1063
  "slug": "connect",
1060
1064
  "core": false,
1061
- "unlocked_by": null,
1065
+ "unlocked_by": "kindergarten-garden",
1062
1066
  "difficulty": 8,
1063
1067
  "topics": [
1064
1068
  "Parsing",
@@ -1069,7 +1073,7 @@
1069
1073
  "uuid": "34518ea7-c202-443a-b28f-e873f3207f89",
1070
1074
  "slug": "say",
1071
1075
  "core": false,
1072
- "unlocked_by": null,
1076
+ "unlocked_by": "kindergarten-garden",
1073
1077
  "difficulty": 8,
1074
1078
  "topics": [
1075
1079
  "Strings",
@@ -1081,7 +1085,7 @@
1081
1085
  "uuid": "3e86c66d-c66e-4e28-834d-09b33b2ee2d2",
1082
1086
  "slug": "react",
1083
1087
  "core": false,
1084
- "unlocked_by": null,
1088
+ "unlocked_by": "saddle-points",
1085
1089
  "difficulty": 9,
1086
1090
  "topics": [
1087
1091
  "Reactive programming",
@@ -1093,7 +1097,7 @@
1093
1097
  "uuid": "4c49ea84-8765-42b0-b4ab-5dead802eeee",
1094
1098
  "slug": "variable-length-quantity",
1095
1099
  "core": false,
1096
- "unlocked_by": null,
1100
+ "unlocked_by": "allergies",
1097
1101
  "difficulty": 9,
1098
1102
  "topics": [
1099
1103
  "Bitwise operations",
@@ -1104,7 +1108,7 @@
1104
1108
  "uuid": "1abbc58c-9a04-4b6f-afe1-85d3e4d202e1",
1105
1109
  "slug": "go-counting",
1106
1110
  "core": false,
1107
- "unlocked_by": null,
1111
+ "unlocked_by": "saddle-points",
1108
1112
  "difficulty": 9,
1109
1113
  "topics": [
1110
1114
  "Parsing",
@@ -1116,7 +1120,7 @@
1116
1120
  "uuid": "da255a02-8007-41e4-8a9e-7e2cfbe81be5",
1117
1121
  "slug": "sgf-parsing",
1118
1122
  "core": false,
1119
- "unlocked_by": null,
1123
+ "unlocked_by": "kindergarten-garden",
1120
1124
  "difficulty": 9,
1121
1125
  "topics": [
1122
1126
  "Parsing",
@@ -1127,7 +1131,7 @@
1127
1131
  "uuid": "db77fbd1-29d9-40e6-a32e-9fb89acdc9fc",
1128
1132
  "slug": "zipper",
1129
1133
  "core": false,
1130
- "unlocked_by": null,
1134
+ "unlocked_by": "markdown",
1131
1135
  "difficulty": 10,
1132
1136
  "topics": [
1133
1137
  "Trees",
@@ -1139,7 +1143,7 @@
1139
1143
  "uuid": "c6961cae-5e93-470a-98ce-e7cd6b9cfcbf",
1140
1144
  "slug": "alphametics",
1141
1145
  "core": false,
1142
- "unlocked_by": null,
1146
+ "unlocked_by": "nucleotide-count",
1143
1147
  "difficulty": 10,
1144
1148
  "topics": [
1145
1149
  "Parsing",
@@ -1150,7 +1154,7 @@
1150
1154
  "uuid": "a2ba6202-f6e0-46f4-95e4-5921656f2e1a",
1151
1155
  "slug": "forth",
1152
1156
  "core": false,
1153
- "unlocked_by": null,
1157
+ "unlocked_by": "markdown",
1154
1158
  "difficulty": 10,
1155
1159
  "topics": [
1156
1160
  "Parsing",
@@ -1161,7 +1165,7 @@
1161
1165
  "uuid": "a5794706-58d2-48f7-8aab-78639d7bce77",
1162
1166
  "slug": "pov",
1163
1167
  "core": false,
1164
- "unlocked_by": null,
1168
+ "unlocked_by": "markdown",
1165
1169
  "difficulty": 10,
1166
1170
  "topics": [
1167
1171
  "Graphs",