trackler 2.1.0.32 → 2.1.0.33

Sign up to get free protection for your applications and to get access to all the features.
Files changed (70) hide show
  1. checksums.yaml +4 -4
  2. data/common/CONTRIBUTING.md +1 -24
  3. data/fixtures/tracks/animal/config.json +6 -2
  4. data/fixtures/tracks/fake/config.json +0 -5
  5. data/fixtures/tracks/fruit/config.json +16 -4
  6. data/fixtures/tracks/jewels/config.json +6 -2
  7. data/fixtures/tracks/shoes/config.json +6 -2
  8. data/fixtures/tracks/snowflake/config.json +21 -5
  9. data/lib/trackler/track.rb +0 -11
  10. data/lib/trackler/version.rb +1 -1
  11. data/tracks/c/config.json +281 -245
  12. data/tracks/c/{SETUP.md → docs/EXERCISE_README_INSERT.md} +0 -0
  13. data/tracks/ceylon/config.json +0 -5
  14. data/tracks/ceylon/{exercises/TRACK_HINTS.md → docs/EXERCISE_README_INSERT.md} +0 -0
  15. data/tracks/cpp/config.json +9 -13
  16. data/tracks/cpp/{SETUP.md → docs/EXERCISE_README_INSERT.md} +0 -0
  17. data/tracks/cpp/exercises/grade-school/grade_school_test.cpp +1 -0
  18. data/tracks/cpp/exercises/nucleotide-count/nucleotide_count_test.cpp +1 -0
  19. data/tracks/crystal/{SETUP.md → docs/EXERCISE_README_INSERT.md} +0 -0
  20. data/tracks/csharp/config.json +4 -9
  21. data/tracks/csharp/{SETUP.md → docs/EXERCISE_README_INSERT.md} +0 -0
  22. data/tracks/delphi/config.json +31 -36
  23. data/tracks/delphi/{SETUP.md → docs/EXERCISE_README_INSERT.md} +0 -0
  24. data/tracks/ecmascript/config.json +65 -7
  25. data/tracks/ecmascript/{SETUP.md → docs/EXERCISE_README_INSERT.md} +0 -0
  26. data/tracks/elixir/{SETUP.md → docs/EXERCISE_README_INSERT.md} +0 -0
  27. data/tracks/elm/{SETUP.md → docs/EXERCISE_README_INSERT.md} +0 -0
  28. data/tracks/erlang/_test/bootstrap.sh +3 -5
  29. data/tracks/erlang/config.json +108 -40
  30. data/tracks/erlang/{SETUP.md → docs/EXERCISE_README_INSERT.md} +0 -0
  31. data/tracks/factor/config.json +6 -14
  32. data/tracks/factor/{SETUP.md → docs/EXERCISE_README_INSERT.md} +0 -0
  33. data/tracks/fsharp/config.json +1 -1
  34. data/tracks/fsharp/{SETUP.md → docs/EXERCISE_README_INSERT.md} +0 -0
  35. data/tracks/go/{exercises/TRACK_HINTS.md → docs/EXERCISE_README_INSERT.md} +0 -0
  36. data/tracks/haskell/config.json +0 -4
  37. data/tracks/haskell/{exercises/TRACK_HINTS.md → docs/EXERCISE_README_INSERT.md} +0 -0
  38. data/tracks/idris/{SETUP.md → docs/EXERCISE_README_INSERT.md} +0 -0
  39. data/tracks/java/{TRACK_HINTS.md → docs/EXERCISE_README_INSERT.md} +0 -0
  40. data/tracks/java/exercises/isogram/HINT.md +10 -0
  41. data/tracks/javascript/config.json +57 -6
  42. data/tracks/javascript/{SETUP.md → docs/EXERCISE_README_INSERT.md} +0 -0
  43. data/tracks/julia/{SETUP.md → docs/EXERCISE_README_INSERT.md} +0 -0
  44. data/tracks/kotlin/{TRACK_HINTS.md → docs/EXERCISE_README_INSERT.md} +0 -0
  45. data/tracks/lfe/{SETUP.md → docs/EXERCISE_README_INSERT.md} +0 -0
  46. data/tracks/lisp/{SETUP.md → docs/EXERCISE_README_INSERT.md} +0 -0
  47. data/tracks/lua/config.json +684 -611
  48. data/tracks/lua/{exercises/TRACK_HINTS.md → docs/EXERCISE_README_INSERT.md} +0 -0
  49. data/tracks/objective-c/config.json +235 -241
  50. data/tracks/objective-c/{SETUP.md → docs/EXERCISE_README_INSERT.md} +0 -0
  51. data/tracks/ocaml/{SETUP.md → docs/EXERCISE_README_INSERT.md} +0 -0
  52. data/tracks/perl6/config.json +70 -32
  53. data/tracks/php/{SETUP.md → docs/EXERCISE_README_INSERT.md} +0 -0
  54. data/tracks/r/config.json +72 -24
  55. data/tracks/r/{exercises/TRACK_HINTS.md → docs/EXERCISE_README_INSERT.md} +0 -0
  56. data/tracks/racket/{SETUP.md → docs/EXERCISE_README_INSERT.md} +0 -0
  57. data/tracks/ruby/exercises/bob/.meta/.version +1 -0
  58. data/tracks/ruby/exercises/bob/.meta/generator/bob_case.rb +9 -0
  59. data/tracks/ruby/exercises/bob/.meta/solutions/bob.rb +4 -0
  60. data/tracks/ruby/exercises/bob/bob_test.rb +95 -50
  61. data/tracks/rust/config.json +0 -5
  62. data/tracks/rust/{exercises/TRACK_HINTS.md → docs/EXERCISE_README_INSERT.md} +0 -0
  63. data/tracks/scala/config.json +758 -758
  64. data/tracks/scala/{SETUP.md → docs/EXERCISE_README_INSERT.md} +0 -0
  65. data/tracks/scheme/docs/EXERCISE_README_INSERT.md +0 -0
  66. data/tracks/swift/config.json +468 -478
  67. data/tracks/swift/{SETUP.md → docs/EXERCISE_README_INSERT.md} +0 -0
  68. data/tracks/typescript/{SETUP.md → docs/EXERCISE_README_INSERT.md} +0 -0
  69. data/tracks/vbnet/config.json +21 -7
  70. metadata +37 -33
File without changes
@@ -5,593 +5,583 @@
5
5
  "active": true,
6
6
  "exercises": [
7
7
  {
8
- "difficulty": 1,
9
- "slug": "hello-world",
10
- "topics": [
11
- "Text formatting",
12
- "Optional values"
13
- ]
8
+ "difficulty": 1,
9
+ "slug": "hello-world",
10
+ "topics": [
11
+ "Text formatting",
12
+ "Optional values"
13
+ ]
14
14
  },
15
15
  {
16
- "difficulty": 1,
17
- "slug": "leap",
18
- "topics": [
19
- "Integers"
20
- ]
16
+ "difficulty": 1,
17
+ "slug": "leap",
18
+ "topics": [
19
+ "Integers"
20
+ ]
21
21
  },
22
22
  {
23
- "difficulty": 1,
24
- "slug": "gigasecond",
25
- "topics": [
26
- "Dates"
27
- ]
23
+ "difficulty": 1,
24
+ "slug": "gigasecond",
25
+ "topics": [
26
+ "Dates"
27
+ ]
28
28
  },
29
29
  {
30
- "difficulty": 1,
31
- "slug": "difference-of-squares",
32
- "topics": [
33
- "Integers"
34
- ]
30
+ "difficulty": 1,
31
+ "slug": "difference-of-squares",
32
+ "topics": [
33
+ "Integers"
34
+ ]
35
35
  },
36
36
  {
37
- "difficulty": 1,
38
- "slug": "rna-transcription",
39
- "topics": [
40
- "Strings",
41
- "Transforming"
42
- ]
37
+ "difficulty": 1,
38
+ "slug": "rna-transcription",
39
+ "topics": [
40
+ "Strings",
41
+ "Transforming"
42
+ ]
43
43
  },
44
44
  {
45
- "difficulty": 1,
46
- "slug": "sum-of-multiples",
47
- "topics": [
48
- "Lists",
49
- "Transforming"
50
- ]
45
+ "difficulty": 1,
46
+ "slug": "sum-of-multiples",
47
+ "topics": [
48
+ "Lists",
49
+ "Transforming"
50
+ ]
51
51
  },
52
52
  {
53
- "difficulty": 1,
54
- "slug": "space-age",
55
- "topics": [
56
- "Discriminated unions",
57
- "Floating-point numbers"
58
- ]
53
+ "difficulty": 1,
54
+ "slug": "space-age",
55
+ "topics": [
56
+ "Discriminated unions",
57
+ "Floating-point numbers"
58
+ ]
59
59
  },
60
60
  {
61
- "difficulty": 2,
62
- "slug": "bob",
63
- "topics": [
64
- "Strings",
65
- "Control-flow (if-else statements)"
66
- ]
61
+ "difficulty": 2,
62
+ "slug": "bob",
63
+ "topics": [
64
+ "Strings",
65
+ "Control-flow (if-else statements)"
66
+ ]
67
67
  },
68
68
  {
69
- "difficulty": 2,
70
- "slug": "grains",
71
- "topics": [
72
- "Integers"
73
- ]
69
+ "difficulty": 2,
70
+ "slug": "grains",
71
+ "topics": [
72
+ "Integers"
73
+ ]
74
74
  },
75
75
  {
76
- "difficulty": 2,
77
- "slug": "hamming",
78
- "topics": [
79
- "Strings",
80
- "Filtering"
81
- ]
76
+ "difficulty": 2,
77
+ "slug": "hamming",
78
+ "topics": [
79
+ "Strings",
80
+ "Filtering"
81
+ ]
82
82
  },
83
83
  {
84
- "difficulty": 2,
85
- "slug": "nucleotide-count",
86
- "topics": [
87
- "Maps",
88
- "Strings"
89
- ]
84
+ "difficulty": 2,
85
+ "slug": "nucleotide-count",
86
+ "topics": [
87
+ "Maps",
88
+ "Strings"
89
+ ]
90
90
  },
91
91
  {
92
- "difficulty": 2,
93
- "slug": "accumulate",
94
- "topics": [
95
- "Recursion",
96
- "Transforming"
97
- ]
92
+ "difficulty": 2,
93
+ "slug": "accumulate",
94
+ "topics": [
95
+ "Recursion",
96
+ "Transforming"
97
+ ]
98
98
  },
99
99
  {
100
- "difficulty": 2,
101
- "slug": "raindrops",
102
- "topics": [
103
- "Text formatting",
104
- "Filtering"
105
- ]
100
+ "difficulty": 2,
101
+ "slug": "raindrops",
102
+ "topics": [
103
+ "Text formatting",
104
+ "Filtering"
105
+ ]
106
106
  },
107
107
  {
108
- "difficulty": 2,
109
- "slug": "grade-school",
110
- "topics": [
111
- "Maps",
112
- "Sorting"
113
- ]
108
+ "difficulty": 2,
109
+ "slug": "grade-school",
110
+ "topics": [
111
+ "Maps",
112
+ "Sorting"
113
+ ]
114
114
  },
115
115
  {
116
- "difficulty": 2,
117
- "slug": "etl",
118
- "topics": [
119
- "Maps",
120
- "Transforming"
121
- ]
116
+ "difficulty": 2,
117
+ "slug": "etl",
118
+ "topics": [
119
+ "Maps",
120
+ "Transforming"
121
+ ]
122
122
  },
123
123
  {
124
- "difficulty": 2,
125
- "slug": "isogram",
126
- "topics": [
127
- "Strings",
128
- "Filtering"
129
- ]
124
+ "difficulty": 2,
125
+ "slug": "isogram",
126
+ "topics": [
127
+ "Strings",
128
+ "Filtering"
129
+ ]
130
130
  },
131
131
  {
132
- "difficulty": 3,
133
- "slug": "clock",
134
- "topics": [
135
- "Time",
136
- "Structural equality"
137
- ]
132
+ "difficulty": 3,
133
+ "slug": "clock",
134
+ "topics": [
135
+ "Time",
136
+ "Structural equality"
137
+ ]
138
138
  },
139
139
  {
140
- "difficulty": 3,
141
- "slug": "triangle",
142
- "topics": [
143
- "Integers",
144
- "Discriminated unions"
145
- ]
140
+ "difficulty": 3,
141
+ "slug": "triangle",
142
+ "topics": [
143
+ "Integers",
144
+ "Discriminated unions"
145
+ ]
146
146
  },
147
147
  {
148
- "difficulty": 3,
149
- "slug": "robot-name",
150
- "topics": [
151
- "Randomness",
152
- "Strings"
153
- ]
148
+ "difficulty": 3,
149
+ "slug": "robot-name",
150
+ "topics": [
151
+ "Randomness",
152
+ "Strings"
153
+ ]
154
154
  },
155
155
  {
156
- "difficulty": 3,
157
- "slug": "scrabble-score",
158
- "topics": [
159
- "Transforming"
160
- ]
156
+ "difficulty": 3,
157
+ "slug": "scrabble-score",
158
+ "topics": [
159
+ "Transforming"
160
+ ]
161
161
  },
162
162
  {
163
- "difficulty": 3,
164
- "slug": "kindergarten-garden",
165
- "topics": [
166
- "Parsing",
167
- "Enumerations"
168
- ]
163
+ "difficulty": 3,
164
+ "slug": "kindergarten-garden",
165
+ "topics": [
166
+ "Parsing",
167
+ "Enumerations"
168
+ ]
169
169
  },
170
170
  {
171
- "difficulty": 3,
172
- "slug": "queen-attack",
173
- "topics": [
174
- "Tuples"
175
- ]
176
- },
171
+ "difficulty": 3,
172
+ "slug": "queen-attack",
173
+ "topics": [
174
+ "Tuples"
175
+ ]
176
+ },
177
177
  {
178
- "difficulty": 3,
179
- "slug": "strain",
180
- "topics": [
181
- "Sequences",
182
- "Filtering"
183
- ]
184
- },
178
+ "difficulty": 3,
179
+ "slug": "strain",
180
+ "topics": [
181
+ "Sequences",
182
+ "Filtering"
183
+ ]
184
+ },
185
185
  {
186
- "difficulty": 3,
187
- "slug": "sieve",
188
- "topics": [
189
- "Filtering",
190
- "Mathematics"
191
- ]
186
+ "difficulty": 3,
187
+ "slug": "sieve",
188
+ "topics": [
189
+ "Filtering",
190
+ "Mathematics"
191
+ ]
192
192
  },
193
193
  {
194
- "difficulty": 3,
195
- "slug": "phone-number",
196
- "topics": [
197
- "Parsing",
198
- "Transforming"
199
- ]
194
+ "difficulty": 3,
195
+ "slug": "phone-number",
196
+ "topics": [
197
+ "Parsing",
198
+ "Transforming"
199
+ ]
200
+ },
201
+ {
202
+ "difficulty": 3,
203
+ "slug": "perfect-numbers",
204
+ "topics": [
205
+ "Integers",
206
+ "Discriminated unions"
207
+ ]
200
208
  },
201
209
  {
202
- "difficulty": 3,
203
- "slug": "perfect-numbers",
204
- "topics": [
205
- "Integers",
206
- "Discriminated unions"
207
- ]
210
+ "difficulty": 3,
211
+ "slug": "robot-simulator",
212
+ "topics": [
213
+ "Records",
214
+ "Tuples"
215
+ ]
208
216
  },
209
217
  {
210
- "difficulty": 3,
211
- "slug": "robot-simulator",
212
- "topics": [
213
- "Records",
214
- "Tuples"
215
- ]
218
+ "difficulty": 3,
219
+ "slug": "binary-search",
220
+ "topics": [
221
+ "Searching",
222
+ "Lists"
223
+ ]
216
224
  },
217
225
  {
218
- "difficulty": 3,
219
- "slug": "binary-search",
220
- "topics": [
221
- "Searching",
222
- "Lists"
223
- ]
226
+ "difficulty": 3,
227
+ "slug": "flatten-array",
228
+ "topics": [
229
+ "Searching",
230
+ "Looping",
231
+ "Lists"
232
+ ]
224
233
  },
225
234
  {
226
- "difficulty": 3,
227
- "slug": "flatten-array",
228
- "topics": [
229
- "Searching",
230
- "Looping",
231
- "Lists"
232
- ]
235
+ "difficulty": 3,
236
+ "slug": "sublist",
237
+ "topics": [
238
+ "Looping",
239
+ "Lists"
240
+ ]
233
241
  },
234
-
235
242
  {
236
- "difficulty": 3,
237
- "slug": "sublist",
238
- "topics": [
239
- "Looping",
240
- "Lists"
241
- ]
242
- },
243
- {
244
- "difficulty": 3,
245
- "slug": "secret-handshake",
246
- "topics": [
247
- "Bitwise operations",
248
- "Lists"
249
- ]
250
- },
251
- {
252
- "difficulty": 4,
253
- "slug": "word-count",
254
- "topics": [
255
- "Strings",
256
- "Maps",
257
- "Transforming"
258
- ]
259
- },
260
- {
261
- "difficulty": 4,
262
- "slug": "allergies",
263
- "topics": [
264
- "Enumerations",
265
- "Bitwise operations",
266
- "Filtering"
267
- ]
268
- },
269
- {
270
- "difficulty": 4,
271
- "slug": "beer-song",
272
- "topics": [
273
- "Looping",
274
- "Conditionals",
275
- "Strings"
276
- ]
277
-
243
+ "difficulty": 3,
244
+ "slug": "secret-handshake",
245
+ "topics": [
246
+ "Bitwise operations",
247
+ "Lists"
248
+ ]
278
249
  },
279
-
280
250
  {
281
- "difficulty": 4,
282
- "slug": "twelve-days",
283
- "topics": [
284
- "Text formatting",
285
- "Algorithms"
286
- ]
251
+ "difficulty": 4,
252
+ "slug": "word-count",
253
+ "topics": [
254
+ "Strings",
255
+ "Maps",
256
+ "Transforming"
257
+ ]
287
258
  },
288
259
  {
289
- "difficulty": 4,
290
- "slug": "meetup",
291
- "topics": [
292
- "Dates"
293
- ]
260
+ "difficulty": 4,
261
+ "slug": "allergies",
262
+ "topics": [
263
+ "Enumerations",
264
+ "Bitwise operations",
265
+ "Filtering"
266
+ ]
294
267
  },
295
268
  {
296
- "difficulty": 4,
297
- "slug": "anagram",
298
- "topics": [
299
- "Strings",
300
- "Filtering"
301
- ]
269
+ "difficulty": 4,
270
+ "slug": "beer-song",
271
+ "topics": [
272
+ "Looping",
273
+ "Conditionals",
274
+ "Strings"
275
+ ]
276
+ },
277
+ {
278
+ "difficulty": 4,
279
+ "slug": "twelve-days",
280
+ "topics": [
281
+ "Text formatting",
282
+ "Algorithms"
283
+ ]
284
+ },
285
+ {
286
+ "difficulty": 4,
287
+ "slug": "meetup",
288
+ "topics": [
289
+ "Dates"
290
+ ]
302
291
  },
303
292
  {
304
- "difficulty": 4,
305
- "slug": "series",
306
- "topics": [
307
- "Strings",
308
- "Lists",
309
- "Transforming"
310
- ]
293
+ "difficulty": 4,
294
+ "slug": "anagram",
295
+ "topics": [
296
+ "Strings",
297
+ "Filtering"
298
+ ]
311
299
  },
312
300
  {
313
- "difficulty": 4,
314
- "slug": "simple-linked-list",
315
- "topics": [
316
- "Lists"
317
- ]
301
+ "difficulty": 4,
302
+ "slug": "series",
303
+ "topics": [
304
+ "Strings",
305
+ "Lists",
306
+ "Transforming"
307
+ ]
308
+ },
309
+ {
310
+ "difficulty": 4,
311
+ "slug": "simple-linked-list",
312
+ "topics": [
313
+ "Lists"
314
+ ]
318
315
  },
319
316
  {
320
- "difficulty": 4,
321
- "slug": "acronym",
322
- "topics": [
323
- "Strings",
324
- "Transforming"
325
- ]
317
+ "difficulty": 4,
318
+ "slug": "acronym",
319
+ "topics": [
320
+ "Strings",
321
+ "Transforming"
322
+ ]
326
323
  },
327
324
  {
328
- "difficulty": 4,
329
- "slug": "matrix",
330
- "topics": [
331
- "Matrices",
332
- "Parsing"
333
- ]
325
+ "difficulty": 4,
326
+ "slug": "matrix",
327
+ "topics": [
328
+ "Matrices",
329
+ "Parsing"
330
+ ]
334
331
  },
335
332
  {
336
- "difficulty": 4,
337
- "slug": "all-your-base",
338
- "topics": [
339
- "Integers",
340
- "Transforming"
341
- ]
333
+ "difficulty": 4,
334
+ "slug": "all-your-base",
335
+ "topics": [
336
+ "Integers",
337
+ "Transforming"
338
+ ]
342
339
  },
343
340
  {
344
- "difficulty": 4,
345
- "slug": "largest-series-product",
346
- "topics": [
347
- "Strings",
348
- "Integers",
349
-
350
- "Transforming"
351
- ]
341
+ "difficulty": 4,
342
+ "slug": "largest-series-product",
343
+ "topics": [
344
+ "Strings",
345
+ "Integers",
346
+ "Transforming"
347
+ ]
352
348
  },
353
349
  {
354
- "difficulty": 4,
355
- "slug": "house",
356
- "topics": [
357
- "Text formatting",
358
- "Algorithms"
359
- ]
350
+ "difficulty": 4,
351
+ "slug": "house",
352
+ "topics": [
353
+ "Text formatting",
354
+ "Algorithms"
355
+ ]
360
356
  },
361
357
  {
362
- "difficulty": 4,
363
- "slug": "pythagorean-triplet",
364
- "topics": [
365
- "Records",
366
- "Integers",
367
- "Mathematics"
368
- ]
358
+ "difficulty": 4,
359
+ "slug": "pythagorean-triplet",
360
+ "topics": [
361
+ "Records",
362
+ "Integers",
363
+ "Mathematics"
364
+ ]
369
365
  },
370
366
  {
371
- "difficulty": 4,
372
- "slug": "saddle-points",
373
- "topics": [
374
- "Matrices",
375
- "Lists"
376
- ]
367
+ "difficulty": 4,
368
+ "slug": "saddle-points",
369
+ "topics": [
370
+ "Matrices",
371
+ "Lists"
372
+ ]
377
373
  },
378
374
  {
379
- "difficulty": 4,
380
- "slug": "pascals-triangle",
381
- "topics": [
382
- "Recursion",
383
- "Lists",
384
- "Mathematics"
385
- ]
375
+ "difficulty": 4,
376
+ "slug": "pascals-triangle",
377
+ "topics": [
378
+ "Recursion",
379
+ "Lists",
380
+ "Mathematics"
381
+ ]
386
382
  },
387
383
  {
388
- "difficulty": 4,
389
- "slug": "prime-factors",
390
- "topics": [
391
- "Integers",
392
- "Mathematics"
393
- ]
384
+ "difficulty": 4,
385
+ "slug": "prime-factors",
386
+ "topics": [
387
+ "Integers",
388
+ "Mathematics"
389
+ ]
394
390
  },
395
391
  {
396
- "difficulty": 4,
397
- "slug": "pangram",
398
- "topics": [
399
- "Strings",
400
- "Searching"
401
- ]
392
+ "difficulty": 4,
393
+ "slug": "pangram",
394
+ "topics": [
395
+ "Strings",
396
+ "Searching"
397
+ ]
402
398
  },
403
399
  {
404
- "difficulty": 5,
405
- "slug": "roman-numerals",
406
- "topics": [
407
- "Recursion",
408
- "Transforming"
409
- ]
400
+ "difficulty": 5,
401
+ "slug": "roman-numerals",
402
+ "topics": [
403
+ "Recursion",
404
+ "Transforming"
405
+ ]
410
406
  },
411
407
  {
412
- "difficulty": 5,
413
- "slug": "binary-search-tree",
414
- "topics": [
415
- "Searching",
416
- "Trees"
417
- ]
408
+ "difficulty": 5,
409
+ "slug": "binary-search-tree",
410
+ "topics": [
411
+ "Searching",
412
+ "Trees"
413
+ ]
418
414
  },
419
415
  {
420
- "difficulty": 5,
421
- "slug": "ocr-numbers",
422
- "topics": [
423
- "Parsing",
424
- "Pattern recognition"
425
- ]
416
+ "difficulty": 5,
417
+ "slug": "ocr-numbers",
418
+ "topics": [
419
+ "Parsing",
420
+ "Pattern recognition"
421
+ ]
426
422
  },
427
423
  {
428
- "difficulty": 5,
429
- "slug": "linked-list",
430
- "topics": [
431
- "Lists"
432
- ]
424
+ "difficulty": 5,
425
+ "slug": "linked-list",
426
+ "topics": [
427
+ "Lists"
428
+ ]
433
429
  },
434
430
  {
435
- "difficulty": 5,
436
- "slug": "simple-cipher",
437
- "topics": [
438
- "Strings",
439
- "Algorithms",
440
- "Transforming"
441
- ]
431
+ "difficulty": 5,
432
+ "slug": "simple-cipher",
433
+ "topics": [
434
+ "Strings",
435
+ "Algorithms",
436
+ "Transforming"
437
+ ]
442
438
  },
443
439
  {
444
- "difficulty": 5,
445
- "slug": "atbash-cipher",
446
- "topics": [
447
- "Strings",
448
- "Algorithms",
449
- "Transforming"
450
- ]
440
+ "difficulty": 5,
441
+ "slug": "atbash-cipher",
442
+ "topics": [
443
+ "Strings",
444
+ "Algorithms",
445
+ "Transforming"
446
+ ]
451
447
  },
452
448
  {
453
- "difficulty": 5,
454
- "slug": "food-chain",
455
- "topics": [
456
- "Text formatting",
457
- "Algorithms"
458
- ]
449
+ "difficulty": 5,
450
+ "slug": "food-chain",
451
+ "topics": [
452
+ "Text formatting",
453
+ "Algorithms"
454
+ ]
459
455
  },
460
456
  {
461
- "difficulty": 5,
462
- "slug": "custom-set",
463
- "topics": [
464
- "Sets"
465
- ]
457
+ "difficulty": 5,
458
+ "slug": "custom-set",
459
+ "topics": [
460
+ "Sets"
461
+ ]
466
462
  },
467
463
  {
468
- "difficulty": 5,
469
- "slug": "crypto-square",
470
- "topics": [
471
- "Strings",
472
- "Algorithms",
473
- "Transforming"
474
- ]
464
+ "difficulty": 5,
465
+ "slug": "crypto-square",
466
+ "topics": [
467
+ "Strings",
468
+ "Algorithms",
469
+ "Transforming"
470
+ ]
475
471
  },
476
472
  {
477
- "difficulty": 5,
478
- "slug": "luhn",
479
- "topics": [
480
- "Strings",
481
- "Algorithms",
482
- "Transforming"
483
- ]
484
- },
485
- {
486
- "difficulty": 5,
487
- "slug": "run-length-encoding",
488
- "topics": [
489
- "Algorithms",
490
- "Transforming"
491
- ]
492
- },
493
- {
494
- "difficulty": 6,
495
- "slug": "tournament",
496
- "topics": [
497
- "Text formatting",
498
- "Parsing"
499
- ]
500
- },
501
- {
502
- "difficulty": 6,
503
- "slug": "bowling",
504
- "topics": [
505
- "Algorithms"
506
- ]
507
- },
508
- {
509
- "difficulty": 6,
510
- "slug": "nth-prime",
511
- "topics": [
512
- "Mathematics"
513
- ]
514
- },
515
- {
516
- "difficulty": 6,
517
- "slug": "palindrome-products",
518
- "topics": [
519
- "Strings",
520
- "Tuples",
521
- "Algorithms"
522
- ]
523
- },
524
- {
525
- "difficulty": 6,
526
- "slug": "pig-latin",
527
- "topics": [
528
- "Strings",
529
- "Transforming"
530
- ]
531
- },
532
- {
533
- "difficulty": 6,
534
- "slug": "transpose",
535
- "topics": [
536
- "Strings",
537
- "Transforming"
538
- ]
539
- },
540
- {
541
- "difficulty": 7,
542
- "slug": "bracket-push",
543
- "topics": [
544
- "Parsing",
545
- "Strings"
546
- ]
547
- },
548
- {
549
- "difficulty": 7,
550
- "slug": "minesweeper",
551
- "topics": [
552
- "Parsing",
553
- "Transforming"
554
- ]
555
- },
556
- {
557
- "difficulty": 7,
558
- "slug": "dominoes",
559
- "topics": [
560
- "Lists",
561
- "Tuples"
562
- ]
563
- },
564
- {
565
- "difficulty": 7,
566
- "slug": "wordy",
567
- "topics": [
568
- "Parsing",
569
- "Strings",
570
- "Transforming"
571
- ]
572
- },
573
- {
574
- "difficulty": 8,
575
- "slug": "poker",
576
- "topics": [
577
- "Discriminated unions",
578
- "Parsing",
579
- "Sorting",
580
- "Games"
581
- ]
473
+ "difficulty": 5,
474
+ "slug": "luhn",
475
+ "topics": [
476
+ "Strings",
477
+ "Algorithms",
478
+ "Transforming"
479
+ ]
480
+ },
481
+ {
482
+ "difficulty": 5,
483
+ "slug": "run-length-encoding",
484
+ "topics": [
485
+ "Algorithms",
486
+ "Transforming"
487
+ ]
488
+ },
489
+ {
490
+ "difficulty": 6,
491
+ "slug": "tournament",
492
+ "topics": [
493
+ "Text formatting",
494
+ "Parsing"
495
+ ]
496
+ },
497
+ {
498
+ "difficulty": 6,
499
+ "slug": "bowling",
500
+ "topics": [
501
+ "Algorithms"
502
+ ]
503
+ },
504
+ {
505
+ "difficulty": 6,
506
+ "slug": "nth-prime",
507
+ "topics": [
508
+ "Mathematics"
509
+ ]
510
+ },
511
+ {
512
+ "difficulty": 6,
513
+ "slug": "palindrome-products",
514
+ "topics": [
515
+ "Strings",
516
+ "Tuples",
517
+ "Algorithms"
518
+ ]
519
+ },
520
+ {
521
+ "difficulty": 6,
522
+ "slug": "pig-latin",
523
+ "topics": [
524
+ "Strings",
525
+ "Transforming"
526
+ ]
527
+ },
528
+ {
529
+ "difficulty": 6,
530
+ "slug": "transpose",
531
+ "topics": [
532
+ "Strings",
533
+ "Transforming"
534
+ ]
535
+ },
536
+ {
537
+ "difficulty": 7,
538
+ "slug": "bracket-push",
539
+ "topics": [
540
+ "Parsing",
541
+ "Strings"
542
+ ]
543
+ },
544
+ {
545
+ "difficulty": 7,
546
+ "slug": "minesweeper",
547
+ "topics": [
548
+ "Parsing",
549
+ "Transforming"
550
+ ]
551
+ },
552
+ {
553
+ "difficulty": 7,
554
+ "slug": "dominoes",
555
+ "topics": [
556
+ "Lists",
557
+ "Tuples"
558
+ ]
559
+ },
560
+ {
561
+ "difficulty": 7,
562
+ "slug": "wordy",
563
+ "topics": [
564
+ "Parsing",
565
+ "Strings",
566
+ "Transforming"
567
+ ]
568
+ },
569
+ {
570
+ "difficulty": 8,
571
+ "slug": "poker",
572
+ "topics": [
573
+ "Discriminated unions",
574
+ "Parsing",
575
+ "Sorting",
576
+ "Games"
577
+ ]
582
578
  }
583
579
  ],
584
580
  "deprecated": [
585
- "binary"
586
- ,"trinary"
587
- ,"octal"
588
- ,"hexadecimal"
589
- ],
590
- "ignored": [
591
- "docs",
592
- "img",
593
- "xcodeProject",
594
- "build"
581
+ "binary",
582
+ "trinary",
583
+ "octal",
584
+ "hexadecimal"
595
585
  ],
596
586
  "foregone": [
597
587