trackler 2.2.1.8 → 2.2.1.9

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.
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",