trackler 2.2.1.160 → 2.2.1.161

Sign up to get free protection for your applications and to get access to all the features.
Files changed (100) hide show
  1. checksums.yaml +4 -4
  2. data/lib/trackler/version.rb +1 -1
  3. data/tracks/ballerina/.gitignore +4 -0
  4. data/tracks/ballerina/.travis.yml +5 -0
  5. data/tracks/ballerina/LICENSE +21 -0
  6. data/tracks/ballerina/README.md +67 -0
  7. data/tracks/ballerina/bin/fetch-configlet +32 -0
  8. data/tracks/ballerina/config.json +11 -0
  9. data/tracks/ballerina/config/exercise-readme-insert.md +0 -0
  10. data/tracks/ballerina/config/exercise_readme.go.tmpl +16 -0
  11. data/tracks/ballerina/config/maintainers.json +4 -0
  12. data/tracks/ballerina/docs/ABOUT.md +0 -0
  13. data/tracks/ballerina/docs/INSTALLATION.md +0 -0
  14. data/tracks/ballerina/docs/LEARNING.md +0 -0
  15. data/tracks/ballerina/docs/RESOURCES.md +0 -0
  16. data/tracks/ballerina/docs/TESTS.md +0 -0
  17. data/tracks/ballerina/img/.keep +0 -0
  18. data/tracks/c/config.json +1 -1
  19. data/tracks/kotlin/config.json +400 -86
  20. data/tracks/kotlin/config/maintainers.json +10 -0
  21. data/tracks/objective-c/config.json +208 -208
  22. data/tracks/objective-c/config/maintainers.json +16 -16
  23. data/tracks/objective-c/docs/ABOUT.md +5 -1
  24. data/tracks/powershell/config.json +1 -1
  25. data/tracks/powershell/exercises/reverse-string/ReverseString.example.ps1 +13 -0
  26. data/tracks/powershell/exercises/reverse-string/ReverseString.ps1 +13 -1
  27. data/tracks/powershell/exercises/sum-of-multiples/SumOfMultiples.example.ps1 +18 -0
  28. data/tracks/powershell/exercises/sum-of-multiples/SumOfMultiples.ps1 +18 -0
  29. data/tracks/prolog/config.json +31 -63
  30. data/tracks/prolog/config/maintainers.json +8 -8
  31. data/tracks/prolog/docs/SNIPPET.txt +10 -5
  32. data/tracks/python/config.json +1 -0
  33. data/tracks/python/docs/ABOUT.md +8 -8
  34. data/tracks/python/exercises/all-your-base/all_your_base_test.py +1 -1
  35. data/tracks/python/exercises/allergies/allergies_test.py +1 -1
  36. data/tracks/python/exercises/alphametics/alphametics_test.py +1 -1
  37. data/tracks/python/exercises/anagram/anagram_test.py +1 -1
  38. data/tracks/python/exercises/armstrong-numbers/armstrong_numbers_test.py +1 -1
  39. data/tracks/python/exercises/bank-account/bank_account_test.py +1 -1
  40. data/tracks/python/exercises/beer-song/beer_song_test.py +1 -1
  41. data/tracks/python/exercises/binary-search-tree/binary_search_tree_test.py +1 -1
  42. data/tracks/python/exercises/binary-search/binary_search_test.py +1 -1
  43. data/tracks/python/exercises/binary/binary_test.py +1 -1
  44. data/tracks/python/exercises/bob/bob_test.py +1 -1
  45. data/tracks/python/exercises/book-store/book_store_test.py +1 -1
  46. data/tracks/python/exercises/bowling/bowling_test.py +1 -1
  47. data/tracks/python/exercises/bracket-push/bracket_push_test.py +1 -1
  48. data/tracks/python/exercises/collatz-conjecture/collatz_conjecture_test.py +1 -1
  49. data/tracks/python/exercises/diamond/diamond_test.py +1 -1
  50. data/tracks/python/exercises/etl/etl_test.py +1 -1
  51. data/tracks/python/exercises/flatten-array/flatten_array_test.py +1 -1
  52. data/tracks/python/exercises/grade-school/grade_school_test.py +1 -1
  53. data/tracks/python/exercises/hello-world/hello_world_test.py +1 -1
  54. data/tracks/python/exercises/house/house_test.py +1 -1
  55. data/tracks/python/exercises/isbn-verifier/isbn_verifier_test.py +1 -1
  56. data/tracks/python/exercises/isogram/isogram_test.py +1 -1
  57. data/tracks/python/exercises/kindergarten-garden/kindergarten_garden_test.py +1 -1
  58. data/tracks/python/exercises/largest-series-product/largest_series_product_test.py +1 -1
  59. data/tracks/python/exercises/leap/leap_test.py +1 -1
  60. data/tracks/python/exercises/linked-list/linked_list_test.py +1 -1
  61. data/tracks/python/exercises/luhn/luhn_test.py +1 -1
  62. data/tracks/python/exercises/markdown/markdown_test.py +1 -1
  63. data/tracks/python/exercises/nth-prime/nth_prime_test.py +1 -1
  64. data/tracks/python/exercises/nucleotide-count/nucleotide_count_test.py +1 -1
  65. data/tracks/python/exercises/ocr-numbers/ocr_numbers_test.py +1 -1
  66. data/tracks/python/exercises/palindrome-products/palindrome_products_test.py +1 -1
  67. data/tracks/python/exercises/pangram/pangram_test.py +1 -1
  68. data/tracks/python/exercises/phone-number/phone_number_test.py +1 -1
  69. data/tracks/python/exercises/pig-latin/pig_latin_test.py +1 -1
  70. data/tracks/python/exercises/point-mutations/point_mutations_test.py +1 -1
  71. data/tracks/python/exercises/protein-translation/protein_translation_test.py +1 -1
  72. data/tracks/python/exercises/rail-fence-cipher/rail_fence_cipher_test.py +1 -1
  73. data/tracks/python/exercises/rational-numbers/rational_numbers_test.py +1 -1
  74. data/tracks/python/exercises/react/react_test.py +1 -1
  75. data/tracks/python/exercises/rectangles/rectangles_test.py +1 -1
  76. data/tracks/python/exercises/reverse-string/reverse_string_test.py +1 -1
  77. data/tracks/python/exercises/rna-transcription/rna_transcription_test.py +1 -1
  78. data/tracks/python/exercises/robot-name/robot_name_test.py +1 -1
  79. data/tracks/python/exercises/robot-simulator/robot_simulator_test.py +1 -1
  80. data/tracks/python/exercises/roman-numerals/roman_numerals_test.py +1 -1
  81. data/tracks/python/exercises/rotational-cipher/rotational_cipher_test.py +1 -1
  82. data/tracks/python/exercises/run-length-encoding/run_length_encoding_test.py +1 -1
  83. data/tracks/python/exercises/saddle-points/saddle_points_test.py +1 -1
  84. data/tracks/python/exercises/scrabble-score/scrabble_score_test.py +1 -1
  85. data/tracks/python/exercises/secret-handshake/secret_handshake_test.py +1 -1
  86. data/tracks/python/exercises/simple-cipher/simple_cipher_test.py +1 -1
  87. data/tracks/python/exercises/simple-linked-list/simple_linked_list_test.py +1 -1
  88. data/tracks/python/exercises/tournament/tournament_test.py +1 -1
  89. data/tracks/python/exercises/transpose/transpose_test.py +1 -1
  90. data/tracks/python/exercises/tree-building/tree_building_test.py +1 -1
  91. data/tracks/python/exercises/twelve-days/twelve_days_test.py +1 -3
  92. data/tracks/python/exercises/two-fer/two_fer_test.py +1 -1
  93. data/tracks/python/exercises/variable-length-quantity/variable_length_quantity_test.py +1 -1
  94. data/tracks/python/exercises/word-count/word_count_test.py +1 -1
  95. data/tracks/python/exercises/word-search/word_search_test.py +1 -1
  96. data/tracks/python/exercises/yacht/yacht_test.py +1 -1
  97. data/tracks/swift/config.json +369 -353
  98. data/tracks/swift/config/maintainers.json +16 -16
  99. data/tracks/vimscript/docs/ABOUT.md +23 -34
  100. metadata +18 -2
@@ -30,6 +30,16 @@
30
30
  "link_url": null,
31
31
  "avatar_url": null,
32
32
  "bio": null
33
+ },
34
+ {
35
+ "github_username": "sjwarner-bp",
36
+ "alumnus": false,
37
+ "show_on_website": true,
38
+ "name": "Sam Warner",
39
+ "link_text": null,
40
+ "link_url": null,
41
+ "avatar_url": null,
42
+ "bio": "I am a software developer and consultant working for Black Pepper Software, a software company based in Leamington Spa, England. I'm a recent Computer Science graduate from the University of Warwick, and love all things to do with computers!"
33
43
  }
34
44
  ]
35
45
  }
@@ -1,579 +1,579 @@
1
1
  {
2
+ "language": "Objective-C",
2
3
  "active": true,
4
+ "blurb": "",
3
5
  "exercises": [
4
6
  {
7
+ "slug": "hello-world",
8
+ "uuid": "da5eb908-8cdf-4f99-93f7-c2b7dcb4fb37",
5
9
  "core": false,
10
+ "unlocked_by": null,
6
11
  "difficulty": 1,
7
- "slug": "hello-world",
8
12
  "topics": [
9
13
  "optional_values",
10
14
  "text_formatting"
11
- ],
12
- "unlocked_by": null,
13
- "uuid": "da5eb908-8cdf-4f99-93f7-c2b7dcb4fb37"
15
+ ]
14
16
  },
15
17
  {
18
+ "slug": "two-fer",
19
+ "uuid": "46da53f3-a39b-4f19-8ade-87f434cf12ec",
16
20
  "core": false,
21
+ "unlocked_by": null,
17
22
  "difficulty": 1,
18
- "slug": "two-fer",
19
23
  "topics": [
20
24
  "optional_values",
21
25
  "text_formatting"
22
- ],
23
- "unlocked_by": null,
24
- "uuid": "46da53f3-a39b-4f19-8ade-87f434cf12ec"
26
+ ]
25
27
  },
26
28
  {
29
+ "slug": "bob",
30
+ "uuid": "3438b44a-3e0e-4488-b4e1-57dadbed5f3a",
27
31
  "core": false,
32
+ "unlocked_by": null,
28
33
  "difficulty": 1,
29
- "slug": "bob",
30
34
  "topics": [
31
35
  "control_flow_if_else_statements",
32
36
  "strings"
33
- ],
34
- "unlocked_by": null,
35
- "uuid": "3438b44a-3e0e-4488-b4e1-57dadbed5f3a"
37
+ ]
36
38
  },
37
39
  {
40
+ "slug": "leap",
41
+ "uuid": "0b3db961-0ee2-4903-8237-4333dee92b68",
38
42
  "core": false,
43
+ "unlocked_by": null,
39
44
  "difficulty": 1,
40
- "slug": "leap",
41
45
  "topics": [
42
46
  "integers"
43
- ],
44
- "unlocked_by": null,
45
- "uuid": "0b3db961-0ee2-4903-8237-4333dee92b68"
47
+ ]
46
48
  },
47
49
  {
50
+ "slug": "gigasecond",
51
+ "uuid": "1ac87e91-5174-44c6-93b6-deef7c2f4438",
48
52
  "core": false,
53
+ "unlocked_by": null,
49
54
  "difficulty": 1,
50
- "slug": "gigasecond",
51
55
  "topics": [
52
56
  "dates"
53
- ],
54
- "unlocked_by": null,
55
- "uuid": "1ac87e91-5174-44c6-93b6-deef7c2f4438"
57
+ ]
56
58
  },
57
59
  {
60
+ "slug": "difference-of-squares",
61
+ "uuid": "30cfe053-ef80-42c8-b196-3a05f61e0190",
58
62
  "core": false,
63
+ "unlocked_by": null,
59
64
  "difficulty": 1,
60
- "slug": "difference-of-squares",
61
65
  "topics": [
62
66
  "integers"
63
- ],
64
- "unlocked_by": null,
65
- "uuid": "30cfe053-ef80-42c8-b196-3a05f61e0190"
67
+ ]
66
68
  },
67
69
  {
70
+ "slug": "reverse-string",
71
+ "uuid": "f90558fe-43a3-44e5-b720-edc664b7dc5f",
68
72
  "core": false,
73
+ "unlocked_by": null,
69
74
  "difficulty": 1,
70
- "slug": "reverse-string",
71
75
  "topics": [
72
76
  "strings"
73
- ],
74
- "unlocked_by": null,
75
- "uuid": "f90558fe-43a3-44e5-b720-edc664b7dc5f"
77
+ ]
76
78
  },
77
79
  {
80
+ "slug": "sum-of-multiples",
81
+ "uuid": "e9b0efd4-9da5-4036-a03f-a6f697ae786e",
78
82
  "core": false,
83
+ "unlocked_by": null,
79
84
  "difficulty": 1,
80
- "slug": "sum-of-multiples",
81
85
  "topics": [
82
86
  "lists",
83
87
  "transforming"
84
- ],
85
- "unlocked_by": null,
86
- "uuid": "e9b0efd4-9da5-4036-a03f-a6f697ae786e"
88
+ ]
87
89
  },
88
90
  {
91
+ "slug": "space-age",
92
+ "uuid": "6a2ab923-5102-44f8-8d5b-4e967983766e",
89
93
  "core": false,
94
+ "unlocked_by": null,
90
95
  "difficulty": 1,
91
- "slug": "space-age",
92
96
  "topics": [
93
97
  "discriminated_unions",
94
98
  "floating_point_numbers"
95
- ],
96
- "unlocked_by": null,
97
- "uuid": "6a2ab923-5102-44f8-8d5b-4e967983766e"
99
+ ]
98
100
  },
99
101
  {
102
+ "slug": "hamming",
103
+ "uuid": "6a5a3dd6-a1d2-490c-b781-4e781f1e3289",
100
104
  "core": false,
105
+ "unlocked_by": null,
101
106
  "difficulty": 2,
102
- "slug": "hamming",
103
107
  "topics": [
104
108
  "filtering",
105
109
  "strings"
106
- ],
107
- "unlocked_by": null,
108
- "uuid": "6a5a3dd6-a1d2-490c-b781-4e781f1e3289"
110
+ ]
109
111
  },
110
112
  {
113
+ "slug": "nucleotide-count",
114
+ "uuid": "a33b7e1b-7f37-4494-8943-719f7d7e6d28",
111
115
  "core": false,
116
+ "unlocked_by": null,
112
117
  "difficulty": 2,
113
- "slug": "nucleotide-count",
114
118
  "topics": [
115
119
  "maps",
116
120
  "strings"
117
- ],
118
- "unlocked_by": null,
119
- "uuid": "a33b7e1b-7f37-4494-8943-719f7d7e6d28"
121
+ ]
120
122
  },
121
123
  {
124
+ "slug": "raindrops",
125
+ "uuid": "4e16fc56-b8a8-4d48-8635-55e13795eb4d",
122
126
  "core": false,
127
+ "unlocked_by": null,
123
128
  "difficulty": 2,
124
- "slug": "raindrops",
125
129
  "topics": [
126
130
  "filtering",
127
131
  "text_formatting"
128
- ],
129
- "unlocked_by": null,
130
- "uuid": "4e16fc56-b8a8-4d48-8635-55e13795eb4d"
132
+ ]
131
133
  },
132
134
  {
135
+ "slug": "grade-school",
136
+ "uuid": "5b5c4168-cffa-4d4d-94f5-d8ac7bf8a25f",
133
137
  "core": false,
138
+ "unlocked_by": null,
134
139
  "difficulty": 2,
135
- "slug": "grade-school",
136
140
  "topics": [
137
141
  "maps",
138
142
  "sorting"
139
- ],
140
- "unlocked_by": null,
141
- "uuid": "5b5c4168-cffa-4d4d-94f5-d8ac7bf8a25f"
143
+ ]
142
144
  },
143
145
  {
146
+ "slug": "etl",
147
+ "uuid": "7ff9aecb-2af3-4846-818c-00eddc87bf3b",
144
148
  "core": false,
149
+ "unlocked_by": null,
145
150
  "difficulty": 2,
146
- "slug": "etl",
147
151
  "topics": [
148
152
  "maps",
149
153
  "transforming"
150
- ],
151
- "unlocked_by": null,
152
- "uuid": "7ff9aecb-2af3-4846-818c-00eddc87bf3b"
154
+ ]
153
155
  },
154
156
  {
157
+ "slug": "isogram",
158
+ "uuid": "25eb6063-e228-4862-9477-02ebcae02d3d",
155
159
  "core": false,
160
+ "unlocked_by": null,
156
161
  "difficulty": 2,
157
- "slug": "isogram",
158
162
  "topics": [
159
163
  "filtering",
160
164
  "strings"
161
- ],
162
- "unlocked_by": null,
163
- "uuid": "25eb6063-e228-4862-9477-02ebcae02d3d"
165
+ ]
164
166
  },
165
167
  {
168
+ "slug": "flatten-array",
169
+ "uuid": "af3bce9f-954a-4f46-97a0-9236436e3f08",
166
170
  "core": false,
171
+ "unlocked_by": null,
167
172
  "difficulty": 2,
168
- "slug": "flatten-array",
169
173
  "topics": [
170
174
  "lists",
171
175
  "looping",
172
176
  "searching"
173
- ],
174
- "unlocked_by": null,
175
- "uuid": "af3bce9f-954a-4f46-97a0-9236436e3f08"
177
+ ]
176
178
  },
177
179
  {
180
+ "slug": "prime-factors",
181
+ "uuid": "1ab06e01-0a06-4d00-995f-078182fd97ec",
178
182
  "core": false,
183
+ "unlocked_by": null,
179
184
  "difficulty": 2,
180
- "slug": "prime-factors",
181
185
  "topics": [
182
186
  "integers",
183
187
  "looping"
184
- ],
185
- "unlocked_by": null,
186
- "uuid": "1ab06e01-0a06-4d00-995f-078182fd97ec"
188
+ ]
187
189
  },
188
190
  {
191
+ "slug": "sublist",
192
+ "uuid": "1f3e9399-b1fa-4dec-92d7-7abf3b64f499",
189
193
  "core": false,
194
+ "unlocked_by": null,
190
195
  "difficulty": 3,
191
- "slug": "sublist",
192
196
  "topics": [
193
197
  "lists",
194
198
  "looping"
195
- ],
196
- "unlocked_by": null,
197
- "uuid": "1f3e9399-b1fa-4dec-92d7-7abf3b64f499"
199
+ ]
198
200
  },
199
201
  {
202
+ "slug": "clock",
203
+ "uuid": "fec4d906-3b0a-412d-ad54-b6e02bf8cabb",
200
204
  "core": false,
205
+ "unlocked_by": null,
201
206
  "difficulty": 3,
202
- "slug": "clock",
203
207
  "topics": [
204
208
  "structural_equality",
205
209
  "time"
206
- ],
207
- "unlocked_by": null,
208
- "uuid": "fec4d906-3b0a-412d-ad54-b6e02bf8cabb"
210
+ ]
209
211
  },
210
212
  {
213
+ "slug": "triangle",
214
+ "uuid": "c90dbfe2-64ff-47d5-9b46-7827bf1cc06c",
211
215
  "core": false,
216
+ "unlocked_by": null,
212
217
  "difficulty": 3,
213
- "slug": "triangle",
214
218
  "topics": [
215
219
  "discriminated_unions",
216
220
  "integers"
217
- ],
218
- "unlocked_by": null,
219
- "uuid": "c90dbfe2-64ff-47d5-9b46-7827bf1cc06c"
221
+ ]
220
222
  },
221
223
  {
224
+ "slug": "robot-name",
225
+ "uuid": "de603240-aa3b-4f2d-8427-c442bf0067d2",
222
226
  "core": false,
227
+ "unlocked_by": null,
223
228
  "difficulty": 3,
224
- "slug": "robot-name",
225
229
  "topics": [
226
230
  "randomness",
227
231
  "strings"
228
- ],
229
- "unlocked_by": null,
230
- "uuid": "de603240-aa3b-4f2d-8427-c442bf0067d2"
232
+ ]
231
233
  },
232
234
  {
235
+ "slug": "scrabble-score",
236
+ "uuid": "f56b96e3-a642-4594-97a8-4bc82674547a",
233
237
  "core": false,
238
+ "unlocked_by": null,
234
239
  "difficulty": 3,
235
- "slug": "scrabble-score",
236
240
  "topics": [
237
241
  "transforming"
238
- ],
239
- "unlocked_by": null,
240
- "uuid": "f56b96e3-a642-4594-97a8-4bc82674547a"
242
+ ]
241
243
  },
242
244
  {
245
+ "slug": "phone-number",
246
+ "uuid": "f290c133-81b1-4e94-90b0-85d665fdcfc6",
243
247
  "core": false,
248
+ "unlocked_by": null,
244
249
  "difficulty": 3,
245
- "slug": "phone-number",
246
250
  "topics": [
247
251
  "parsing",
248
252
  "transforming"
249
- ],
250
- "unlocked_by": null,
251
- "uuid": "f290c133-81b1-4e94-90b0-85d665fdcfc6"
253
+ ]
252
254
  },
253
255
  {
256
+ "slug": "perfect-numbers",
257
+ "uuid": "6339da5d-0fe7-489c-a2fe-6b6016afef42",
254
258
  "core": false,
259
+ "unlocked_by": null,
255
260
  "difficulty": 3,
256
- "slug": "perfect-numbers",
257
261
  "topics": [
258
262
  "discriminated_unions",
259
263
  "integers"
260
- ],
261
- "unlocked_by": null,
262
- "uuid": "6339da5d-0fe7-489c-a2fe-6b6016afef42"
264
+ ]
263
265
  },
264
266
  {
267
+ "slug": "secret-handshake",
268
+ "uuid": "f57cb4b4-5c22-4204-9006-8642af0e4678",
265
269
  "core": false,
270
+ "unlocked_by": null,
266
271
  "difficulty": 3,
267
- "slug": "secret-handshake",
268
272
  "topics": [
269
273
  "bitwise_operations",
270
274
  "lists"
271
- ],
272
- "unlocked_by": null,
273
- "uuid": "f57cb4b4-5c22-4204-9006-8642af0e4678"
275
+ ]
274
276
  },
275
277
  {
278
+ "slug": "atbash-cipher",
279
+ "uuid": "659b25c4-4f01-49d1-be97-7a45e762b56c",
276
280
  "core": false,
281
+ "unlocked_by": null,
277
282
  "difficulty": 3,
278
- "slug": "atbash-cipher",
279
283
  "topics": [
280
284
  "maps",
281
285
  "strings",
282
286
  "transforming"
283
- ],
284
- "unlocked_by": null,
285
- "uuid": "659b25c4-4f01-49d1-be97-7a45e762b56c"
287
+ ]
286
288
  },
287
289
  {
290
+ "slug": "sieve",
291
+ "uuid": "fd22b216-28c3-43cc-9627-e7584f4d3e27",
288
292
  "core": false,
293
+ "unlocked_by": null,
289
294
  "difficulty": 3,
290
- "slug": "sieve",
291
295
  "topics": [
292
296
  "filtering",
293
297
  "mathematics"
294
- ],
295
- "unlocked_by": null,
296
- "uuid": "fd22b216-28c3-43cc-9627-e7584f4d3e27"
298
+ ]
297
299
  },
298
300
  {
301
+ "slug": "collatz-conjecture",
302
+ "uuid": "d7d66773-e07f-4da1-932b-9431437d34d6",
299
303
  "core": false,
304
+ "unlocked_by": null,
300
305
  "difficulty": 3,
301
- "slug": "collatz-conjecture",
302
306
  "topics": [
303
307
  "integers",
304
308
  "mathematics"
305
- ],
306
- "unlocked_by": null,
307
- "uuid": "d7d66773-e07f-4da1-932b-9431437d34d6"
309
+ ]
308
310
  },
309
311
  {
312
+ "slug": "series",
313
+ "uuid": "a56e3c85-715e-4730-966f-cc46616aaa95",
310
314
  "core": false,
315
+ "unlocked_by": null,
311
316
  "difficulty": 3,
312
- "slug": "series",
313
317
  "topics": [
314
318
  "integers",
315
319
  "lists",
316
320
  "looping"
317
- ],
318
- "unlocked_by": null,
319
- "uuid": "a56e3c85-715e-4730-966f-cc46616aaa95"
321
+ ]
320
322
  },
321
323
  {
324
+ "slug": "strain",
325
+ "uuid": "052e5eaa-8d36-4e9a-95c2-2e350852967d",
322
326
  "core": false,
327
+ "unlocked_by": null,
323
328
  "difficulty": 3,
324
- "slug": "strain",
325
329
  "topics": [
326
330
  "filtering",
327
331
  "sequences"
328
- ],
329
- "unlocked_by": null,
330
- "uuid": "052e5eaa-8d36-4e9a-95c2-2e350852967d"
332
+ ]
331
333
  },
332
334
  {
335
+ "slug": "beer-song",
336
+ "uuid": "3f9eb775-a268-42fa-8c28-f8fd9d43bddf",
333
337
  "core": false,
338
+ "unlocked_by": null,
334
339
  "difficulty": 4,
335
- "slug": "beer-song",
336
340
  "topics": [
337
341
  "conditionals",
338
342
  "looping",
339
343
  "strings"
340
- ],
341
- "unlocked_by": null,
342
- "uuid": "3f9eb775-a268-42fa-8c28-f8fd9d43bddf"
344
+ ]
343
345
  },
344
346
  {
347
+ "slug": "word-count",
348
+ "uuid": "75cece67-bfa9-42d9-a497-2efd0862b3ef",
345
349
  "core": false,
350
+ "unlocked_by": null,
346
351
  "difficulty": 4,
347
- "slug": "word-count",
348
352
  "topics": [
349
353
  "maps",
350
354
  "strings",
351
355
  "transforming"
352
- ],
353
- "unlocked_by": null,
354
- "uuid": "75cece67-bfa9-42d9-a497-2efd0862b3ef"
356
+ ]
355
357
  },
356
358
  {
359
+ "slug": "allergies",
360
+ "uuid": "da7c4aa4-bdaa-4006-89ef-7f93e7a0abf7",
357
361
  "core": false,
362
+ "unlocked_by": null,
358
363
  "difficulty": 4,
359
- "slug": "allergies",
360
364
  "topics": [
361
365
  "bitwise_operations",
362
366
  "enumerations",
363
367
  "filtering"
364
- ],
365
- "unlocked_by": null,
366
- "uuid": "da7c4aa4-bdaa-4006-89ef-7f93e7a0abf7"
368
+ ]
367
369
  },
368
370
  {
371
+ "slug": "meetup",
372
+ "uuid": "cea2e160-2269-4dde-9063-734c72cb7255",
369
373
  "core": false,
374
+ "unlocked_by": null,
370
375
  "difficulty": 4,
371
- "slug": "meetup",
372
376
  "topics": [
373
377
  "dates"
374
- ],
375
- "unlocked_by": null,
376
- "uuid": "cea2e160-2269-4dde-9063-734c72cb7255"
378
+ ]
377
379
  },
378
380
  {
381
+ "slug": "anagram",
382
+ "uuid": "0a08a2f5-cb37-407d-9bf7-d499b0e16258",
379
383
  "core": false,
384
+ "unlocked_by": null,
380
385
  "difficulty": 4,
381
- "slug": "anagram",
382
386
  "topics": [
383
387
  "filtering",
384
388
  "strings"
385
- ],
386
- "unlocked_by": null,
387
- "uuid": "0a08a2f5-cb37-407d-9bf7-d499b0e16258"
389
+ ]
388
390
  },
389
391
  {
392
+ "slug": "acronym",
393
+ "uuid": "1644b429-041b-4cdb-a023-e6ce74c8fc89",
390
394
  "core": false,
395
+ "unlocked_by": null,
391
396
  "difficulty": 4,
392
- "slug": "acronym",
393
397
  "topics": [
394
398
  "strings",
395
399
  "transforming"
396
- ],
397
- "unlocked_by": null,
398
- "uuid": "1644b429-041b-4cdb-a023-e6ce74c8fc89"
400
+ ]
399
401
  },
400
402
  {
403
+ "slug": "all-your-base",
404
+ "uuid": "8fe580b5-23e5-4120-9b8b-bb43240da325",
401
405
  "core": false,
406
+ "unlocked_by": null,
402
407
  "difficulty": 4,
403
- "slug": "all-your-base",
404
408
  "topics": [
405
409
  "integers",
406
410
  "transforming"
407
- ],
408
- "unlocked_by": null,
409
- "uuid": "8fe580b5-23e5-4120-9b8b-bb43240da325"
411
+ ]
410
412
  },
411
413
  {
414
+ "slug": "largest-series-product",
415
+ "uuid": "12c53e14-9184-42ca-86a1-fc7cb8ae8401",
412
416
  "core": false,
417
+ "unlocked_by": null,
413
418
  "difficulty": 4,
414
- "slug": "largest-series-product",
415
419
  "topics": [
416
420
  "integers",
417
421
  "strings",
418
422
  "transforming"
419
- ],
420
- "unlocked_by": null,
421
- "uuid": "12c53e14-9184-42ca-86a1-fc7cb8ae8401"
423
+ ]
422
424
  },
423
425
  {
426
+ "slug": "pangram",
427
+ "uuid": "567478d0-b93b-48fe-a727-d1969f9097ad",
424
428
  "core": false,
429
+ "unlocked_by": null,
425
430
  "difficulty": 4,
426
- "slug": "pangram",
427
431
  "topics": [
428
432
  "searching",
429
433
  "strings",
430
434
  "transforming"
431
- ],
432
- "unlocked_by": null,
433
- "uuid": "567478d0-b93b-48fe-a727-d1969f9097ad"
435
+ ]
434
436
  },
435
437
  {
438
+ "slug": "transpose",
439
+ "uuid": "a6b0237b-3eeb-449c-92dc-d950fd379713",
436
440
  "core": false,
441
+ "unlocked_by": null,
437
442
  "difficulty": 4,
438
- "slug": "transpose",
439
443
  "topics": [
440
444
  "strings",
441
445
  "transforming"
442
- ],
443
- "unlocked_by": null,
444
- "uuid": "a6b0237b-3eeb-449c-92dc-d950fd379713"
446
+ ]
445
447
  },
446
448
  {
449
+ "slug": "binary-search",
450
+ "uuid": "1674a32a-3b75-4c75-a90b-d06a9aa01b4c",
447
451
  "core": false,
452
+ "unlocked_by": null,
448
453
  "difficulty": 4,
449
- "slug": "binary-search",
450
454
  "topics": [
451
455
  "integers",
452
456
  "recursion",
453
457
  "searching"
454
- ],
455
- "unlocked_by": null,
456
- "uuid": "1674a32a-3b75-4c75-a90b-d06a9aa01b4c"
458
+ ]
457
459
  },
458
460
  {
461
+ "slug": "crypto-square",
462
+ "uuid": "74b484a9-ad9e-4fc1-820c-eb1bbb1fdb82",
459
463
  "core": false,
464
+ "unlocked_by": null,
460
465
  "difficulty": 4,
461
- "slug": "crypto-square",
462
466
  "topics": [
463
467
  "looping",
464
468
  "strings",
465
469
  "transforming"
466
- ],
467
- "unlocked_by": null,
468
- "uuid": "74b484a9-ad9e-4fc1-820c-eb1bbb1fdb82"
470
+ ]
469
471
  },
470
472
  {
473
+ "slug": "pascals-triangle",
474
+ "uuid": "f00fe4b4-7caf-4fe0-b8e6-c1684f71c5f6",
471
475
  "core": false,
476
+ "unlocked_by": null,
472
477
  "difficulty": 4,
473
- "slug": "pascals-triangle",
474
478
  "topics": [
475
479
  "lists",
476
480
  "mathematics",
477
481
  "recursion"
478
- ],
479
- "unlocked_by": null,
480
- "uuid": "f00fe4b4-7caf-4fe0-b8e6-c1684f71c5f6"
482
+ ]
481
483
  },
482
484
  {
485
+ "slug": "say",
486
+ "uuid": "9292d37e-2b5f-45a2-b995-ebcce9d90376",
483
487
  "core": false,
488
+ "unlocked_by": null,
484
489
  "difficulty": 4,
485
- "slug": "say",
486
490
  "topics": [
487
491
  "loops",
488
492
  "parsing",
489
493
  "text_formatting",
490
494
  "transforming"
491
- ],
492
- "unlocked_by": null,
493
- "uuid": "9292d37e-2b5f-45a2-b995-ebcce9d90376"
495
+ ]
494
496
  },
495
497
  {
498
+ "slug": "bracket-push",
499
+ "uuid": "5afbe74a-af64-4558-938b-d075bc4d1f61",
496
500
  "core": false,
501
+ "unlocked_by": null,
497
502
  "difficulty": 5,
498
- "slug": "bracket-push",
499
503
  "topics": [
500
504
  "conditionals",
501
505
  "looping",
502
506
  "strings"
503
- ],
504
- "unlocked_by": null,
505
- "uuid": "5afbe74a-af64-4558-938b-d075bc4d1f61"
507
+ ]
506
508
  },
507
509
  {
510
+ "slug": "roman-numerals",
511
+ "uuid": "fd0b00f9-0c19-46be-8d34-0f86564bf35e",
508
512
  "core": false,
513
+ "unlocked_by": null,
509
514
  "difficulty": 5,
510
- "slug": "roman-numerals",
511
515
  "topics": [
512
516
  "recursion",
513
517
  "transforming"
514
- ],
515
- "unlocked_by": null,
516
- "uuid": "fd0b00f9-0c19-46be-8d34-0f86564bf35e"
518
+ ]
517
519
  },
518
520
  {
521
+ "slug": "run-length-encoding",
522
+ "uuid": "aac1ae62-744a-468f-ba22-53be185c5a6f",
519
523
  "core": false,
524
+ "unlocked_by": null,
520
525
  "difficulty": 5,
521
- "slug": "run-length-encoding",
522
526
  "topics": [
523
527
  "algorithms",
524
528
  "transforming"
525
- ],
526
- "unlocked_by": null,
527
- "uuid": "aac1ae62-744a-468f-ba22-53be185c5a6f"
529
+ ]
528
530
  },
529
531
  {
532
+ "slug": "luhn",
533
+ "uuid": "989aaedc-4836-4d75-8579-0ac177c58120",
530
534
  "core": false,
535
+ "unlocked_by": null,
531
536
  "difficulty": 5,
532
- "slug": "luhn",
533
537
  "topics": [
534
538
  "algorithms",
535
539
  "strings",
536
540
  "transforming"
537
- ],
538
- "unlocked_by": null,
539
- "uuid": "989aaedc-4836-4d75-8579-0ac177c58120"
541
+ ]
540
542
  },
541
543
  {
544
+ "slug": "rna-transcription",
545
+ "uuid": "cdc9a509-ded9-45b8-b8b1-5903016b77ad",
542
546
  "core": false,
547
+ "unlocked_by": null,
543
548
  "difficulty": 2,
544
- "slug": "rna-transcription",
545
549
  "topics": [
546
550
  "conditionals",
547
551
  "loops",
548
552
  "strings",
549
553
  "transforming"
550
- ],
551
- "unlocked_by": null,
552
- "uuid": "cdc9a509-ded9-45b8-b8b1-5903016b77ad"
554
+ ]
553
555
  },
554
556
  {
557
+ "slug": "grains",
558
+ "uuid": "1d841c21-f251-42ff-9fbd-cc88330eb1c3",
555
559
  "core": false,
560
+ "unlocked_by": null,
556
561
  "difficulty": 3,
557
- "slug": "grains",
558
562
  "topics": [
559
563
  "integers"
560
- ],
561
- "unlocked_by": null,
562
- "uuid": "1d841c21-f251-42ff-9fbd-cc88330eb1c3"
564
+ ]
563
565
  },
564
566
  {
567
+ "slug": "nth-prime",
568
+ "uuid": "924a7103-040c-4b49-a11d-16c9e811d84b",
565
569
  "core": false,
570
+ "unlocked_by": null,
566
571
  "difficulty": 4,
567
- "slug": "nth-prime",
568
572
  "topics": [
569
573
  "integers",
570
574
  "loops",
571
575
  "mathematics"
572
- ],
573
- "unlocked_by": null,
574
- "uuid": "924a7103-040c-4b49-a11d-16c9e811d84b"
576
+ ]
575
577
  }
576
- ],
577
- "foregone": [],
578
- "language": "Objective-C"
579
- }
578
+ ]
579
+ }