trackler 2.2.1.147 → 2.2.1.148

Sign up to get free protection for your applications and to get access to all the features.
Files changed (50) hide show
  1. checksums.yaml +4 -4
  2. data/lib/trackler/version.rb +1 -1
  3. data/tracks/crystal/Makefile +1 -1
  4. data/tracks/crystal/exercises/acronym/spec/acronym_spec.cr +2 -6
  5. data/tracks/crystal/exercises/binary/spec/binary_spec.cr +1 -1
  6. data/tracks/crystal/exercises/difference-of-squares/spec/difference_of_squares_spec.cr +10 -14
  7. data/tracks/crystal/exercises/run-length-encoding/spec/run_length_encoding_spec.cr +29 -9
  8. data/tracks/crystal/generator/src/generators/acronym.cr +1 -1
  9. data/tracks/crystal/generator/src/generators/binary.cr +1 -1
  10. data/tracks/crystal/generator/src/generators/difference_of_squares.cr +6 -7
  11. data/tracks/crystal/generator/src/generators/run_length_encoding.cr +20 -10
  12. data/tracks/csharp/config.json +477 -477
  13. data/tracks/elixir/exercises/largest-series-product/example.exs +1 -1
  14. data/tracks/elm/exercises/phone-number/PhoneNumber.elm +1 -6
  15. data/tracks/elm/exercises/phone-number/tests/Tests.elm +22 -37
  16. data/tracks/elm/exercises/run-length-encoding/tests/Tests.elm +55 -31
  17. data/tracks/fsharp/generators/Exercise.fs +27 -6
  18. data/tracks/fsharp/generators/Generators.fs +37 -45
  19. data/tracks/fsharp/generators/Templates.fs +15 -44
  20. data/tracks/haskell/.travis.yml +1 -0
  21. data/tracks/haskell/bin/check-configlet-fmt.sh +42 -0
  22. data/tracks/haskell/config/maintainers.json +13 -13
  23. data/tracks/haskell/config.json +212 -250
  24. data/tracks/java/exercises/sublist/.meta/version +1 -1
  25. data/tracks/java/exercises/word-search/.meta/version +1 -1
  26. data/tracks/nim/config.json +10 -0
  27. data/tracks/nim/exercises/reverse-string/README.md +13 -0
  28. data/tracks/nim/exercises/reverse-string/example.nim +4 -0
  29. data/tracks/nim/exercises/reverse-string/reverse_string_test.nim +20 -0
  30. data/tracks/objective-c/config.json +10 -0
  31. data/tracks/objective-c/exercises/reverse-string/README.md +34 -0
  32. data/tracks/objective-c/exercises/reverse-string/ReverseStringExample.h +7 -0
  33. data/tracks/objective-c/exercises/reverse-string/ReverseStringExample.m +22 -0
  34. data/tracks/objective-c/exercises/reverse-string/ReverseStringTest.m +51 -0
  35. data/tracks/objective-c/xcodeProject/ObjectiveC.xcodeproj/project.pbxproj +18 -0
  36. data/tracks/objective-c/xcodeProject/ObjectiveC.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +8 -0
  37. data/tracks/ruby/config/maintainers.json +25 -25
  38. data/tracks/ruby/config.json +203 -371
  39. data/tracks/ruby/exercises/bob/.meta/.version +1 -1
  40. data/tracks/ruby/exercises/bob/.meta/generator/bob_case.rb +3 -2
  41. data/tracks/ruby/exercises/bob/.meta/solutions/bob.rb +3 -1
  42. data/tracks/ruby/exercises/bob/README.md +2 -0
  43. data/tracks/ruby/exercises/bob/bob_test.rb +27 -27
  44. data/tracks/ruby/exercises/hamming/RUNNING_TESTS.md +1 -1
  45. data/tracks/rust/.travis.yml +1 -0
  46. data/tracks/rust/_test/check-configlet-fmt.sh +37 -0
  47. data/tracks/rust/config/maintainers.json +23 -23
  48. data/tracks/rust/config.json +246 -246
  49. metadata +12 -3
  50. data/tracks/elm/exercises/run-length-encoding/RunLengthEncodingPropertyChecks.elm +0 -63
@@ -1,943 +1,775 @@
1
1
  {
2
2
  "language": "Ruby",
3
3
  "active": true,
4
- "blurb" : "Ruby is a dynamic, open source programming language with a focus on simplicity and productivity. It has an elegant syntax that is natural to read and easy to write.",
4
+ "blurb": "Ruby is a dynamic, open source programming language with a focus on simplicity and productivity. It has an elegant syntax that is natural to read and easy to write.",
5
5
  "gitter": "ruby",
6
6
  "solution_pattern": "[Ee]xample|\\.meta/solutions/[^/]*\\.rb",
7
+ "foregone": [],
7
8
  "exercises": [
8
9
  {
9
- "uuid": "4fe19484-4414-471b-a106-73c776c61388",
10
10
  "slug": "hello-world",
11
+ "uuid": "4fe19484-4414-471b-a106-73c776c61388",
11
12
  "core": false,
12
13
  "unlocked_by": null,
13
14
  "difficulty": 1,
14
- "topics": [
15
-
16
- ]
15
+ "topics": null
17
16
  },
18
17
  {
19
- "uuid": "d33dec8a-e2b4-40bc-8be9-3f49de084d43",
20
18
  "slug": "hamming",
19
+ "uuid": "d33dec8a-e2b4-40bc-8be9-3f49de084d43",
21
20
  "core": false,
22
21
  "unlocked_by": null,
23
22
  "difficulty": 1,
24
- "topics": [
25
-
26
- ]
23
+ "topics": null
27
24
  },
28
25
  {
29
- "uuid": "0fb594a1-193b-4ccf-8de2-eb6a81708b29",
30
26
  "slug": "gigasecond",
27
+ "uuid": "0fb594a1-193b-4ccf-8de2-eb6a81708b29",
31
28
  "core": false,
32
29
  "unlocked_by": null,
33
30
  "difficulty": 1,
34
- "topics": [
35
-
36
- ]
31
+ "topics": null
37
32
  },
38
33
  {
39
- "uuid": "41f66d2a-1883-4a2c-875f-663c46fa88aa",
40
34
  "slug": "rna-transcription",
35
+ "uuid": "41f66d2a-1883-4a2c-875f-663c46fa88aa",
41
36
  "core": false,
42
37
  "unlocked_by": null,
43
38
  "difficulty": 1,
44
- "topics": [
45
-
46
- ]
39
+ "topics": null
47
40
  },
48
41
  {
49
- "uuid": "efad2cea-1e0b-4fb8-a452-a8e91be73638",
50
42
  "slug": "raindrops",
43
+ "uuid": "efad2cea-1e0b-4fb8-a452-a8e91be73638",
51
44
  "core": false,
52
45
  "unlocked_by": null,
53
46
  "difficulty": 1,
54
- "topics": [
55
-
56
- ]
47
+ "topics": null
57
48
  },
58
49
  {
59
- "uuid": "f1e4ee0c-8718-43f2-90a5-fb1e915288da",
60
50
  "slug": "difference-of-squares",
51
+ "uuid": "f1e4ee0c-8718-43f2-90a5-fb1e915288da",
61
52
  "core": false,
62
53
  "unlocked_by": null,
63
54
  "difficulty": 1,
64
- "topics": [
65
-
66
- ]
55
+ "topics": null
67
56
  },
68
57
  {
69
- "uuid": "fcf07149-b2cb-4042-90e6-fb3350e0fdf6",
70
58
  "slug": "pangram",
59
+ "uuid": "fcf07149-b2cb-4042-90e6-fb3350e0fdf6",
71
60
  "core": false,
72
61
  "unlocked_by": null,
73
62
  "difficulty": 1,
74
- "topics": [
75
-
76
- ]
63
+ "topics": null
77
64
  },
78
65
  {
79
- "uuid": "80f9af5a-ea29-4937-9333-b4494aaf2446",
80
66
  "slug": "sieve",
67
+ "uuid": "80f9af5a-ea29-4937-9333-b4494aaf2446",
81
68
  "core": false,
82
69
  "unlocked_by": null,
83
70
  "difficulty": 1,
84
- "topics": [
85
-
86
- ]
71
+ "topics": null
87
72
  },
88
73
  {
89
- "uuid": "b7ca9519-c33b-418b-a4ef-858a3d4d6855",
90
74
  "slug": "roman-numerals",
75
+ "uuid": "b7ca9519-c33b-418b-a4ef-858a3d4d6855",
91
76
  "core": false,
92
77
  "unlocked_by": null,
93
78
  "difficulty": 1,
94
- "topics": [
95
-
96
- ]
79
+ "topics": null
97
80
  },
98
81
  {
99
- "uuid": "16baef71-6234-4928-a2d4-a19eb8e110b8",
100
82
  "slug": "nth-prime",
83
+ "uuid": "16baef71-6234-4928-a2d4-a19eb8e110b8",
101
84
  "core": false,
102
85
  "unlocked_by": null,
103
86
  "difficulty": 1,
104
- "topics": [
105
-
106
- ]
87
+ "topics": null
107
88
  },
108
89
  {
109
- "uuid": "06eaa2dd-dc80-4d38-b10d-11174183b0b6",
110
90
  "slug": "leap",
91
+ "uuid": "06eaa2dd-dc80-4d38-b10d-11174183b0b6",
111
92
  "core": false,
112
93
  "unlocked_by": null,
113
94
  "difficulty": 1,
114
- "topics": [
115
-
116
- ]
95
+ "topics": null
117
96
  },
118
97
  {
119
- "uuid": "22519f53-4516-43bc-915e-07d58e48f617",
120
98
  "slug": "grains",
99
+ "uuid": "22519f53-4516-43bc-915e-07d58e48f617",
121
100
  "core": false,
122
101
  "unlocked_by": null,
123
102
  "difficulty": 1,
124
- "topics": [
125
-
126
- ]
103
+ "topics": null
127
104
  },
128
105
  {
129
- "uuid": "e9d29769-8d4d-4159-8d6f-762db5339707",
130
106
  "slug": "word-count",
107
+ "uuid": "e9d29769-8d4d-4159-8d6f-762db5339707",
131
108
  "core": false,
132
109
  "unlocked_by": null,
133
110
  "difficulty": 1,
134
- "topics": [
135
-
136
- ]
111
+ "topics": null
137
112
  },
138
113
  {
139
- "uuid": "70fec82e-3038-468f-96ef-bfb48ce03ef3",
140
114
  "slug": "bob",
115
+ "uuid": "70fec82e-3038-468f-96ef-bfb48ce03ef3",
141
116
  "core": false,
142
117
  "unlocked_by": null,
143
118
  "difficulty": 1,
144
- "topics": [
145
-
146
- ]
119
+ "topics": null
147
120
  },
148
121
  {
149
- "uuid": "9d6a8c89-41c1-4c4e-b24c-476ba0dfa5f9",
150
122
  "slug": "run-length-encoding",
123
+ "uuid": "9d6a8c89-41c1-4c4e-b24c-476ba0dfa5f9",
151
124
  "core": false,
152
125
  "unlocked_by": null,
153
126
  "difficulty": 1,
154
- "topics": [
155
-
156
- ]
127
+ "topics": null
157
128
  },
158
129
  {
159
- "uuid": "43bc27ed-d2fa-4173-8665-4459b71c9a3a",
160
130
  "slug": "binary",
131
+ "uuid": "43bc27ed-d2fa-4173-8665-4459b71c9a3a",
161
132
  "core": false,
162
133
  "unlocked_by": null,
163
134
  "difficulty": 1,
164
- "topics": [
165
-
166
- ]
135
+ "topics": null
167
136
  },
168
137
  {
169
- "uuid": "2c71fc3a-2c93-402b-b091-697b795ce3ba",
170
138
  "slug": "accumulate",
139
+ "uuid": "2c71fc3a-2c93-402b-b091-697b795ce3ba",
171
140
  "core": false,
172
141
  "unlocked_by": null,
173
142
  "difficulty": 1,
174
- "topics": [
175
-
176
- ]
143
+ "topics": null
177
144
  },
178
145
  {
179
- "uuid": "4fc25295-5d6a-4d13-9b87-064167d8980e",
180
146
  "slug": "sum-of-multiples",
147
+ "uuid": "4fc25295-5d6a-4d13-9b87-064167d8980e",
181
148
  "core": false,
182
149
  "unlocked_by": null,
183
150
  "difficulty": 1,
184
- "topics": [
185
-
186
- ]
151
+ "topics": null
187
152
  },
188
153
  {
189
- "uuid": "4460742c-2beb-48d7-94e6-72ff13c68c71",
190
154
  "slug": "grade-school",
155
+ "uuid": "4460742c-2beb-48d7-94e6-72ff13c68c71",
191
156
  "core": false,
192
157
  "unlocked_by": null,
193
158
  "difficulty": 1,
194
- "topics": [
195
-
196
- ]
159
+ "topics": null
197
160
  },
198
161
  {
199
- "uuid": "2de036e4-576d-47fc-bb03-4ed1612e79da",
200
162
  "slug": "series",
163
+ "uuid": "2de036e4-576d-47fc-bb03-4ed1612e79da",
201
164
  "core": false,
202
165
  "unlocked_by": null,
203
166
  "difficulty": 1,
204
- "topics": [
205
-
206
- ]
167
+ "topics": null
207
168
  },
208
169
  {
209
- "uuid": "b68665d5-14ef-4351-ac4a-c28a80c27b3d",
210
170
  "slug": "phone-number",
171
+ "uuid": "b68665d5-14ef-4351-ac4a-c28a80c27b3d",
211
172
  "core": false,
212
173
  "unlocked_by": null,
213
174
  "difficulty": 1,
214
- "topics": [
215
-
216
- ]
175
+ "topics": null
217
176
  },
218
177
  {
219
- "uuid": "a18daa31-88d3-45ba-84ca-f1d52fe23a79",
220
178
  "slug": "prime-factors",
179
+ "uuid": "a18daa31-88d3-45ba-84ca-f1d52fe23a79",
221
180
  "core": false,
222
181
  "unlocked_by": null,
223
182
  "difficulty": 1,
224
- "topics": [
225
-
226
- ]
183
+ "topics": null
227
184
  },
228
185
  {
229
- "uuid": "ac0966a9-822b-45be-91d9-36f6706ea76f",
230
186
  "slug": "strain",
187
+ "uuid": "ac0966a9-822b-45be-91d9-36f6706ea76f",
231
188
  "core": false,
232
189
  "unlocked_by": null,
233
190
  "difficulty": 1,
234
- "topics": [
235
-
236
- ]
191
+ "topics": null
237
192
  },
238
193
  {
239
- "uuid": "0d66f3db-69a4-44b9-80be-9366f8b189ec",
240
194
  "slug": "etl",
195
+ "uuid": "0d66f3db-69a4-44b9-80be-9366f8b189ec",
241
196
  "core": false,
242
197
  "unlocked_by": null,
243
198
  "difficulty": 1,
244
- "topics": [
245
-
246
- ]
199
+ "topics": null
247
200
  },
248
201
  {
249
- "uuid": "f6735416-4be6-4eb8-b6b9-cb61671ce25e",
250
202
  "slug": "trinary",
203
+ "uuid": "f6735416-4be6-4eb8-b6b9-cb61671ce25e",
251
204
  "core": false,
252
205
  "unlocked_by": null,
253
206
  "difficulty": 1,
254
- "topics": [
255
-
256
- ]
207
+ "topics": null
257
208
  },
258
209
  {
259
- "uuid": "50c34698-7767-42b3-962f-21c735e49787",
260
210
  "slug": "beer-song",
211
+ "uuid": "50c34698-7767-42b3-962f-21c735e49787",
261
212
  "core": false,
262
213
  "unlocked_by": null,
263
214
  "difficulty": 1,
264
- "topics": [
265
-
266
- ]
215
+ "topics": null
267
216
  },
268
217
  {
269
- "uuid": "051f0825-8357-4ca6-b24f-40a373deac19",
270
218
  "slug": "bowling",
219
+ "uuid": "051f0825-8357-4ca6-b24f-40a373deac19",
271
220
  "core": false,
272
221
  "unlocked_by": null,
273
222
  "difficulty": 1,
274
- "topics": [
275
-
276
- ]
223
+ "topics": null
277
224
  },
278
225
  {
279
- "uuid": "c971a2b5-ccd4-4e55-9fc7-33e991bc0676",
280
226
  "slug": "space-age",
227
+ "uuid": "c971a2b5-ccd4-4e55-9fc7-33e991bc0676",
281
228
  "core": false,
282
229
  "unlocked_by": null,
283
230
  "difficulty": 1,
284
- "topics": [
285
-
286
- ]
231
+ "topics": null
287
232
  },
288
233
  {
289
- "uuid": "36df18ba-580d-4982-984e-ba50eb1f8c0b",
290
234
  "slug": "anagram",
235
+ "uuid": "36df18ba-580d-4982-984e-ba50eb1f8c0b",
291
236
  "core": false,
292
237
  "unlocked_by": null,
293
238
  "difficulty": 1,
294
- "topics": [
295
-
296
- ]
239
+ "topics": null
297
240
  },
298
241
  {
299
- "uuid": "0e05bfcf-17ae-4884-803a-fa1428bc1702",
300
242
  "slug": "binary-search-tree",
243
+ "uuid": "0e05bfcf-17ae-4884-803a-fa1428bc1702",
301
244
  "core": false,
302
245
  "unlocked_by": null,
303
246
  "difficulty": 1,
304
- "topics": [
305
-
306
- ]
247
+ "topics": null
307
248
  },
308
249
  {
309
- "uuid": "86f8e33d-31b7-43e3-8ea3-2e391133704a",
310
250
  "slug": "crypto-square",
251
+ "uuid": "86f8e33d-31b7-43e3-8ea3-2e391133704a",
311
252
  "core": false,
312
253
  "unlocked_by": null,
313
254
  "difficulty": 1,
314
- "topics": [
315
-
316
- ]
255
+ "topics": null
317
256
  },
318
257
  {
319
- "uuid": "f95ebf09-0f32-4e60-867d-60cb81dd9a62",
320
258
  "slug": "clock",
259
+ "uuid": "f95ebf09-0f32-4e60-867d-60cb81dd9a62",
321
260
  "core": false,
322
261
  "unlocked_by": null,
323
262
  "difficulty": 1,
324
- "topics": [
325
-
326
- ]
263
+ "topics": null
327
264
  },
328
265
  {
329
- "uuid": "2323a2a5-c181-4c1e-9c5f-f6b92b2de511",
330
266
  "slug": "alphametics",
267
+ "uuid": "2323a2a5-c181-4c1e-9c5f-f6b92b2de511",
331
268
  "core": false,
332
269
  "unlocked_by": null,
333
270
  "difficulty": 1,
334
- "topics": [
335
-
336
- ]
271
+ "topics": null
337
272
  },
338
273
  {
339
- "uuid": "64196fe5-2270-4113-a614-fbfbb6d00f2b",
340
274
  "slug": "rail-fence-cipher",
275
+ "uuid": "64196fe5-2270-4113-a614-fbfbb6d00f2b",
341
276
  "core": false,
342
277
  "unlocked_by": null,
343
278
  "difficulty": 1,
344
- "topics": [
345
-
346
- ]
279
+ "topics": null
347
280
  },
348
281
  {
349
- "uuid": "74468206-68a2-4efb-8caa-782634674c7f",
350
282
  "slug": "acronym",
283
+ "uuid": "74468206-68a2-4efb-8caa-782634674c7f",
351
284
  "core": false,
352
285
  "unlocked_by": null,
353
286
  "difficulty": 1,
354
- "topics": [
355
-
356
- ]
287
+ "topics": null
357
288
  },
358
289
  {
359
- "uuid": "d934ebce-9ac3-4a41-bcb8-d70480170438",
360
290
  "slug": "scrabble-score",
291
+ "uuid": "d934ebce-9ac3-4a41-bcb8-d70480170438",
361
292
  "core": false,
362
293
  "unlocked_by": null,
363
294
  "difficulty": 1,
364
- "topics": [
365
-
366
- ]
295
+ "topics": null
367
296
  },
368
297
  {
369
- "uuid": "8ad2bffd-1d79-4e1f-8ef3-ece0214d2804",
370
298
  "slug": "nucleotide-count",
299
+ "uuid": "8ad2bffd-1d79-4e1f-8ef3-ece0214d2804",
371
300
  "core": false,
372
301
  "unlocked_by": null,
373
302
  "difficulty": 1,
374
- "topics": [
375
-
376
- ]
303
+ "topics": null
377
304
  },
378
305
  {
379
- "uuid": "2df8ed82-2a04-4112-a17b-7813bcdc0e84",
380
306
  "slug": "flatten-array",
307
+ "uuid": "2df8ed82-2a04-4112-a17b-7813bcdc0e84",
381
308
  "core": false,
382
309
  "unlocked_by": null,
383
310
  "difficulty": 1,
384
- "topics": [
385
-
386
- ]
311
+ "topics": null
387
312
  },
388
313
  {
389
- "uuid": "6984cc14-91f8-47a7-b7e2-4b210a5dbc5c",
390
314
  "slug": "hexadecimal",
315
+ "uuid": "6984cc14-91f8-47a7-b7e2-4b210a5dbc5c",
391
316
  "core": false,
392
317
  "unlocked_by": null,
393
318
  "difficulty": 1,
394
- "topics": [
395
-
396
- ]
319
+ "topics": null
397
320
  },
398
321
  {
399
- "uuid": "2a410923-6445-41fc-9cf3-a60209e1c1c2",
400
322
  "slug": "say",
323
+ "uuid": "2a410923-6445-41fc-9cf3-a60209e1c1c2",
401
324
  "core": false,
402
325
  "unlocked_by": null,
403
326
  "difficulty": 1,
404
- "topics": [
405
-
406
- ]
327
+ "topics": null
407
328
  },
408
329
  {
409
- "uuid": "8120e133-9561-4f82-8081-10c19f7f6ba3",
410
330
  "slug": "meetup",
331
+ "uuid": "8120e133-9561-4f82-8081-10c19f7f6ba3",
411
332
  "core": false,
412
333
  "unlocked_by": null,
413
334
  "difficulty": 1,
414
- "topics": [
415
-
416
- ]
335
+ "topics": null
417
336
  },
418
337
  {
419
- "uuid": "76a0fd0a-cc65-4be3-acc8-7348bb67ad5a",
420
338
  "slug": "robot-name",
339
+ "uuid": "76a0fd0a-cc65-4be3-acc8-7348bb67ad5a",
421
340
  "core": false,
422
341
  "unlocked_by": null,
423
342
  "difficulty": 6,
424
- "topics": [
425
-
426
- ]
343
+ "topics": null
427
344
  },
428
345
  {
429
- "uuid": "2ce9b158-e730-4c86-8639-bd08af9f80f4",
430
346
  "slug": "queen-attack",
347
+ "uuid": "2ce9b158-e730-4c86-8639-bd08af9f80f4",
431
348
  "core": false,
432
349
  "unlocked_by": null,
433
350
  "difficulty": 1,
434
- "topics": [
435
-
436
- ]
351
+ "topics": null
437
352
  },
438
353
  {
439
- "uuid": "abd68340-91b9-48c1-8567-79822bb2165c",
440
354
  "slug": "palindrome-products",
355
+ "uuid": "abd68340-91b9-48c1-8567-79822bb2165c",
441
356
  "core": false,
442
357
  "unlocked_by": null,
443
358
  "difficulty": 1,
444
- "topics": [
445
-
446
- ]
359
+ "topics": null
447
360
  },
448
361
  {
449
- "uuid": "26f6e297-7980-4472-8ce7-157b62b0ff40",
450
362
  "slug": "bracket-push",
363
+ "uuid": "26f6e297-7980-4472-8ce7-157b62b0ff40",
451
364
  "core": false,
452
365
  "unlocked_by": null,
453
366
  "difficulty": 1,
454
- "topics": [
455
-
456
- ]
367
+ "topics": null
457
368
  },
458
369
  {
459
- "uuid": "6f0919eb-2160-4cca-8504-286acc2ae9c8",
460
370
  "slug": "food-chain",
371
+ "uuid": "6f0919eb-2160-4cca-8504-286acc2ae9c8",
461
372
  "core": false,
462
373
  "unlocked_by": null,
463
374
  "difficulty": 1,
464
- "topics": [
465
-
466
- ]
375
+ "topics": null
467
376
  },
468
377
  {
469
- "uuid": "3de21c18-a533-4150-8a73-49df8fcb8c61",
470
378
  "slug": "matrix",
379
+ "uuid": "3de21c18-a533-4150-8a73-49df8fcb8c61",
471
380
  "core": false,
472
381
  "unlocked_by": null,
473
382
  "difficulty": 1,
474
- "topics": [
475
-
476
- ]
383
+ "topics": null
477
384
  },
478
385
  {
479
- "uuid": "38bb4ac6-a5ec-4448-8b86-cdaff13a8be3",
480
386
  "slug": "saddle-points",
387
+ "uuid": "38bb4ac6-a5ec-4448-8b86-cdaff13a8be3",
481
388
  "core": false,
482
389
  "unlocked_by": null,
483
390
  "difficulty": 1,
484
- "topics": [
485
-
486
- ]
391
+ "topics": null
487
392
  },
488
393
  {
489
- "uuid": "5c797eb2-155d-47ca-8f85-2ba5803f9713",
490
394
  "slug": "triangle",
395
+ "uuid": "5c797eb2-155d-47ca-8f85-2ba5803f9713",
491
396
  "core": false,
492
397
  "unlocked_by": null,
493
398
  "difficulty": 1,
494
- "topics": [
495
-
496
- ]
399
+ "topics": null
497
400
  },
498
401
  {
499
- "uuid": "1e737640-9785-4a47-866a-46298104d891",
500
402
  "slug": "atbash-cipher",
403
+ "uuid": "1e737640-9785-4a47-866a-46298104d891",
501
404
  "core": false,
502
405
  "unlocked_by": null,
503
406
  "difficulty": 1,
504
- "topics": [
505
-
506
- ]
407
+ "topics": null
507
408
  },
508
409
  {
509
- "uuid": "df5d771a-e57b-4a96-8a29-9bd4ce7f88d2",
510
410
  "slug": "house",
411
+ "uuid": "df5d771a-e57b-4a96-8a29-9bd4ce7f88d2",
511
412
  "core": false,
512
413
  "unlocked_by": null,
513
414
  "difficulty": 1,
514
- "topics": [
515
-
516
- ]
415
+ "topics": null
517
416
  },
518
417
  {
519
- "uuid": "c1ebad1b-d5aa-465a-b5ef-9e717ab5db9e",
520
418
  "slug": "secret-handshake",
419
+ "uuid": "c1ebad1b-d5aa-465a-b5ef-9e717ab5db9e",
521
420
  "core": false,
522
421
  "unlocked_by": null,
523
422
  "difficulty": 1,
524
- "topics": [
525
-
526
- ]
423
+ "topics": null
527
424
  },
528
425
  {
529
- "uuid": "3c5193ab-6471-4be2-9d24-1d2b51ad822a",
530
426
  "slug": "proverb",
427
+ "uuid": "3c5193ab-6471-4be2-9d24-1d2b51ad822a",
531
428
  "core": false,
532
429
  "unlocked_by": null,
533
430
  "difficulty": 1,
534
- "topics": [
535
-
536
- ]
431
+ "topics": null
537
432
  },
538
433
  {
539
- "uuid": "dd13bb29-589c-497d-9580-3f288f353fb2",
540
434
  "slug": "ocr-numbers",
435
+ "uuid": "dd13bb29-589c-497d-9580-3f288f353fb2",
541
436
  "core": false,
542
437
  "unlocked_by": null,
543
438
  "difficulty": 1,
544
- "topics": [
545
-
546
- ]
439
+ "topics": null
547
440
  },
548
441
  {
549
- "uuid": "efc0e498-891a-4e91-a6aa-fae635573a83",
550
442
  "slug": "pig-latin",
443
+ "uuid": "efc0e498-891a-4e91-a6aa-fae635573a83",
551
444
  "core": false,
552
445
  "unlocked_by": null,
553
446
  "difficulty": 1,
554
- "topics": [
555
-
556
- ]
447
+ "topics": null
557
448
  },
558
449
  {
559
- "uuid": "fa7b91c2-842c-42c8-bdf9-00bb3e71a7f5",
560
450
  "slug": "simple-linked-list",
451
+ "uuid": "fa7b91c2-842c-42c8-bdf9-00bb3e71a7f5",
561
452
  "core": false,
562
453
  "unlocked_by": null,
563
454
  "difficulty": 1,
564
- "topics": [
565
-
566
- ]
455
+ "topics": null
567
456
  },
568
457
  {
569
- "uuid": "bee97539-b8c1-460e-aa14-9336008df2b6",
570
458
  "slug": "luhn",
459
+ "uuid": "bee97539-b8c1-460e-aa14-9336008df2b6",
571
460
  "core": false,
572
461
  "unlocked_by": null,
573
462
  "difficulty": 1,
574
- "topics": [
575
-
576
- ]
463
+ "topics": null
577
464
  },
578
465
  {
579
- "uuid": "29c66e8a-b1b0-4bbd-be7b-9979ff51ba8f",
580
466
  "slug": "simple-cipher",
467
+ "uuid": "29c66e8a-b1b0-4bbd-be7b-9979ff51ba8f",
581
468
  "core": false,
582
469
  "unlocked_by": null,
583
470
  "difficulty": 1,
584
- "topics": [
585
-
586
- ]
471
+ "topics": null
587
472
  },
588
473
  {
589
- "uuid": "cb58e4cf-e3af-469c-9f2d-02557b9f61ed",
590
474
  "slug": "wordy",
475
+ "uuid": "cb58e4cf-e3af-469c-9f2d-02557b9f61ed",
591
476
  "core": false,
592
477
  "unlocked_by": null,
593
478
  "difficulty": 1,
594
- "topics": [
595
-
596
- ]
479
+ "topics": null
597
480
  },
598
481
  {
599
- "uuid": "b306bdaa-438e-46a2-ba54-82cb2c0be882",
600
482
  "slug": "allergies",
483
+ "uuid": "b306bdaa-438e-46a2-ba54-82cb2c0be882",
601
484
  "core": false,
602
485
  "unlocked_by": null,
603
486
  "difficulty": 1,
604
- "topics": [
605
-
606
- ]
487
+ "topics": null
607
488
  },
608
489
  {
609
- "uuid": "9a59ba44-34f5-410b-a1e6-9a5c47c52d9e",
610
490
  "slug": "poker",
491
+ "uuid": "9a59ba44-34f5-410b-a1e6-9a5c47c52d9e",
611
492
  "core": false,
612
493
  "unlocked_by": null,
613
494
  "difficulty": 1,
614
- "topics": [
615
-
616
- ]
495
+ "topics": null
617
496
  },
618
497
  {
619
- "uuid": "04bde625-e363-4d8b-880f-db7bf86286eb",
620
498
  "slug": "kindergarten-garden",
499
+ "uuid": "04bde625-e363-4d8b-880f-db7bf86286eb",
621
500
  "core": false,
622
501
  "unlocked_by": null,
623
502
  "difficulty": 1,
624
- "topics": [
625
-
626
- ]
503
+ "topics": null
627
504
  },
628
505
  {
629
- "uuid": "92c9aafc-791d-4aaf-a136-9bee14f6ff95",
630
506
  "slug": "linked-list",
507
+ "uuid": "92c9aafc-791d-4aaf-a136-9bee14f6ff95",
631
508
  "core": false,
632
509
  "unlocked_by": null,
633
510
  "difficulty": 1,
634
- "topics": [
635
-
636
- ]
511
+ "topics": null
637
512
  },
638
513
  {
639
- "uuid": "43aad536-0e24-464c-9554-cbc2699d0543",
640
514
  "slug": "pythagorean-triplet",
515
+ "uuid": "43aad536-0e24-464c-9554-cbc2699d0543",
641
516
  "core": false,
642
517
  "unlocked_by": null,
643
518
  "difficulty": 1,
644
- "topics": [
645
-
646
- ]
519
+ "topics": null
647
520
  },
648
521
  {
649
- "uuid": "724e6a6e-2e6e-45a9-ab0e-0d8d50a06085",
650
522
  "slug": "robot-simulator",
523
+ "uuid": "724e6a6e-2e6e-45a9-ab0e-0d8d50a06085",
651
524
  "core": false,
652
525
  "unlocked_by": null,
653
526
  "difficulty": 1,
654
- "topics": [
655
-
656
- ]
527
+ "topics": null
657
528
  },
658
529
  {
659
- "uuid": "eeb64dda-b79f-4920-8fa3-04810e8d37ab",
660
530
  "slug": "twelve-days",
531
+ "uuid": "eeb64dda-b79f-4920-8fa3-04810e8d37ab",
661
532
  "core": false,
662
533
  "unlocked_by": null,
663
534
  "difficulty": 1,
664
- "topics": [
665
-
666
- ]
535
+ "topics": null
667
536
  },
668
537
  {
669
- "uuid": "f3419fe3-a5f5-4bc9-bc40-49f450b8981e",
670
538
  "slug": "circular-buffer",
539
+ "uuid": "f3419fe3-a5f5-4bc9-bc40-49f450b8981e",
671
540
  "core": false,
672
541
  "unlocked_by": null,
673
542
  "difficulty": 1,
674
- "topics": [
675
-
676
- ]
543
+ "topics": null
677
544
  },
678
545
  {
679
- "uuid": "7cb55328-1b11-4544-94c0-945444d9a6a4",
680
546
  "slug": "largest-series-product",
547
+ "uuid": "7cb55328-1b11-4544-94c0-945444d9a6a4",
681
548
  "core": false,
682
549
  "unlocked_by": null,
683
550
  "difficulty": 1,
684
- "topics": [
685
-
686
- ]
551
+ "topics": null
687
552
  },
688
553
  {
689
- "uuid": "b1ba445d-4908-4922-acc0-de3a0ec92c53",
690
554
  "slug": "binary-search",
555
+ "uuid": "b1ba445d-4908-4922-acc0-de3a0ec92c53",
691
556
  "core": false,
692
557
  "unlocked_by": null,
693
558
  "difficulty": 1,
694
- "topics": [
695
-
696
- ]
559
+ "topics": null
697
560
  },
698
561
  {
699
- "uuid": "e5a2d445-437d-46a8-889b-fbcd62c70fa9",
700
562
  "slug": "two-bucket",
563
+ "uuid": "e5a2d445-437d-46a8-889b-fbcd62c70fa9",
701
564
  "core": false,
702
565
  "unlocked_by": null,
703
566
  "difficulty": 1,
704
- "topics": [
705
-
706
- ]
567
+ "topics": null
707
568
  },
708
569
  {
709
- "uuid": "4ff8b056-f27d-4bdf-b7af-214448db4260",
710
570
  "slug": "pascals-triangle",
571
+ "uuid": "4ff8b056-f27d-4bdf-b7af-214448db4260",
711
572
  "core": false,
712
573
  "unlocked_by": null,
713
574
  "difficulty": 1,
714
- "topics": [
715
-
716
- ]
575
+ "topics": null
717
576
  },
718
577
  {
719
- "uuid": "4f74b3cd-f995-4b8c-9b57-23f073261d0e",
720
578
  "slug": "custom-set",
579
+ "uuid": "4f74b3cd-f995-4b8c-9b57-23f073261d0e",
721
580
  "core": false,
722
581
  "unlocked_by": null,
723
582
  "difficulty": 1,
724
- "topics": [
725
-
726
- ]
583
+ "topics": null
727
584
  },
728
585
  {
729
- "uuid": "9d6808fb-d367-4df9-a1f0-47ff83b75544",
730
586
  "slug": "minesweeper",
587
+ "uuid": "9d6808fb-d367-4df9-a1f0-47ff83b75544",
731
588
  "core": false,
732
589
  "unlocked_by": null,
733
590
  "difficulty": 1,
734
- "topics": [
735
-
736
- ]
591
+ "topics": null
737
592
  },
738
593
  {
739
- "uuid": "4134d491-8ec5-480b-aa61-37a02689db1f",
740
594
  "slug": "scale-generator",
595
+ "uuid": "4134d491-8ec5-480b-aa61-37a02689db1f",
741
596
  "core": false,
742
597
  "unlocked_by": null,
743
598
  "difficulty": 1,
744
- "topics": [
745
-
746
- ]
599
+ "topics": null
747
600
  },
748
601
  {
749
- "uuid": "00c6f623-2e54-4f90-ae3f-07e493f93c7c",
750
602
  "slug": "protein-translation",
603
+ "uuid": "00c6f623-2e54-4f90-ae3f-07e493f93c7c",
751
604
  "core": false,
752
605
  "unlocked_by": null,
753
606
  "difficulty": 1,
754
- "topics": [
755
-
756
- ]
607
+ "topics": null
757
608
  },
758
609
  {
759
- "uuid": "76ad732a-6e58-403b-ac65-9091d355241f",
760
610
  "slug": "perfect-numbers",
611
+ "uuid": "76ad732a-6e58-403b-ac65-9091d355241f",
761
612
  "core": false,
762
613
  "unlocked_by": null,
763
614
  "difficulty": 1,
764
- "topics": [
765
-
766
- ]
615
+ "topics": null
767
616
  },
768
617
  {
769
- "uuid": "538a6768-bae5-437c-9cdf-765d73a79643",
770
618
  "slug": "connect",
619
+ "uuid": "538a6768-bae5-437c-9cdf-765d73a79643",
771
620
  "core": false,
772
621
  "unlocked_by": null,
773
622
  "difficulty": 1,
774
- "topics": [
775
-
776
- ]
623
+ "topics": null
777
624
  },
778
625
  {
779
- "uuid": "f62e8acb-8370-46e1-ad7f-a6a2644f8602",
780
626
  "slug": "list-ops",
627
+ "uuid": "f62e8acb-8370-46e1-ad7f-a6a2644f8602",
781
628
  "core": false,
782
629
  "unlocked_by": null,
783
630
  "difficulty": 1,
784
- "topics": [
785
-
786
- ]
631
+ "topics": null
787
632
  },
788
633
  {
789
- "uuid": "c55c75fb-6140-4042-967a-39c75b7781bd",
790
634
  "slug": "diamond",
635
+ "uuid": "c55c75fb-6140-4042-967a-39c75b7781bd",
791
636
  "core": false,
792
637
  "unlocked_by": null,
793
638
  "difficulty": 1,
794
- "topics": [
795
-
796
- ]
639
+ "topics": null
797
640
  },
798
641
  {
799
- "uuid": "3ce4bd3e-0380-498a-8d0a-b79cf3fedc10",
800
642
  "slug": "all-your-base",
643
+ "uuid": "3ce4bd3e-0380-498a-8d0a-b79cf3fedc10",
801
644
  "core": false,
802
645
  "unlocked_by": null,
803
646
  "difficulty": 1,
804
- "topics": [
805
-
806
- ]
647
+ "topics": null
807
648
  },
808
649
  {
809
- "uuid": "a79eb8cd-d2db-48f5-a7dc-055039dcee62",
810
650
  "slug": "isogram",
651
+ "uuid": "a79eb8cd-d2db-48f5-a7dc-055039dcee62",
811
652
  "core": false,
812
653
  "unlocked_by": null,
813
654
  "difficulty": 1,
814
- "topics": [
815
-
816
- ]
655
+ "topics": null
817
656
  },
818
657
  {
819
- "uuid": "4a6bc7d3-5d3b-4ad8-96ae-783e17af7c32",
820
658
  "slug": "transpose",
659
+ "uuid": "4a6bc7d3-5d3b-4ad8-96ae-783e17af7c32",
821
660
  "core": false,
822
661
  "unlocked_by": null,
823
662
  "difficulty": 1,
824
- "topics": [
825
-
826
- ]
663
+ "topics": null
827
664
  },
828
665
  {
829
- "uuid": "486becee-9d85-4139-ab89-db254d385ade",
830
666
  "slug": "tournament",
667
+ "uuid": "486becee-9d85-4139-ab89-db254d385ade",
831
668
  "core": false,
832
669
  "unlocked_by": null,
833
670
  "difficulty": 1,
834
- "topics": [
835
-
836
- ]
671
+ "topics": null
837
672
  },
838
673
  {
839
- "uuid": "705f3eb6-55a9-476c-b3f2-e9f3cb0bbe37",
840
674
  "slug": "dominoes",
675
+ "uuid": "705f3eb6-55a9-476c-b3f2-e9f3cb0bbe37",
841
676
  "core": false,
842
677
  "unlocked_by": null,
843
678
  "difficulty": 1,
844
- "topics": [
845
-
846
- ]
679
+ "topics": null
847
680
  },
848
681
  {
849
- "uuid": "af961c87-341c-4dd3-a1eb-272501b9b0e4",
850
682
  "slug": "collatz-conjecture",
683
+ "uuid": "af961c87-341c-4dd3-a1eb-272501b9b0e4",
851
684
  "core": false,
852
685
  "unlocked_by": null,
853
686
  "difficulty": 1,
854
687
  "topics": [
855
- "Control-flow (loops)",
856
- "Control-flow (conditionals)",
857
- "Recursion",
858
- "Integers",
859
- "Algorithms",
860
- "Mathematics"
688
+ "algorithms",
689
+ "control_flow_conditionals",
690
+ "control_flow_loops",
691
+ "integers",
692
+ "mathematics",
693
+ "recursion"
861
694
  ]
862
695
  },
863
696
  {
864
- "uuid": "af5ccf14-eff2-4dc6-b1db-e209cddca62a",
865
697
  "slug": "rotational-cipher",
698
+ "uuid": "af5ccf14-eff2-4dc6-b1db-e209cddca62a",
866
699
  "core": false,
867
700
  "unlocked_by": null,
868
701
  "difficulty": 1,
869
702
  "topics": [
870
- "Control-flow (conditionals)",
871
- "Control-flow (loops)",
872
- "Logic",
873
- "Strings"
703
+ "control_flow_conditionals",
704
+ "control_flow_loops",
705
+ "logic",
706
+ "strings"
874
707
  ]
875
708
  },
876
709
  {
877
- "uuid": "dc6c3e44-1027-4d53-9653-ba06824f8bcf",
878
710
  "slug": "change",
711
+ "uuid": "dc6c3e44-1027-4d53-9653-ba06824f8bcf",
879
712
  "core": false,
880
713
  "unlocked_by": null,
881
714
  "difficulty": 5,
882
715
  "topics": [
883
- "Algorithms",
884
- "Control-flow (conditionals)",
885
- "Control-flow (loops)",
886
- "Logic"
716
+ "algorithms",
717
+ "control_flow_conditionals",
718
+ "control_flow_loops",
719
+ "logic"
887
720
  ]
888
721
  },
889
722
  {
890
- "uuid": "1304b188-6d08-4361-be40-c6b1b88e5e54",
891
723
  "slug": "two-fer",
724
+ "uuid": "1304b188-6d08-4361-be40-c6b1b88e5e54",
892
725
  "core": false,
893
726
  "unlocked_by": null,
894
727
  "difficulty": 1,
895
728
  "topics": [
896
- "Control-flow (conditionals)",
897
- "Strings"
729
+ "control_flow_conditionals",
730
+ "strings"
898
731
  ]
899
732
  },
900
733
  {
901
- "uuid": "cae4e000-3aac-41f7-b727-f9cce12d058d",
902
734
  "slug": "octal",
735
+ "uuid": "cae4e000-3aac-41f7-b727-f9cce12d058d",
903
736
  "deprecated": true
904
737
  },
905
738
  {
906
- "uuid": "89bd3d71-000f-4cd9-9a84-ad1b22ddbd33",
907
739
  "slug": "point-mutations",
740
+ "uuid": "89bd3d71-000f-4cd9-9a84-ad1b22ddbd33",
908
741
  "deprecated": true
909
742
  },
910
743
  {
911
- "uuid": "d75bd7c0-52c5-44f2-a046-f63cb332425f",
912
744
  "slug": "complex-numbers",
745
+ "uuid": "d75bd7c0-52c5-44f2-a046-f63cb332425f",
913
746
  "difficulty": 3,
914
- "topics": [ "Mathematics" ]
747
+ "topics": [
748
+ "mathematics"
749
+ ]
915
750
  },
916
751
  {
917
- "uuid": "a0aac827-8f7a-4065-9d05-a57009f5668d",
918
752
  "slug": "isbn-verifier",
753
+ "uuid": "a0aac827-8f7a-4065-9d05-a57009f5668d",
919
754
  "core": false,
920
755
  "unlocked_by": null,
921
756
  "difficulty": 2,
922
757
  "topics": [
923
- "strings",
924
- "logic"
758
+ "logic",
759
+ "strings"
925
760
  ]
926
761
  },
927
762
  {
928
- "uuid": "0ec96460-08be-49a0-973a-4336f21b763c",
929
763
  "slug": "book-store",
764
+ "uuid": "0ec96460-08be-49a0-973a-4336f21b763c",
930
765
  "core": false,
931
766
  "unlocked_by": null,
932
767
  "difficulty": 6,
933
768
  "topics": [
934
- "loops",
935
769
  "arrays",
936
- "logic"
770
+ "logic",
771
+ "loops"
937
772
  ]
938
773
  }
939
- ],
940
- "foregone": [
941
-
942
774
  ]
943
- }
775
+ }