trackler 2.2.1.50 → 2.2.1.51

Sign up to get free protection for your applications and to get access to all the features.
Files changed (106) hide show
  1. checksums.yaml +4 -4
  2. data/lib/trackler/version.rb +1 -1
  3. data/tracks/c/README.md +10 -0
  4. data/tracks/c/exercises/raindrops/src/example.c +16 -18
  5. data/tracks/c/exercises/raindrops/src/example.h +1 -1
  6. data/tracks/c/exercises/raindrops/test/test_raindrops.c +25 -54
  7. data/tracks/clojure/config.json +256 -382
  8. data/tracks/clojure/config/maintainers.json +19 -19
  9. data/tracks/coq/docs/SNIPPET.txt +12 -0
  10. data/tracks/csharp/config.json +677 -678
  11. data/tracks/csharp/config/maintainers.json +27 -27
  12. data/tracks/csharp/docs/GENERATORS.md +2 -0
  13. data/tracks/csharp/exercises/bowling/BowlingTest.cs +163 -87
  14. data/tracks/csharp/exercises/bowling/Example.cs +47 -8
  15. data/tracks/csharp/generators/Exercises/Bowling.cs +116 -0
  16. data/tracks/elisp/config.json +84 -126
  17. data/tracks/elisp/config/maintainers.json +7 -7
  18. data/tracks/elixir/config.json +397 -513
  19. data/tracks/elixir/config/maintainers.json +15 -15
  20. data/tracks/erlang/.gitmodules +3 -0
  21. data/tracks/erlang/.travis.yml +1 -0
  22. data/tracks/erlang/exercises/hello-world/test/hello_world_tests.erl +1 -1
  23. data/tracks/erlang/testgen/.gitignore +19 -0
  24. data/tracks/erlang/testgen/LICENSE +21 -0
  25. data/tracks/erlang/testgen/README.md +14 -0
  26. data/tracks/erlang/testgen/include/tgen.hrl +6 -0
  27. data/tracks/erlang/testgen/rebar.config +15 -0
  28. data/tracks/erlang/testgen/src/testgen.app.src +15 -0
  29. data/tracks/erlang/testgen/src/testgen.erl +41 -0
  30. data/tracks/erlang/testgen/src/tg_file_tools.erl +14 -0
  31. data/tracks/erlang/testgen/src/tg_git_tools.erl +20 -0
  32. data/tracks/erlang/testgen/src/tgen.erl +126 -0
  33. data/tracks/erlang/testgen/src/tgen_hello-world.erl +35 -0
  34. data/tracks/fsharp/config.json +643 -643
  35. data/tracks/fsharp/config/maintainers.json +15 -15
  36. data/tracks/groovy/config.json +97 -101
  37. data/tracks/groovy/config/maintainers.json +7 -7
  38. data/tracks/haxe/docs/INSTALLATION.md +2 -0
  39. data/tracks/haxe/docs/SNIPPET.txt +7 -0
  40. data/tracks/haxe/docs/TESTS.md +24 -0
  41. data/tracks/idris/config.json +35 -37
  42. data/tracks/idris/config/maintainers.json +7 -7
  43. data/tracks/java/config.json +122 -122
  44. data/tracks/javascript/exercises/palindrome-products/README.md +6 -6
  45. data/tracks/kotlin/config.json +264 -383
  46. data/tracks/kotlin/config/maintainers.json +15 -15
  47. data/tracks/lfe/config.json +126 -188
  48. data/tracks/lfe/config/maintainers.json +7 -7
  49. data/tracks/lua/exercises/etl/README.md +1 -1
  50. data/tracks/lua/exercises/ocr-numbers/README.md +1 -1
  51. data/tracks/lua/exercises/pascals-triangle/README.md +1 -1
  52. data/tracks/lua/exercises/pov/README.md +1 -1
  53. data/tracks/lua/exercises/react/react_spec.lua +1 -1
  54. data/tracks/lua/exercises/rna-transcription/README.md +1 -1
  55. data/tracks/objective-c/config.json +8 -8
  56. data/tracks/objective-c/config/maintainers.json +15 -15
  57. data/tracks/perl6/docs/EXERCISE_README_INSERT.md +9 -5
  58. data/tracks/perl6/exercises/accumulate/README.md +9 -5
  59. data/tracks/perl6/exercises/all-your-base/README.md +9 -5
  60. data/tracks/perl6/exercises/allergies/README.md +9 -5
  61. data/tracks/perl6/exercises/anagram/README.md +9 -5
  62. data/tracks/perl6/exercises/atbash-cipher/README.md +9 -5
  63. data/tracks/perl6/exercises/binary/README.md +9 -5
  64. data/tracks/perl6/exercises/bob/README.md +9 -5
  65. data/tracks/perl6/exercises/clock/README.md +9 -5
  66. data/tracks/perl6/exercises/flatten-array/README.md +9 -5
  67. data/tracks/perl6/exercises/grade-school/README.md +9 -5
  68. data/tracks/perl6/exercises/grains/README.md +9 -5
  69. data/tracks/perl6/exercises/hello-world/README.md +9 -5
  70. data/tracks/perl6/exercises/leap/README.md +9 -5
  71. data/tracks/perl6/exercises/linked-list/README.md +9 -5
  72. data/tracks/perl6/exercises/luhn/README.md +9 -5
  73. data/tracks/perl6/exercises/phone-number/README.md +9 -5
  74. data/tracks/perl6/exercises/raindrops/README.md +9 -5
  75. data/tracks/perl6/exercises/rna-transcription/README.md +10 -6
  76. data/tracks/perl6/exercises/robot-name/README.md +9 -5
  77. data/tracks/perl6/exercises/scrabble-score/README.md +9 -5
  78. data/tracks/perl6/exercises/space-age/README.md +10 -7
  79. data/tracks/perl6/exercises/trinary/README.md +9 -5
  80. data/tracks/perl6/exercises/word-count/README.md +9 -5
  81. data/tracks/perl6/exercises/wordy/README.md +9 -5
  82. data/tracks/r/config.json +136 -138
  83. data/tracks/r/config/maintainers.json +15 -15
  84. data/tracks/racket/config.json +105 -151
  85. data/tracks/racket/config/maintainers.json +15 -15
  86. data/tracks/rust/.travis.yml +1 -0
  87. data/tracks/rust/_test/count-ignores.sh +16 -0
  88. data/tracks/rust/exercises/all-your-base/tests/all-your-base.rs +36 -36
  89. data/tracks/rust/exercises/alphametics/tests/alphametics.rs +2 -2
  90. data/tracks/rust/exercises/bowling/tests/bowling.rs +14 -14
  91. data/tracks/rust/exercises/circular-buffer/tests/circular-buffer.rs +16 -16
  92. data/tracks/rust/exercises/hamming/tests/hamming.rs +5 -5
  93. data/tracks/rust/exercises/largest-series-product/tests/largest-series-product.rs +12 -12
  94. data/tracks/rust/exercises/nucleotide-count/tests/nucleotide-count.rs +4 -4
  95. data/tracks/rust/exercises/ocr-numbers/tests/ocr-numbers.rs +15 -15
  96. data/tracks/rust/exercises/pascals-triangle/tests/pascals-triangle.rs +1 -1
  97. data/tracks/rust/exercises/protein-translation/tests/proteins.rs +6 -6
  98. data/tracks/rust/exercises/react/tests/react.rs +11 -11
  99. data/tracks/rust/exercises/variable-length-quantity/tests/variable-length-quantity.rs +13 -15
  100. data/tracks/rust/exercises/wordy/tests/wordy.rs +14 -14
  101. data/tracks/swift/config.json +447 -449
  102. data/tracks/swift/config/maintainers.json +15 -15
  103. data/tracks/typescript/config.json +294 -295
  104. data/tracks/typescript/config/maintainers.json +11 -11
  105. data/tracks/vbnet/docs/SNIPPET.txt +5 -0
  106. metadata +21 -2
@@ -16,22 +16,22 @@ It's possible (and indeed common) for a palindrome product to be the product
16
16
  of multiple combinations of numbers. For example, the palindrome product `9` has
17
17
  the factors `(1, 9)`, `(3, 3)`, and `(9, 1)`.
18
18
 
19
- Write a program that given a range of integers, returns the smallest and largest
20
- palindromic product within that range, along with all of it's factors.
19
+ Write a program that, given a range of integers, returns the smallest and largest
20
+ palindromic product within that range, along with all of its factors.
21
21
 
22
22
  ## Example 1
23
23
 
24
24
  Given the range `[1, 9]` (both inclusive)...
25
25
 
26
- The smallest product is `1`. It's factors are `(1, 1)`.
27
- The largest product is `9`. It's factors are `(1, 9)`, `(3, 3)`, and `(9, 1)`.
26
+ The smallest product is `1`. Its factors are `(1, 1)`.
27
+ The largest product is `9`. Its factors are `(1, 9)`, `(3, 3)`, and `(9, 1)`.
28
28
 
29
29
  ## Example 2
30
30
 
31
31
  Given the range `[10, 99]` (both inclusive)...
32
32
 
33
- The smallest palindrome product is `121`. It's factors are `(11, 11)`.
34
- The largest palindrome product is `9009`. It's factors are `(91, 99)` and `(99, 91)`.
33
+ The smallest palindrome product is `121`. Its factors are `(11, 11)`.
34
+ The largest palindrome product is `9009`. Its factors are `(91, 99)` and `(99, 91)`.
35
35
 
36
36
  ## Setup
37
37
 
@@ -1,646 +1,527 @@
1
1
  {
2
- "language": "Kotlin",
3
2
  "active": true,
4
- "foregone": [
5
-
6
- ],
7
3
  "exercises": [
8
4
  {
9
- "uuid": "58c16459-348a-4536-8228-43379174735e",
10
- "slug": "hello-world",
11
5
  "core": false,
12
- "unlocked_by": null,
13
6
  "difficulty": 1,
14
- "topics": [
15
-
16
- ]
7
+ "slug": "hello-world",
8
+ "topics": null,
9
+ "unlocked_by": null,
10
+ "uuid": "58c16459-348a-4536-8228-43379174735e"
17
11
  },
18
12
  {
19
- "uuid": "fa4194c5-084d-f780-4db6-707ef7bcc30c00e9ee5",
20
- "slug": "two-fer",
21
13
  "core": false,
22
- "unlocked_by": null,
23
14
  "difficulty": 2,
24
- "topics": [
25
-
26
- ]
15
+ "slug": "two-fer",
16
+ "topics": null,
17
+ "unlocked_by": null,
18
+ "uuid": "fa4194c5-084d-f780-4db6-707ef7bcc30c00e9ee5"
27
19
  },
28
20
  {
29
- "uuid": "9772c916-c619-445c-834d-af7dbf1ad2d9",
30
- "slug": "rna-transcription",
31
21
  "core": false,
32
- "unlocked_by": null,
33
22
  "difficulty": 2,
34
- "topics": [
35
-
36
- ]
23
+ "slug": "rna-transcription",
24
+ "topics": null,
25
+ "unlocked_by": null,
26
+ "uuid": "9772c916-c619-445c-834d-af7dbf1ad2d9"
37
27
  },
38
28
  {
39
- "uuid": "0e9ca09d-c32e-4fed-930f-1b7c10b67dc2",
40
- "slug": "pangram",
41
29
  "core": false,
42
- "unlocked_by": null,
43
30
  "difficulty": 3,
44
- "topics": [
45
-
46
- ]
31
+ "slug": "pangram",
32
+ "topics": null,
33
+ "unlocked_by": null,
34
+ "uuid": "0e9ca09d-c32e-4fed-930f-1b7c10b67dc2"
47
35
  },
48
36
  {
49
- "uuid": "7151ff23-ebc6-43d7-86b6-81cf0dd45309",
50
- "slug": "hamming",
51
37
  "core": false,
52
- "unlocked_by": null,
53
38
  "difficulty": 3,
54
- "topics": [
55
-
56
- ]
39
+ "slug": "hamming",
40
+ "topics": null,
41
+ "unlocked_by": null,
42
+ "uuid": "7151ff23-ebc6-43d7-86b6-81cf0dd45309"
57
43
  },
58
44
  {
59
- "uuid": "1eb4c9d3-0085-4ca3-b1bb-9a20b88a1e7f",
60
- "slug": "gigasecond",
61
45
  "core": false,
62
- "unlocked_by": null,
63
46
  "difficulty": 3,
64
- "topics": [
65
-
66
- ]
47
+ "slug": "gigasecond",
48
+ "topics": null,
49
+ "unlocked_by": null,
50
+ "uuid": "1eb4c9d3-0085-4ca3-b1bb-9a20b88a1e7f"
67
51
  },
68
52
  {
69
- "uuid": "a91ce7e9-9a2a-44de-b10c-cc1be63df2a1",
70
- "slug": "space-age",
71
53
  "core": false,
72
- "unlocked_by": null,
73
54
  "difficulty": 3,
74
- "topics": [
75
-
76
- ]
55
+ "slug": "space-age",
56
+ "topics": null,
57
+ "unlocked_by": null,
58
+ "uuid": "a91ce7e9-9a2a-44de-b10c-cc1be63df2a1"
77
59
  },
78
60
  {
79
- "uuid": "d8288e46-2e8c-42e4-8e14-20b1efd0f574",
80
- "slug": "acronym",
81
61
  "core": false,
82
- "unlocked_by": null,
83
62
  "difficulty": 3,
84
- "topics": [
85
-
86
- ]
63
+ "slug": "acronym",
64
+ "topics": null,
65
+ "unlocked_by": null,
66
+ "uuid": "d8288e46-2e8c-42e4-8e14-20b1efd0f574"
87
67
  },
88
68
  {
89
- "uuid": "4d8a68eb-eee9-4c51-97b8-57f3b69f5970",
90
- "slug": "scrabble-score",
91
69
  "core": false,
92
- "unlocked_by": null,
93
70
  "difficulty": 3,
94
- "topics": [
95
-
96
- ]
71
+ "slug": "scrabble-score",
72
+ "topics": null,
73
+ "unlocked_by": null,
74
+ "uuid": "4d8a68eb-eee9-4c51-97b8-57f3b69f5970"
97
75
  },
98
76
  {
99
- "uuid": "93ee76ba-d19f-4c72-b011-676f40dcda5e",
100
- "slug": "raindrops",
101
77
  "core": false,
102
- "unlocked_by": null,
103
78
  "difficulty": 3,
104
- "topics": [
105
-
106
- ]
79
+ "slug": "raindrops",
80
+ "topics": null,
81
+ "unlocked_by": null,
82
+ "uuid": "93ee76ba-d19f-4c72-b011-676f40dcda5e"
107
83
  },
108
84
  {
109
- "uuid": "d54a68fc-02dd-45ee-8c6f-3efb781ed0d2",
110
- "slug": "difference-of-squares",
111
85
  "core": false,
112
- "unlocked_by": null,
113
86
  "difficulty": 3,
114
- "topics": [
115
-
116
- ]
87
+ "slug": "difference-of-squares",
88
+ "topics": null,
89
+ "unlocked_by": null,
90
+ "uuid": "d54a68fc-02dd-45ee-8c6f-3efb781ed0d2"
117
91
  },
118
92
  {
119
- "uuid": "feee3ee9-81d5-4a4f-ad98-e1ecf21757ed",
120
- "slug": "secret-handshake",
121
93
  "core": false,
122
- "unlocked_by": null,
123
94
  "difficulty": 3,
124
- "topics": [
125
-
126
- ]
95
+ "slug": "secret-handshake",
96
+ "topics": null,
97
+ "unlocked_by": null,
98
+ "uuid": "feee3ee9-81d5-4a4f-ad98-e1ecf21757ed"
127
99
  },
128
100
  {
129
- "uuid": "ad7c8fd8-acf0-40d0-8a30-d959c4b0252a",
130
- "slug": "perfect-numbers",
131
101
  "core": false,
132
- "unlocked_by": null,
133
102
  "difficulty": 3,
134
- "topics": [
135
-
136
- ]
103
+ "slug": "perfect-numbers",
104
+ "topics": null,
105
+ "unlocked_by": null,
106
+ "uuid": "ad7c8fd8-acf0-40d0-8a30-d959c4b0252a"
137
107
  },
138
108
  {
139
- "uuid": "d3f960e5-cf19-4308-a1bc-897777f62689",
140
- "slug": "sum-of-multiples",
141
109
  "core": false,
142
- "unlocked_by": null,
143
110
  "difficulty": 4,
111
+ "slug": "sum-of-multiples",
144
112
  "topics": [
145
- "Ranges",
146
- "Collections",
147
- "Lambdas"
148
- ]
113
+ "collections",
114
+ "lambdas",
115
+ "ranges"
116
+ ],
117
+ "unlocked_by": null,
118
+ "uuid": "d3f960e5-cf19-4308-a1bc-897777f62689"
149
119
  },
150
120
  {
151
- "uuid": "3cf8a650-6a25-416e-a0af-036f41c11cca",
152
- "slug": "luhn",
153
121
  "core": false,
154
- "unlocked_by": null,
155
122
  "difficulty": 4,
156
- "topics": [
157
-
158
- ]
123
+ "slug": "luhn",
124
+ "topics": null,
125
+ "unlocked_by": null,
126
+ "uuid": "3cf8a650-6a25-416e-a0af-036f41c11cca"
159
127
  },
160
128
  {
161
- "uuid": "e282536b-267f-490c-a453-758135051a54",
162
- "slug": "triangle",
163
129
  "core": false,
164
- "unlocked_by": null,
165
130
  "difficulty": 4,
166
- "topics": [
167
-
168
- ]
131
+ "slug": "triangle",
132
+ "topics": null,
133
+ "unlocked_by": null,
134
+ "uuid": "e282536b-267f-490c-a453-758135051a54"
169
135
  },
170
136
  {
171
- "uuid": "aa11e242-77b9-4ba7-97a2-d9b36e454a9d",
172
- "slug": "largest-series-product",
173
137
  "core": false,
174
- "unlocked_by": null,
175
138
  "difficulty": 4,
176
- "topics": [
177
-
178
- ]
139
+ "slug": "largest-series-product",
140
+ "topics": null,
141
+ "unlocked_by": null,
142
+ "uuid": "aa11e242-77b9-4ba7-97a2-d9b36e454a9d"
179
143
  },
180
144
  {
181
- "uuid": "1fa1e0f9-6410-4197-8778-debeb274e6d4",
182
- "slug": "grains",
183
145
  "core": false,
184
- "unlocked_by": null,
185
146
  "difficulty": 4,
186
- "topics": [
187
-
188
- ]
147
+ "slug": "grains",
148
+ "topics": null,
149
+ "unlocked_by": null,
150
+ "uuid": "1fa1e0f9-6410-4197-8778-debeb274e6d4"
189
151
  },
190
152
  {
191
- "uuid": "87ca4323-8a19-4529-962d-0f2ee63ebb2f",
192
- "slug": "sieve",
193
153
  "core": false,
194
- "unlocked_by": null,
195
154
  "difficulty": 4,
196
- "topics": [
197
-
198
- ]
155
+ "slug": "sieve",
156
+ "topics": null,
157
+ "unlocked_by": null,
158
+ "uuid": "87ca4323-8a19-4529-962d-0f2ee63ebb2f"
199
159
  },
200
160
  {
201
- "uuid": "ab52d0f4-a001-4d44-951e-0cfc396374f3",
202
- "slug": "collatz-conjecture",
203
161
  "core": false,
204
- "unlocked_by": null,
205
162
  "difficulty": 4,
206
- "topics": [
207
-
208
- ]
163
+ "slug": "collatz-conjecture",
164
+ "topics": null,
165
+ "unlocked_by": null,
166
+ "uuid": "ab52d0f4-a001-4d44-951e-0cfc396374f3"
209
167
  },
210
168
  {
211
- "uuid": "b325401a-c8f0-49da-9f1a-a83318e780c9",
212
- "slug": "atbash-cipher",
213
169
  "core": false,
214
- "unlocked_by": null,
215
170
  "difficulty": 4,
216
- "topics": [
217
-
218
- ]
171
+ "slug": "atbash-cipher",
172
+ "topics": null,
173
+ "unlocked_by": null,
174
+ "uuid": "b325401a-c8f0-49da-9f1a-a83318e780c9"
219
175
  },
220
176
  {
221
- "uuid": "6e2bbe8d-b6ab-4675-9c31-5b437cefd0c4",
222
- "slug": "nth-prime",
223
177
  "core": false,
224
- "unlocked_by": null,
225
178
  "difficulty": 4,
226
- "topics": [
227
-
228
- ]
179
+ "slug": "nth-prime",
180
+ "topics": null,
181
+ "unlocked_by": null,
182
+ "uuid": "6e2bbe8d-b6ab-4675-9c31-5b437cefd0c4"
229
183
  },
230
184
  {
231
- "uuid": "371901d4-0728-4abd-8374-1905d7d70329",
232
- "slug": "saddle-points",
233
185
  "core": false,
234
- "unlocked_by": null,
235
186
  "difficulty": 4,
236
- "topics": [
237
-
238
- ]
187
+ "slug": "saddle-points",
188
+ "topics": null,
189
+ "unlocked_by": null,
190
+ "uuid": "371901d4-0728-4abd-8374-1905d7d70329"
239
191
  },
240
192
  {
241
- "uuid": "03c71e34-ecaf-47a4-9854-48600e1bf0d4",
242
- "slug": "diamond",
243
193
  "core": false,
244
- "unlocked_by": null,
245
194
  "difficulty": 4,
246
- "topics": [
247
-
248
- ]
195
+ "slug": "diamond",
196
+ "topics": null,
197
+ "unlocked_by": null,
198
+ "uuid": "03c71e34-ecaf-47a4-9854-48600e1bf0d4"
249
199
  },
250
200
  {
251
- "uuid": "e5338be9-6f51-4448-9b10-20de7b1338b9",
252
- "slug": "isogram",
253
201
  "core": false,
254
- "unlocked_by": null,
255
202
  "difficulty": 4,
256
- "topics": [
257
-
258
- ]
203
+ "slug": "isogram",
204
+ "topics": null,
205
+ "unlocked_by": null,
206
+ "uuid": "e5338be9-6f51-4448-9b10-20de7b1338b9"
259
207
  },
260
208
  {
261
- "uuid": "c67907b6-0d8b-4b12-9c41-6069845952a3",
262
- "slug": "flatten-array",
263
209
  "core": false,
264
- "unlocked_by": null,
265
210
  "difficulty": 5,
266
- "topics": [
267
-
268
- ]
211
+ "slug": "flatten-array",
212
+ "topics": null,
213
+ "unlocked_by": null,
214
+ "uuid": "c67907b6-0d8b-4b12-9c41-6069845952a3"
269
215
  },
270
216
  {
271
- "uuid": "cb2ce8e5-f143-4423-a3bc-959f4222c186",
272
- "slug": "pig-latin",
273
217
  "core": false,
274
- "unlocked_by": null,
275
218
  "difficulty": 5,
276
- "topics": [
277
-
278
- ]
219
+ "slug": "pig-latin",
220
+ "topics": null,
221
+ "unlocked_by": null,
222
+ "uuid": "cb2ce8e5-f143-4423-a3bc-959f4222c186"
279
223
  },
280
224
  {
281
- "uuid": "2c8c1c16-bbb8-49e5-a248-f7a473c2bc86",
282
- "slug": "phone-number",
283
225
  "core": false,
284
- "unlocked_by": null,
285
226
  "difficulty": 5,
286
- "topics": [
287
-
288
- ]
227
+ "slug": "phone-number",
228
+ "topics": null,
229
+ "unlocked_by": null,
230
+ "uuid": "2c8c1c16-bbb8-49e5-a248-f7a473c2bc86"
289
231
  },
290
232
  {
291
- "uuid": "62bd648a-e959-4ec4-8a5f-09e08fa0b2c8",
292
- "slug": "nucleotide-count",
293
233
  "core": false,
294
- "unlocked_by": null,
295
234
  "difficulty": 5,
296
- "topics": [
297
-
298
- ]
235
+ "slug": "nucleotide-count",
236
+ "topics": null,
237
+ "unlocked_by": null,
238
+ "uuid": "62bd648a-e959-4ec4-8a5f-09e08fa0b2c8"
299
239
  },
300
240
  {
301
- "uuid": "3b8b77ef-da2d-499d-9513-8fe771e86b3e",
302
- "slug": "word-count",
303
241
  "core": false,
304
- "unlocked_by": null,
305
242
  "difficulty": 5,
306
- "topics": [
307
-
308
- ]
243
+ "slug": "word-count",
244
+ "topics": null,
245
+ "unlocked_by": null,
246
+ "uuid": "3b8b77ef-da2d-499d-9513-8fe771e86b3e"
309
247
  },
310
248
  {
311
- "uuid": "e3407da5-0524-4565-b724-9778bba1033f",
312
- "slug": "spiral-matrix",
313
249
  "core": false,
314
- "unlocked_by": null,
315
250
  "difficulty": 5,
316
- "topics": [
317
-
318
- ]
251
+ "slug": "spiral-matrix",
252
+ "topics": null,
253
+ "unlocked_by": null,
254
+ "uuid": "e3407da5-0524-4565-b724-9778bba1033f"
319
255
  },
320
256
  {
321
- "uuid": "ce475b23-5dfc-4049-90c5-0c387926686f",
322
- "slug": "robot-name",
323
257
  "core": false,
324
- "unlocked_by": null,
325
258
  "difficulty": 5,
326
- "topics": [
327
-
328
- ]
259
+ "slug": "robot-name",
260
+ "topics": null,
261
+ "unlocked_by": null,
262
+ "uuid": "ce475b23-5dfc-4049-90c5-0c387926686f"
329
263
  },
330
264
  {
331
- "uuid": "0e92ba19-2727-4a5e-be38-e88878322c53",
332
- "slug": "prime-factors",
333
265
  "core": false,
334
- "unlocked_by": null,
335
266
  "difficulty": 5,
336
- "topics": [
337
-
338
- ]
267
+ "slug": "prime-factors",
268
+ "topics": null,
269
+ "unlocked_by": null,
270
+ "uuid": "0e92ba19-2727-4a5e-be38-e88878322c53"
339
271
  },
340
272
  {
341
- "uuid": "a826af04-b7f3-426e-9bce-42375d0d928b",
342
- "slug": "allergies",
343
273
  "core": false,
344
- "unlocked_by": null,
345
274
  "difficulty": 5,
346
- "topics": [
347
-
348
- ]
275
+ "slug": "allergies",
276
+ "topics": null,
277
+ "unlocked_by": null,
278
+ "uuid": "a826af04-b7f3-426e-9bce-42375d0d928b"
349
279
  },
350
280
  {
351
- "uuid": "f3713067-7f37-4dd6-a189-c80f46dab8ec",
352
- "slug": "bob",
353
281
  "core": false,
354
- "unlocked_by": null,
355
282
  "difficulty": 5,
356
- "topics": [
357
-
358
- ]
283
+ "slug": "bob",
284
+ "topics": null,
285
+ "unlocked_by": null,
286
+ "uuid": "f3713067-7f37-4dd6-a189-c80f46dab8ec"
359
287
  },
360
288
  {
361
- "uuid": "67db30e4-b4d8-4224-b0f8-19a00af40387",
362
- "slug": "pascals-triangle",
363
289
  "core": false,
364
- "unlocked_by": null,
365
290
  "difficulty": 5,
366
- "topics": [
367
-
368
- ]
291
+ "slug": "pascals-triangle",
292
+ "topics": null,
293
+ "unlocked_by": null,
294
+ "uuid": "67db30e4-b4d8-4224-b0f8-19a00af40387"
369
295
  },
370
296
  {
371
- "uuid": "cbbbd7db-224f-45ca-a108-4dc6bc98e4a0",
372
- "slug": "bracket-push",
373
297
  "core": false,
374
- "unlocked_by": null,
375
298
  "difficulty": 5,
376
- "topics": [
377
-
378
- ]
299
+ "slug": "bracket-push",
300
+ "topics": null,
301
+ "unlocked_by": null,
302
+ "uuid": "cbbbd7db-224f-45ca-a108-4dc6bc98e4a0"
379
303
  },
380
304
  {
381
- "uuid": "9caa5fd9-a774-4d4c-951d-053a4f3f2726",
382
- "slug": "series",
383
305
  "core": false,
384
- "unlocked_by": null,
385
306
  "difficulty": 5,
386
- "topics": [
387
-
388
- ]
307
+ "slug": "series",
308
+ "topics": null,
309
+ "unlocked_by": null,
310
+ "uuid": "9caa5fd9-a774-4d4c-951d-053a4f3f2726"
389
311
  },
390
312
  {
391
- "uuid": "7c24087a-ca61-48d3-9cb9-c3fde2edba86",
392
- "slug": "rotational-cipher",
393
313
  "core": false,
394
- "unlocked_by": null,
395
314
  "difficulty": 5,
396
- "topics": [
397
-
398
- ]
315
+ "slug": "rotational-cipher",
316
+ "topics": null,
317
+ "unlocked_by": null,
318
+ "uuid": "7c24087a-ca61-48d3-9cb9-c3fde2edba86"
399
319
  },
400
320
  {
401
- "uuid": "da466ad5-6837-47d8-af39-2c0563d35a3c",
402
- "slug": "roman-numerals",
403
321
  "core": false,
404
- "unlocked_by": null,
405
322
  "difficulty": 6,
406
- "topics": [
407
-
408
- ]
323
+ "slug": "roman-numerals",
324
+ "topics": null,
325
+ "unlocked_by": null,
326
+ "uuid": "da466ad5-6837-47d8-af39-2c0563d35a3c"
409
327
  },
410
328
  {
411
- "uuid": "34f0e7d0-29df-44e5-a7a7-4a12584af62e",
412
- "slug": "beer-song",
413
329
  "core": false,
414
- "unlocked_by": null,
415
330
  "difficulty": 6,
416
- "topics": [
417
-
418
- ]
331
+ "slug": "beer-song",
332
+ "topics": null,
333
+ "unlocked_by": null,
334
+ "uuid": "34f0e7d0-29df-44e5-a7a7-4a12584af62e"
419
335
  },
420
336
  {
421
- "uuid": "f0f297f2-429f-4626-8b7f-0706a1e8f255",
422
- "slug": "etl",
423
337
  "core": false,
424
- "unlocked_by": null,
425
338
  "difficulty": 6,
426
- "topics": [
427
-
428
- ]
339
+ "slug": "etl",
340
+ "topics": null,
341
+ "unlocked_by": null,
342
+ "uuid": "f0f297f2-429f-4626-8b7f-0706a1e8f255"
429
343
  },
430
344
  {
431
- "uuid": "fc977979-c8a4-44b6-a685-c8a32bd12bc3",
432
- "slug": "linked-list",
433
345
  "core": false,
434
- "unlocked_by": null,
435
346
  "difficulty": 6,
436
- "topics": [
437
-
438
- ]
347
+ "slug": "linked-list",
348
+ "topics": null,
349
+ "unlocked_by": null,
350
+ "uuid": "fc977979-c8a4-44b6-a685-c8a32bd12bc3"
439
351
  },
440
352
  {
441
- "uuid": "62eb71dd-18ba-427f-a27a-86e993b4055a",
442
- "slug": "grade-school",
443
353
  "core": false,
444
- "unlocked_by": null,
445
354
  "difficulty": 6,
446
- "topics": [
447
-
448
- ]
355
+ "slug": "grade-school",
356
+ "topics": null,
357
+ "unlocked_by": null,
358
+ "uuid": "62eb71dd-18ba-427f-a27a-86e993b4055a"
449
359
  },
450
360
  {
451
- "uuid": "6e3b294b-16a3-4ebb-a78b-4bf7f6b96736",
452
- "slug": "robot-simulator",
453
361
  "core": false,
454
- "unlocked_by": null,
455
362
  "difficulty": 6,
456
- "topics": [
457
-
458
- ]
363
+ "slug": "robot-simulator",
364
+ "topics": null,
365
+ "unlocked_by": null,
366
+ "uuid": "6e3b294b-16a3-4ebb-a78b-4bf7f6b96736"
459
367
  },
460
368
  {
461
- "uuid": "c8815b6c-19b8-4f4d-9be4-6717e933591a",
462
- "slug": "binary-search",
463
369
  "core": false,
464
- "unlocked_by": null,
465
370
  "difficulty": 6,
466
- "topics": [
467
-
468
- ]
371
+ "slug": "binary-search",
372
+ "topics": null,
373
+ "unlocked_by": null,
374
+ "uuid": "c8815b6c-19b8-4f4d-9be4-6717e933591a"
469
375
  },
470
376
  {
471
- "uuid": "8eb6f225-fa3d-4a33-b476-2cae45053c82",
472
- "slug": "minesweeper",
473
377
  "core": false,
474
- "unlocked_by": null,
475
378
  "difficulty": 6,
476
- "topics": [
477
-
478
- ]
379
+ "slug": "minesweeper",
380
+ "topics": null,
381
+ "unlocked_by": null,
382
+ "uuid": "8eb6f225-fa3d-4a33-b476-2cae45053c82"
479
383
  },
480
384
  {
481
- "uuid": "19d00436-f26a-47ad-b13e-128181dc09f3",
482
- "slug": "all-your-base",
483
385
  "core": false,
484
- "unlocked_by": null,
485
386
  "difficulty": 6,
486
- "topics": [
487
-
488
- ]
387
+ "slug": "all-your-base",
388
+ "topics": null,
389
+ "unlocked_by": null,
390
+ "uuid": "19d00436-f26a-47ad-b13e-128181dc09f3"
489
391
  },
490
392
  {
491
- "uuid": "5607dae5-13aa-4cd4-8b4c-d270516182d7",
492
- "slug": "say",
493
393
  "core": false,
494
- "unlocked_by": null,
495
394
  "difficulty": 6,
496
- "topics": [
497
-
498
- ]
395
+ "slug": "say",
396
+ "topics": null,
397
+ "unlocked_by": null,
398
+ "uuid": "5607dae5-13aa-4cd4-8b4c-d270516182d7"
499
399
  },
500
400
  {
501
- "uuid": "f754e1cc-cb88-4776-ab11-3e6ae8362d5a",
502
- "slug": "anagram",
503
401
  "core": false,
504
- "unlocked_by": null,
505
402
  "difficulty": 7,
506
- "topics": [
507
-
508
- ]
403
+ "slug": "anagram",
404
+ "topics": null,
405
+ "unlocked_by": null,
406
+ "uuid": "f754e1cc-cb88-4776-ab11-3e6ae8362d5a"
509
407
  },
510
408
  {
511
- "uuid": "ebfdf40a-1fde-4c88-aa93-95e3190f5261",
512
- "slug": "sublist",
513
409
  "core": false,
514
- "unlocked_by": null,
515
410
  "difficulty": 7,
516
- "topics": [
517
-
518
- ]
411
+ "slug": "sublist",
412
+ "topics": null,
413
+ "unlocked_by": null,
414
+ "uuid": "ebfdf40a-1fde-4c88-aa93-95e3190f5261"
519
415
  },
520
416
  {
521
- "uuid": "d617987e-64b8-4c21-89a9-66a932c4668d",
522
- "slug": "meetup",
523
417
  "core": false,
524
- "unlocked_by": null,
525
418
  "difficulty": 7,
526
- "topics": [
527
-
528
- ]
419
+ "slug": "meetup",
420
+ "topics": null,
421
+ "unlocked_by": null,
422
+ "uuid": "d617987e-64b8-4c21-89a9-66a932c4668d"
529
423
  },
530
424
  {
531
- "uuid": "1dcefdea-5447-4622-a064-079aad781398",
532
- "slug": "clock",
533
425
  "core": false,
534
- "unlocked_by": null,
535
426
  "difficulty": 7,
536
- "topics": [
537
-
538
- ]
427
+ "slug": "clock",
428
+ "topics": null,
429
+ "unlocked_by": null,
430
+ "uuid": "1dcefdea-5447-4622-a064-079aad781398"
539
431
  },
540
432
  {
541
- "uuid": "e23b06de-bd91-482f-9783-b0334b75b489",
542
- "slug": "simple-cipher",
543
433
  "core": false,
544
- "unlocked_by": null,
545
434
  "difficulty": 8,
546
- "topics": [
547
-
548
- ]
435
+ "slug": "simple-cipher",
436
+ "topics": null,
437
+ "unlocked_by": null,
438
+ "uuid": "e23b06de-bd91-482f-9783-b0334b75b489"
549
439
  },
550
440
  {
551
- "uuid": "83dec96f-9cdf-4b9b-abc4-cbd2066d919a",
552
- "slug": "complex-numbers",
553
441
  "core": false,
554
- "unlocked_by": null,
555
442
  "difficulty": 8,
556
- "topics": [
557
-
558
- ]
443
+ "slug": "complex-numbers",
444
+ "topics": null,
445
+ "unlocked_by": null,
446
+ "uuid": "83dec96f-9cdf-4b9b-abc4-cbd2066d919a"
559
447
  },
560
448
  {
561
- "uuid": "0d69c1cd-f190-4b3b-8472-bf78c02acbc5",
562
- "slug": "change",
563
449
  "core": false,
564
- "unlocked_by": null,
565
450
  "difficulty": 8,
566
- "topics": [
567
-
568
- ]
451
+ "slug": "change",
452
+ "topics": null,
453
+ "unlocked_by": null,
454
+ "uuid": "0d69c1cd-f190-4b3b-8472-bf78c02acbc5"
569
455
  },
570
456
  {
571
- "uuid": "eecd4f8b-eedc-49a3-adad-49747521ef66",
572
- "slug": "forth",
573
- "core": false,
574
- "unlocked_by": null,
457
+ "core": false,
575
458
  "difficulty": 9,
576
- "topics": [
577
-
578
- ]
459
+ "slug": "forth",
460
+ "topics": null,
461
+ "unlocked_by": null,
462
+ "uuid": "eecd4f8b-eedc-49a3-adad-49747521ef66"
579
463
  },
580
464
  {
581
- "uuid": "240788cd-afa5-4fd6-8df0-a158239c0610",
582
- "slug": "react",
583
465
  "core": false,
584
- "unlocked_by": null,
585
466
  "difficulty": 10,
467
+ "slug": "react",
586
468
  "topics": [
587
- "Reactive programming",
588
- "Generics",
589
- "Nested classes",
590
- "Higher-order functions"
591
- ]
469
+ "generics",
470
+ "higher_order_functions",
471
+ "nested_classes",
472
+ "reactive_programming"
473
+ ],
474
+ "unlocked_by": null,
475
+ "uuid": "240788cd-afa5-4fd6-8df0-a158239c0610"
592
476
  },
593
477
  {
594
- "uuid": "639e59b6-84aa-4f13-9718-537606703c43",
595
- "slug": "leap",
596
478
  "core": false,
597
- "unlocked_by": null,
598
479
  "difficulty": 1,
599
- "topics": [
600
-
601
- ]
480
+ "slug": "leap",
481
+ "topics": null,
482
+ "unlocked_by": null,
483
+ "uuid": "639e59b6-84aa-4f13-9718-537606703c43"
602
484
  },
603
485
  {
604
- "uuid": "34f1d5bf-f31f-415e-9905-4d48e6205d28",
605
- "slug": "list-ops",
606
486
  "core": false,
607
- "unlocked_by": null,
608
487
  "difficulty": 1,
609
- "topics": [
610
-
611
- ]
488
+ "slug": "list-ops",
489
+ "topics": null,
490
+ "unlocked_by": null,
491
+ "uuid": "34f1d5bf-f31f-415e-9905-4d48e6205d28"
612
492
  },
613
493
  {
614
- "uuid": "12e1d685-32be-4b2c-a40b-c68e5b60de1d",
615
- "slug": "bank-account",
616
494
  "core": false,
617
- "unlocked_by": null,
618
495
  "difficulty": 1,
496
+ "slug": "bank-account",
619
497
  "topics": [
620
- "Concurrency"
621
- ]
498
+ "concurrency"
499
+ ],
500
+ "unlocked_by": null,
501
+ "uuid": "12e1d685-32be-4b2c-a40b-c68e5b60de1d"
622
502
  },
623
503
  {
624
- "uuid": "86015770-603b-44cf-aedf-f2a7cf79c841",
504
+ "deprecated": true,
625
505
  "slug": "accumulate",
626
- "deprecated": true
506
+ "uuid": "86015770-603b-44cf-aedf-f2a7cf79c841"
627
507
  },
628
508
  {
629
- "uuid": "def44955-c048-4b74-8777-2fb7d779b09e",
509
+ "deprecated": true,
630
510
  "slug": "binary",
631
- "deprecated": true
511
+ "uuid": "def44955-c048-4b74-8777-2fb7d779b09e"
632
512
  },
633
513
  {
634
- "uuid": "13b1a62e-8e0e-4d57-b8c9-341b41f25cf5",
514
+ "deprecated": true,
635
515
  "slug": "hexadecimal",
636
- "deprecated": true
516
+ "uuid": "13b1a62e-8e0e-4d57-b8c9-341b41f25cf5"
637
517
  },
638
518
  {
639
- "uuid": "8ae8492d-620c-4446-9928-5b4d78d496d9",
519
+ "deprecated": true,
640
520
  "slug": "strain",
641
- "deprecated": true
521
+ "uuid": "8ae8492d-620c-4446-9928-5b4d78d496d9"
642
522
  }
643
523
  ],
524
+ "foregone": [],
525
+ "language": "Kotlin",
644
526
  "solution_pattern": "reference"
645
- }
646
-
527
+ }