trackler 2.2.0.0 → 2.2.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (206) hide show
  1. checksums.yaml +4 -4
  2. data/lib/trackler/version.rb +1 -1
  3. data/problem-specifications/CONTRIBUTING.md +1 -1
  4. data/tracks/bash/.travis.yml +1 -1
  5. data/tracks/bash/config.json +30 -3
  6. data/tracks/c/README.md +1 -1
  7. data/tracks/c/config.json +131 -39
  8. data/tracks/ceylon/README.md +6 -6
  9. data/tracks/ceylon/config.json +21 -3
  10. data/tracks/chapel/.travis.yml +1 -1
  11. data/tracks/clojurescript/.travis.yml +1 -1
  12. data/tracks/clojurescript/README.md +6 -6
  13. data/tracks/clojurescript/exercises/.keep +0 -0
  14. data/tracks/coffeescript/.travis.yml +1 -1
  15. data/tracks/coldfusion/.travis.yml +1 -1
  16. data/tracks/coq/.travis.yml +1 -1
  17. data/tracks/cpp/CMakeLists.txt +1 -0
  18. data/tracks/cpp/README.md +1 -1
  19. data/tracks/cpp/config.json +8 -0
  20. data/tracks/cpp/exercises/atbash-cipher/CMakeLists.txt +52 -0
  21. data/tracks/cpp/exercises/atbash-cipher/atbash_cipher_test.cpp +68 -0
  22. data/tracks/cpp/exercises/atbash-cipher/example.cpp +54 -0
  23. data/tracks/cpp/exercises/atbash-cipher/example.h +13 -0
  24. data/tracks/csharp/config.json +315 -6
  25. data/tracks/d/.travis.yml +1 -1
  26. data/tracks/dart/README.md +2 -2
  27. data/tracks/dart/config.json +21 -3
  28. data/tracks/delphi/README.md +1 -1
  29. data/tracks/delphi/config.json +83 -1
  30. data/tracks/ecmascript/config.json +10 -0
  31. data/tracks/ecmascript/exercises/accumulate/accumulate.spec.js +3 -9
  32. data/tracks/ecmascript/exercises/acronym/acronym.spec.js +2 -2
  33. data/tracks/ecmascript/exercises/all-your-base/all-your-base.spec.js +131 -133
  34. data/tracks/ecmascript/exercises/all-your-base/example.js +1 -3
  35. data/tracks/ecmascript/exercises/allergies/allergies.spec.js +8 -10
  36. data/tracks/ecmascript/exercises/allergies/example.js +3 -5
  37. data/tracks/ecmascript/exercises/alphametics/alphametics.spec.js +61 -63
  38. data/tracks/ecmascript/exercises/alphametics/example.js +99 -99
  39. data/tracks/ecmascript/exercises/anagram/anagram.spec.js +35 -37
  40. data/tracks/ecmascript/exercises/anagram/example.js +1 -3
  41. data/tracks/ecmascript/exercises/atbash-cipher/atbash-cipher.spec.js +1 -3
  42. data/tracks/ecmascript/exercises/atbash-cipher/example.js +3 -3
  43. data/tracks/ecmascript/exercises/beer-song/beer-song.spec.js +0 -2
  44. data/tracks/ecmascript/exercises/beer-song/example.js +9 -9
  45. data/tracks/ecmascript/exercises/binary/binary.spec.js +1 -2
  46. data/tracks/ecmascript/exercises/binary/example.js +3 -3
  47. data/tracks/ecmascript/exercises/binary-search/binary-search.spec.js +1 -3
  48. data/tracks/ecmascript/exercises/binary-search-tree/binary-search-tree.spec.js +13 -15
  49. data/tracks/ecmascript/exercises/binary-search-tree/example.js +2 -2
  50. data/tracks/ecmascript/exercises/bob/bob.spec.js +1 -3
  51. data/tracks/ecmascript/exercises/bob/example.js +3 -3
  52. data/tracks/ecmascript/exercises/bracket-push/example.js +2 -2
  53. data/tracks/ecmascript/exercises/circular-buffer/circular-buffer.spec.js +10 -12
  54. data/tracks/ecmascript/exercises/circular-buffer/example.js +12 -11
  55. data/tracks/ecmascript/exercises/clock/clock.spec.js +0 -8
  56. data/tracks/ecmascript/exercises/clock/example.js +11 -11
  57. data/tracks/ecmascript/exercises/connect/connect.spec.js +75 -77
  58. data/tracks/ecmascript/exercises/connect/example.js +27 -29
  59. data/tracks/ecmascript/exercises/crypto-square/crypto-square.spec.js +11 -11
  60. data/tracks/ecmascript/exercises/crypto-square/example.js +11 -10
  61. data/tracks/ecmascript/exercises/custom-set/custom-set.spec.js +2 -4
  62. data/tracks/ecmascript/exercises/custom-set/example.js +1 -1
  63. data/tracks/ecmascript/exercises/diamond/diamond.spec.js +20 -21
  64. data/tracks/ecmascript/exercises/diamond/example.js +12 -13
  65. data/tracks/ecmascript/exercises/difference-of-squares/difference-of-squares.spec.js +0 -5
  66. data/tracks/ecmascript/exercises/diffie-hellman/diffie-hellman.spec.js +7 -28
  67. data/tracks/ecmascript/exercises/etl/etl.spec.js +36 -18
  68. data/tracks/ecmascript/exercises/etl/example.js +3 -3
  69. data/tracks/ecmascript/exercises/flatten-array/example.js +1 -1
  70. data/tracks/ecmascript/exercises/flatten-array/flatten-array.spec.js +2 -3
  71. data/tracks/ecmascript/exercises/food-chain/example.js +12 -12
  72. data/tracks/ecmascript/exercises/food-chain/food-chain.spec.js +0 -1
  73. data/tracks/ecmascript/exercises/gigasecond/example.js +1 -1
  74. data/tracks/ecmascript/exercises/gigasecond/gigasecond.spec.js +0 -1
  75. data/tracks/ecmascript/exercises/grade-school/grade-school.spec.js +18 -19
  76. data/tracks/ecmascript/exercises/grains/grains.spec.js +0 -1
  77. data/tracks/ecmascript/exercises/hamming/example.js +3 -3
  78. data/tracks/ecmascript/exercises/hamming/hamming.spec.js +5 -6
  79. data/tracks/ecmascript/exercises/hello-world/example.js +1 -1
  80. data/tracks/ecmascript/exercises/hello-world/hello-world.spec.js +1 -1
  81. data/tracks/ecmascript/exercises/hexadecimal/example.js +2 -2
  82. data/tracks/ecmascript/exercises/hexadecimal/hexadecimal.spec.js +9 -11
  83. data/tracks/ecmascript/exercises/isogram/isogram.spec.js +22 -23
  84. data/tracks/ecmascript/exercises/kindergarten-garden/example.js +7 -7
  85. data/tracks/ecmascript/exercises/kindergarten-garden/kindergarten-garden.spec.js +0 -5
  86. data/tracks/ecmascript/exercises/largest-series-product/example.js +4 -8
  87. data/tracks/ecmascript/exercises/largest-series-product/largest-series-product.spec.js +5 -7
  88. data/tracks/ecmascript/exercises/leap/leap.spec.js +4 -6
  89. data/tracks/ecmascript/exercises/linked-list/example.js +2 -2
  90. data/tracks/ecmascript/exercises/list-ops/example.js +19 -19
  91. data/tracks/ecmascript/exercises/list-ops/list-ops.spec.js +2 -18
  92. data/tracks/ecmascript/exercises/luhn/example.js +1 -1
  93. data/tracks/ecmascript/exercises/luhn/luhn.spec.js +1 -3
  94. data/tracks/ecmascript/exercises/matrix/example.js +2 -4
  95. data/tracks/ecmascript/exercises/matrix/matrix.spec.js +0 -2
  96. data/tracks/ecmascript/exercises/meetup/example.js +12 -15
  97. data/tracks/ecmascript/exercises/meetup/meetup.spec.js +0 -2
  98. data/tracks/ecmascript/exercises/minesweeper/example.js +60 -0
  99. data/tracks/ecmascript/exercises/minesweeper/minesweeper.spec.js +174 -0
  100. data/tracks/ecmascript/exercises/minesweeper/package.json +69 -0
  101. data/tracks/ecmascript/exercises/nth-prime/example.js +3 -2
  102. data/tracks/ecmascript/exercises/nth-prime/nth-prime.spec.js +0 -1
  103. data/tracks/ecmascript/exercises/ocr-numbers/example.js +3 -3
  104. data/tracks/ecmascript/exercises/ocr-numbers/ocr-numbers.spec.js +16 -18
  105. data/tracks/ecmascript/exercises/octal/example.js +1 -1
  106. data/tracks/ecmascript/exercises/octal/octal.spec.js +0 -2
  107. data/tracks/ecmascript/exercises/palindrome-products/example.js +14 -11
  108. data/tracks/ecmascript/exercises/palindrome-products/palindrome-products.spec.js +15 -18
  109. data/tracks/ecmascript/exercises/pangram/example.js +6 -5
  110. data/tracks/ecmascript/exercises/pangram/pangram.spec.js +10 -12
  111. data/tracks/ecmascript/exercises/pascals-triangle/example.js +2 -2
  112. data/tracks/ecmascript/exercises/pascals-triangle/pascals-triangle.spec.js +6 -8
  113. data/tracks/ecmascript/exercises/perfect-numbers/example.js +3 -5
  114. data/tracks/ecmascript/exercises/perfect-numbers/perfect-numbers.spec.js +0 -10
  115. data/tracks/ecmascript/exercises/phone-number/example.js +2 -2
  116. data/tracks/ecmascript/exercises/phone-number/phone-number.spec.js +0 -2
  117. data/tracks/ecmascript/exercises/pig-latin/example.js +4 -4
  118. data/tracks/ecmascript/exercises/pig-latin/pig-latin.spec.js +0 -1
  119. data/tracks/ecmascript/exercises/prime-factors/example.js +2 -2
  120. data/tracks/ecmascript/exercises/prime-factors/prime-factors.spec.js +0 -2
  121. data/tracks/ecmascript/exercises/pythagorean-triplet/pythagorean-triplet.spec.js +3 -11
  122. data/tracks/ecmascript/exercises/queen-attack/example.js +17 -17
  123. data/tracks/ecmascript/exercises/queen-attack/queen-attack.spec.js +7 -8
  124. data/tracks/ecmascript/exercises/raindrops/example.js +1 -1
  125. data/tracks/ecmascript/exercises/raindrops/raindrops.spec.js +1 -2
  126. data/tracks/ecmascript/exercises/rna-transcription/example.js +5 -5
  127. data/tracks/ecmascript/exercises/rna-transcription/rna-transcription.spec.js +4 -5
  128. data/tracks/ecmascript/exercises/robot-name/example.js +6 -6
  129. data/tracks/ecmascript/exercises/robot-name/robot-name.spec.js +10 -11
  130. data/tracks/ecmascript/exercises/robot-simulator/example.js +1 -1
  131. data/tracks/ecmascript/exercises/robot-simulator/robot-simulator.spec.js +31 -32
  132. data/tracks/ecmascript/exercises/roman-numerals/example.js +16 -16
  133. data/tracks/ecmascript/exercises/saddle-points/saddle-points.spec.js +3 -3
  134. data/tracks/ecmascript/exercises/say/example.js +25 -25
  135. data/tracks/ecmascript/exercises/say/say.spec.js +2 -3
  136. data/tracks/ecmascript/exercises/scrabble-score/example.js +27 -9
  137. data/tracks/ecmascript/exercises/scrabble-score/scrabble-score.spec.js +6 -7
  138. data/tracks/ecmascript/exercises/secret-handshake/example.js +2 -3
  139. data/tracks/ecmascript/exercises/secret-handshake/secret-handshake.spec.js +3 -5
  140. data/tracks/ecmascript/exercises/series/series.spec.js +1 -3
  141. data/tracks/ecmascript/exercises/sieve/example.js +4 -3
  142. data/tracks/ecmascript/exercises/sieve/sieve.spec.js +0 -2
  143. data/tracks/ecmascript/exercises/simple-cipher/example.js +8 -9
  144. data/tracks/ecmascript/exercises/simple-cipher/simple-cipher.spec.js +4 -4
  145. data/tracks/ecmascript/exercises/space-age/example.js +1 -1
  146. data/tracks/ecmascript/exercises/space-age/space-age.spec.js +9 -11
  147. data/tracks/ecmascript/exercises/strain/example.js +4 -4
  148. data/tracks/ecmascript/exercises/strain/strain.spec.js +14 -16
  149. data/tracks/ecmascript/exercises/sum-of-multiples/example.js +4 -4
  150. data/tracks/ecmascript/exercises/triangle/triangle.spec.js +2 -4
  151. data/tracks/ecmascript/exercises/trinary/example.js +3 -3
  152. data/tracks/ecmascript/exercises/trinary/trinary.spec.js +0 -2
  153. data/tracks/ecmascript/exercises/two-bucket/example.js +30 -27
  154. data/tracks/ecmascript/exercises/two-bucket/two-bucket.spec.js +4 -8
  155. data/tracks/ecmascript/exercises/word-count/example.js +2 -2
  156. data/tracks/ecmascript/exercises/word-count/word-count.spec.js +2 -3
  157. data/tracks/ecmascript/exercises/wordy/example.js +6 -6
  158. data/tracks/ecmascript/exercises/wordy/wordy.spec.js +2 -4
  159. data/tracks/factor/config.json +15 -6
  160. data/tracks/fortran/.travis.yml +1 -1
  161. data/tracks/fsharp/config.json +312 -10
  162. data/tracks/go/README.md +1 -1
  163. data/tracks/go/config.json +523 -155
  164. data/tracks/haskell/README.md +2 -2
  165. data/tracks/haskell/config.json +256 -7
  166. data/tracks/haxe/.travis.yml +1 -1
  167. data/tracks/haxe/Makefile +2 -2
  168. data/tracks/haxe/config.json +8 -5
  169. data/tracks/java/CONTRIBUTING.md +2 -2
  170. data/tracks/java/config.json +277 -17
  171. data/tracks/java/exercises/rotational-cipher/build.gradle +17 -0
  172. data/tracks/java/exercises/rotational-cipher/src/example/java/RotationalCipher.java +37 -0
  173. data/tracks/java/exercises/rotational-cipher/src/main/java/.keep +0 -0
  174. data/tracks/java/exercises/rotational-cipher/src/test/java/RotationalCipherTest.java +81 -0
  175. data/tracks/java/exercises/settings.gradle +1 -0
  176. data/tracks/java/exercises/twelve-days/src/main/java/TwelveDays.java +4 -0
  177. data/tracks/julia/.travis.yml +1 -1
  178. data/tracks/julia/README.md +1 -1
  179. data/tracks/kotlin/README.md +2 -2
  180. data/tracks/kotlin/exercises/hello-world/TUTORIAL.md +3 -3
  181. data/tracks/lisp/config.json +97 -3
  182. data/tracks/lisp/exercises/pascals-triangle/example.lisp +21 -0
  183. data/tracks/lisp/exercises/pascals-triangle/pascal.lisp +7 -0
  184. data/tracks/lisp/exercises/pascals-triangle/pascals-triangle-test.lisp +34 -0
  185. data/tracks/lua/.travis.yml +1 -1
  186. data/tracks/lua/README.md +1 -1
  187. data/tracks/mips/.travis.yml +1 -1
  188. data/tracks/mips/config.json +56 -17
  189. data/tracks/nasm/.travis.yml +1 -1
  190. data/tracks/nim/.travis.yml +1 -1
  191. data/tracks/ocaml/README.md +3 -3
  192. data/tracks/ocaml/config.json +130 -4
  193. data/tracks/perl5/docs/TESTS.md +40 -26
  194. data/tracks/plsql/.travis.yml +1 -1
  195. data/tracks/plsql/config.json +40 -13
  196. data/tracks/pony/.travis.yml +1 -1
  197. data/tracks/pony/bin/install-deps +4 -3
  198. data/tracks/prolog/.travis.yml +1 -1
  199. data/tracks/r/README.md +5 -5
  200. data/tracks/r/config.json +102 -30
  201. data/tracks/rust/.travis.yml +1 -1
  202. data/tracks/rust/config.json +172 -4
  203. data/tracks/rust/docs/EXERCISE_README_INSERT.md +1 -1
  204. data/tracks/sml/config.json +26 -3
  205. data/tracks/vimscript/config.json +60 -3
  206. metadata +16 -1
@@ -5,108 +5,159 @@
5
5
  "active": true,
6
6
  "exercises": [
7
7
  {
8
+ "uuid": "c97d9dda-c7ee-4595-b447-693559d03ba5",
8
9
  "slug": "hello-world",
10
+ "core": false,
11
+ "unlocked_by": null,
9
12
  "difficulty": 1,
10
13
  "topics": [
11
14
  ]
12
15
  },
13
16
  {
17
+ "uuid": "0ad7d756-1cbd-44f4-a64f-0dc7e9eb40f4",
14
18
  "slug": "leap",
19
+ "core": false,
20
+ "unlocked_by": null,
15
21
  "difficulty": 1,
16
22
  "topics": [
17
23
  ]
18
24
  },
19
25
  {
26
+ "uuid": "6cbb7841-9d96-4528-88e3-6e98a450fd7c",
20
27
  "slug": "space-age",
28
+ "core": false,
29
+ "unlocked_by": null,
21
30
  "difficulty": 1,
22
31
  "topics": [
23
32
  ]
24
33
  },
25
34
  {
35
+ "uuid": "e570c730-12e5-4b9e-adb0-eae85360e1b5",
26
36
  "slug": "bob",
37
+ "core": false,
38
+ "unlocked_by": null,
27
39
  "difficulty": 1,
28
40
  "topics": [
29
41
  ]
30
42
  },
31
43
  {
44
+ "uuid": "42cb6880-0c4b-4455-815b-aac94c05db18",
32
45
  "slug": "pangram",
46
+ "core": false,
47
+ "unlocked_by": null,
33
48
  "difficulty": 1,
34
49
  "topics": [
35
50
  ]
36
51
  },
37
52
  {
53
+ "uuid": "6eba4eac-8395-4ad6-ac21-3651a11ab4b5",
38
54
  "slug": "run-length-encoding",
55
+ "core": false,
56
+ "unlocked_by": null,
39
57
  "difficulty": 1,
40
58
  "topics": [
41
59
  ]
42
60
  },
43
61
  {
62
+ "uuid": "85d77b8e-9b87-4d02-9fba-81f843bd66f1",
44
63
  "slug": "rna-transcription",
64
+ "core": false,
65
+ "unlocked_by": null,
45
66
  "difficulty": 1,
46
67
  "topics": [
47
68
  "Maybe"
48
69
  ]
49
70
  },
50
71
  {
72
+ "uuid": "e125a32e-60ca-4e59-ae35-01f3b1907ccd",
51
73
  "slug": "sum-of-multiples",
74
+ "core": false,
75
+ "unlocked_by": null,
52
76
  "difficulty": 1,
53
77
  "topics": [
54
78
  ]
55
79
  },
56
80
  {
81
+ "uuid": "c8953b81-97f2-4c26-b2b8-aa7ef95c5ff1",
57
82
  "slug": "difference-of-squares",
83
+ "core": false,
84
+ "unlocked_by": null,
58
85
  "difficulty": 1,
59
86
  "topics": [
60
87
  ]
61
88
  },
62
89
  {
90
+ "uuid": "197a543c-d9c7-41c3-814c-4b1ece3db568",
63
91
  "slug": "grains",
92
+ "core": false,
93
+ "unlocked_by": null,
64
94
  "difficulty": 2,
65
95
  "topics": [
66
96
  "Maybe"
67
97
  ]
68
98
  },
69
99
  {
100
+ "uuid": "4b5b2254-1c68-449a-8150-c1d33b8de9d1",
70
101
  "slug": "acronym",
102
+ "core": false,
103
+ "unlocked_by": null,
71
104
  "difficulty": 2,
72
105
  "topics": [
73
106
  ]
74
107
  },
75
108
  {
109
+ "uuid": "30686585-eb09-4514-8b2e-c9a0d9983133",
76
110
  "slug": "hamming",
111
+ "core": false,
112
+ "unlocked_by": null,
77
113
  "difficulty": 2,
78
114
  "topics": [
79
115
  "Maybe"
80
116
  ]
81
117
  },
82
118
  {
119
+ "uuid": "00feb0e9-ae1e-43fc-a0ea-8f2d0d0b9f49",
83
120
  "slug": "nucleotide-count",
121
+ "core": false,
122
+ "unlocked_by": null,
84
123
  "difficulty": 2,
85
124
  "topics": [
86
125
  "Either"
87
126
  ]
88
127
  },
89
128
  {
129
+ "uuid": "ba13fdf3-9a36-4286-8b78-75964d1aa373",
90
130
  "slug": "grade-school",
131
+ "core": false,
132
+ "unlocked_by": null,
91
133
  "difficulty": 2,
92
134
  "topics": [
93
135
  "Define type"
94
136
  ]
95
137
  },
96
138
  {
139
+ "uuid": "8082b1fb-7e3b-4a7f-b857-479bdb0d65e3",
97
140
  "slug": "etl",
141
+ "core": false,
142
+ "unlocked_by": null,
98
143
  "difficulty": 2,
99
144
  "topics": [
100
145
  ]
101
146
  },
102
147
  {
148
+ "uuid": "39d5aa74-6e4a-4579-810e-b4430bc172e8",
103
149
  "slug": "raindrops",
150
+ "core": false,
151
+ "unlocked_by": null,
104
152
  "difficulty": 2,
105
153
  "topics": [
106
154
  ]
107
155
  },
108
156
  {
157
+ "uuid": "5c5a9256-a55e-4bda-baf3-96d052732e11",
109
158
  "slug": "accumulate",
159
+ "core": false,
160
+ "unlocked_by": null,
110
161
  "difficulty": 3,
111
162
  "topics": [
112
163
  "Lazy evaluation",
@@ -114,7 +165,10 @@
114
165
  ]
115
166
  },
116
167
  {
168
+ "uuid": "b66851aa-c05e-4a52-aaab-387f193c1dc7",
117
169
  "slug": "strain",
170
+ "core": false,
171
+ "unlocked_by": null,
118
172
  "difficulty": 3,
119
173
  "topics": [
120
174
  "Lazy evaluation",
@@ -122,58 +176,85 @@
122
176
  ]
123
177
  },
124
178
  {
179
+ "uuid": "fd372449-0f01-4b2c-b42d-b56ede6f58fe",
125
180
  "slug": "phone-number",
181
+ "core": false,
182
+ "unlocked_by": null,
126
183
  "difficulty": 3,
127
184
  "topics": [
128
185
  "Maybe"
129
186
  ]
130
187
  },
131
188
  {
189
+ "uuid": "382e4fbd-99d6-400b-962c-ebb4a411bcea",
132
190
  "slug": "beer-song",
191
+ "core": false,
192
+ "unlocked_by": null,
133
193
  "difficulty": 3,
134
194
  "topics": [
135
195
  "Refactoring"
136
196
  ]
137
197
  },
138
198
  {
199
+ "uuid": "28bf351c-0417-4113-83c9-e1e00992cd37",
139
200
  "slug": "triangle",
201
+ "core": false,
202
+ "unlocked_by": null,
140
203
  "difficulty": 3,
141
204
  "topics": [
142
205
  ]
143
206
  },
144
207
  {
208
+ "uuid": "7157a846-5846-47a4-97c2-daad7f763512",
145
209
  "slug": "scrabble-score",
210
+ "core": false,
211
+ "unlocked_by": null,
146
212
  "difficulty": 3,
147
213
  "topics": [
148
214
  ]
149
215
  },
150
216
  {
217
+ "uuid": "f3e12dd1-d3c7-4955-975f-bfc471d689c7",
151
218
  "slug": "kindergarten-garden",
219
+ "core": false,
220
+ "unlocked_by": null,
152
221
  "difficulty": 3,
153
222
  "topics": [
154
223
  ]
155
224
  },
156
225
  {
226
+ "uuid": "c456adbd-fa8c-4ffe-aa8c-60a1fd1f429e",
157
227
  "slug": "robot-simulator",
228
+ "core": false,
229
+ "unlocked_by": null,
158
230
  "difficulty": 3,
159
231
  "topics": [
160
232
  "Define type"
161
233
  ]
162
234
  },
163
235
  {
236
+ "uuid": "36d2d7f0-8e9c-4493-979c-080f7067494f",
164
237
  "slug": "secret-handshake",
238
+ "core": false,
239
+ "unlocked_by": null,
165
240
  "difficulty": 3,
166
241
  "topics": [
167
242
  ]
168
243
  },
169
244
  {
245
+ "uuid": "67c53230-82e8-4207-a811-abec27bef381",
170
246
  "slug": "anagram",
247
+ "core": false,
248
+ "unlocked_by": null,
171
249
  "difficulty": 4,
172
250
  "topics": [
173
251
  ]
174
252
  },
175
253
  {
254
+ "uuid": "896dfe3d-f3c9-4c42-bc8d-8de49a8c7766",
176
255
  "slug": "simple-linked-list",
256
+ "core": false,
257
+ "unlocked_by": null,
177
258
  "difficulty": 4,
178
259
  "topics": [
179
260
  "Define type",
@@ -181,7 +262,10 @@
181
262
  ]
182
263
  },
183
264
  {
265
+ "uuid": "fd106381-478d-43b0-bdd2-c39e7044e01a",
184
266
  "slug": "list-ops",
267
+ "core": false,
268
+ "unlocked_by": null,
185
269
  "difficulty": 4,
186
270
  "topics": [
187
271
  "Accumulator-strictness",
@@ -189,46 +273,67 @@
189
273
  ]
190
274
  },
191
275
  {
276
+ "uuid": "01401d15-6667-4f94-bcd2-ec5a70df1cc6",
192
277
  "slug": "meetup",
278
+ "core": false,
279
+ "unlocked_by": null,
193
280
  "difficulty": 4,
194
281
  "topics": [
195
282
  ]
196
283
  },
197
284
  {
285
+ "uuid": "1c575894-ea99-4443-90c2-8172eaff7fea",
198
286
  "slug": "roman-numerals",
287
+ "core": false,
288
+ "unlocked_by": null,
199
289
  "difficulty": 4,
200
290
  "topics": [
201
291
  "Maybe"
202
292
  ]
203
293
  },
204
294
  {
295
+ "uuid": "8cc9254d-cda5-4a7d-ad50-921a99f1432d",
205
296
  "slug": "prime-factors",
297
+ "core": false,
298
+ "unlocked_by": null,
206
299
  "difficulty": 4,
207
300
  "topics": [
208
301
  ]
209
302
  },
210
303
  {
304
+ "uuid": "3630c60f-3e18-42c2-bce4-10dc62d11b25",
211
305
  "slug": "allergies",
306
+ "core": false,
307
+ "unlocked_by": null,
212
308
  "difficulty": 4,
213
309
  "topics": [
214
310
  ]
215
311
  },
216
312
  {
313
+ "uuid": "69b6b2d8-7d28-4fa1-84af-3c41857c1d16",
217
314
  "slug": "all-your-base",
315
+ "core": false,
316
+ "unlocked_by": null,
218
317
  "difficulty": 4,
219
318
  "topics": [
220
319
  "Maybe"
221
320
  ]
222
321
  },
223
322
  {
323
+ "uuid": "5f92b1d3-b2cb-463e-b6da-347473ef4c30",
224
324
  "slug": "largest-series-product",
325
+ "core": false,
326
+ "unlocked_by": null,
225
327
  "difficulty": 4,
226
328
  "topics": [
227
329
  "Maybe"
228
330
  ]
229
331
  },
230
332
  {
333
+ "uuid": "fa84dc6c-a212-431a-b4c1-752be5c99af7",
231
334
  "slug": "clock",
335
+ "core": false,
336
+ "unlocked_by": null,
232
337
  "difficulty": 4,
233
338
  "topics": [
234
339
  "Define type",
@@ -236,83 +341,122 @@
236
341
  ]
237
342
  },
238
343
  {
344
+ "uuid": "46502471-d2f8-4f25-a220-55b0caff435c",
239
345
  "slug": "matrix",
346
+ "core": false,
347
+ "unlocked_by": null,
240
348
  "difficulty": 4,
241
349
  "topics": [
242
350
  "Define type"
243
351
  ]
244
352
  },
245
353
  {
354
+ "uuid": "2ab43e18-085b-4493-b51d-71274481d960",
246
355
  "slug": "house",
356
+ "core": false,
357
+ "unlocked_by": null,
247
358
  "difficulty": 4,
248
359
  "topics": [
249
360
  "Refactoring"
250
361
  ]
251
362
  },
252
363
  {
364
+ "uuid": "ff0a20ef-1828-42f1-8c10-4bf53b488993",
253
365
  "slug": "pascals-triangle",
366
+ "core": false,
367
+ "unlocked_by": null,
254
368
  "difficulty": 4,
255
369
  "topics": [
256
370
  ]
257
371
  },
258
372
  {
373
+ "uuid": "eb01573e-36bb-4093-bf16-4bccd8a36909",
259
374
  "slug": "pythagorean-triplet",
375
+ "core": false,
376
+ "unlocked_by": null,
260
377
  "difficulty": 4,
261
378
  "topics": [
262
379
  ]
263
380
  },
264
381
  {
382
+ "uuid": "00b6c83b-e652-4f71-a094-b3034f77fd7b",
265
383
  "slug": "saddle-points",
384
+ "core": false,
385
+ "unlocked_by": null,
266
386
  "difficulty": 4,
267
387
  "topics": [
268
388
  ]
269
389
  },
270
390
  {
391
+ "uuid": "4c111498-9248-4f4a-9950-98fdac736d3b",
271
392
  "slug": "series",
393
+ "core": false,
394
+ "unlocked_by": null,
272
395
  "difficulty": 4,
273
396
  "topics": [
274
397
  ]
275
398
  },
276
399
  {
400
+ "uuid": "1ed4a7af-76eb-4b42-89b2-dcb97e509443",
277
401
  "slug": "sieve",
402
+ "core": false,
403
+ "unlocked_by": null,
278
404
  "difficulty": 4,
279
405
  "topics": [
280
406
  ]
281
407
  },
282
408
  {
409
+ "uuid": "4b6d04f4-8cfc-4d8a-ac6e-77f3889f27c3",
283
410
  "slug": "atbash-cipher",
411
+ "core": false,
412
+ "unlocked_by": null,
284
413
  "difficulty": 5,
285
414
  "topics": [
286
415
  ]
287
416
  },
288
417
  {
418
+ "uuid": "be179655-b1a2-4e57-a3f1-4834c467ef41",
289
419
  "slug": "bracket-push",
420
+ "core": false,
421
+ "unlocked_by": null,
290
422
  "difficulty": 5,
291
423
  "topics": [
292
424
  "Stack"
293
425
  ]
294
426
  },
295
427
  {
428
+ "uuid": "dde7cf64-7e3b-4e5c-8a65-5d639fa8a307",
296
429
  "slug": "crypto-square",
430
+ "core": false,
431
+ "unlocked_by": null,
297
432
  "difficulty": 5,
298
433
  "topics": [
299
434
  ]
300
435
  },
301
436
  {
437
+ "uuid": "ddfc0435-5378-4865-bbcb-a07754014db4",
302
438
  "slug": "nth-prime",
439
+ "core": false,
440
+ "unlocked_by": null,
303
441
  "difficulty": 5,
304
442
  "topics": [
305
443
  "Maybe"
306
444
  ]
307
445
  },
308
446
  {
447
+ "uuid": "5d36ba0a-3c57-471a-8956-e324e0384183",
309
448
  "slug": "word-count",
449
+ "core": false,
450
+ "unlocked_by": null,
310
451
  "difficulty": 5,
311
452
  "topics": [
312
453
  ]
313
454
  },
314
455
  {
456
+ "uuid": "91887e6e-e935-441a-9cd1-754a877dc2be",
315
457
  "slug": "binary-search-tree",
458
+ "core": false,
459
+ "unlocked_by": null,
316
460
  "difficulty": 5,
317
461
  "topics": [
318
462
  "Define type",
@@ -320,39 +464,57 @@
320
464
  ]
321
465
  },
322
466
  {
467
+ "uuid": "a602f191-581d-48ea-9441-1d6e8a51e71c",
323
468
  "slug": "luhn",
469
+ "core": false,
470
+ "unlocked_by": null,
324
471
  "difficulty": 5,
325
472
  "topics": [
326
473
  ]
327
474
  },
328
475
  {
476
+ "uuid": "7e1cd145-0bdb-4f52-89e3-b21f98068a1f",
329
477
  "slug": "queen-attack",
478
+ "core": false,
479
+ "unlocked_by": null,
330
480
  "difficulty": 5,
331
481
  "topics": [
332
482
  "Maybe"
333
483
  ]
334
484
  },
335
485
  {
486
+ "uuid": "90ac04fb-42d3-4666-b26a-2279057f6ef2",
336
487
  "slug": "ocr-numbers",
488
+ "core": false,
489
+ "unlocked_by": null,
337
490
  "difficulty": 5,
338
491
  "topics": [
339
492
  ]
340
493
  },
341
494
  {
495
+ "uuid": "0b6af91e-8e1f-4ca5-bf30-53b427638e2b",
342
496
  "slug": "food-chain",
497
+ "core": false,
498
+ "unlocked_by": null,
343
499
  "difficulty": 5,
344
500
  "topics": [
345
501
  "Refactoring"
346
502
  ]
347
503
  },
348
504
  {
505
+ "uuid": "781325ec-c772-4b56-80b0-2c56c5953122",
349
506
  "slug": "spiral-matrix",
507
+ "core": false,
508
+ "unlocked_by": null,
350
509
  "difficulty": 5,
351
510
  "topics": [
352
511
  ]
353
512
  },
354
513
  {
514
+ "uuid": "c875009a-c8a0-47d0-bef6-d6f278565fe5",
355
515
  "slug": "custom-set",
516
+ "core": false,
517
+ "unlocked_by": null,
356
518
  "difficulty": 5,
357
519
  "topics": [
358
520
  "Define type",
@@ -360,13 +522,19 @@
360
522
  ]
361
523
  },
362
524
  {
525
+ "uuid": "a3442b20-e2a7-4fc6-8bff-0e61d25b2bf3",
363
526
  "slug": "parallel-letter-frequency",
527
+ "core": false,
528
+ "unlocked_by": null,
364
529
  "difficulty": 5,
365
530
  "topics": [
366
531
  ]
367
532
  },
368
533
  {
534
+ "uuid": "2429b6d1-2ce8-487e-b0f7-a4d11970e6bd",
369
535
  "slug": "simple-cipher",
536
+ "core": false,
537
+ "unlocked_by": null,
370
538
  "difficulty": 6,
371
539
  "topics": [
372
540
  "IO monad",
@@ -375,13 +543,19 @@
375
543
  ]
376
544
  },
377
545
  {
546
+ "uuid": "3a0f1014-8829-4b7e-aab7-f23f2fad22a2",
378
547
  "slug": "palindrome-products",
548
+ "core": false,
549
+ "unlocked_by": null,
379
550
  "difficulty": 6,
380
551
  "topics": [
381
552
  ]
382
553
  },
383
554
  {
555
+ "uuid": "aec901e4-482f-4f00-8a26-a0c09fdb1365",
384
556
  "slug": "robot-name",
557
+ "core": false,
558
+ "unlocked_by": null,
385
559
  "difficulty": 6,
386
560
  "topics": [
387
561
  "Define type",
@@ -390,20 +564,29 @@
390
564
  ]
391
565
  },
392
566
  {
567
+ "uuid": "03bb14fb-d677-47fb-b283-b79c75c93855",
393
568
  "slug": "pig-latin",
569
+ "core": false,
570
+ "unlocked_by": null,
394
571
  "difficulty": 6,
395
572
  "topics": [
396
573
  ]
397
574
  },
398
575
  {
576
+ "uuid": "76384e4a-3d3e-4369-9a0d-55c47f91f17e",
399
577
  "slug": "say",
578
+ "core": false,
579
+ "unlocked_by": null,
400
580
  "difficulty": 6,
401
581
  "topics": [
402
582
  "Maybe"
403
583
  ]
404
584
  },
405
585
  {
586
+ "uuid": "44f2cb4d-1965-4d11-9373-bc3b5a624a8c",
406
587
  "slug": "bank-account",
588
+ "core": false,
589
+ "unlocked_by": null,
407
590
  "difficulty": 6,
408
591
  "topics": [
409
592
  "Define type",
@@ -413,13 +596,19 @@
413
596
  ]
414
597
  },
415
598
  {
599
+ "uuid": "f49d76f7-f826-4b6a-a514-47af7e84144a",
416
600
  "slug": "sublist",
601
+ "core": false,
602
+ "unlocked_by": null,
417
603
  "difficulty": 6,
418
604
  "topics": [
419
605
  ]
420
606
  },
421
607
  {
608
+ "uuid": "34b8a4fe-6761-4675-a5a9-e8c92c93fd8f",
422
609
  "slug": "linked-list",
610
+ "core": false,
611
+ "unlocked_by": null,
423
612
  "difficulty": 6,
424
613
  "topics": [
425
614
  "Define type",
@@ -430,81 +619,117 @@
430
619
  ]
431
620
  },
432
621
  {
622
+ "uuid": "893da7e3-1e7f-48d0-a8c2-8d84b9ec064f",
433
623
  "slug": "zebra-puzzle",
624
+ "core": false,
625
+ "unlocked_by": null,
434
626
  "difficulty": 7,
435
627
  "topics": [
436
628
  ]
437
629
  },
438
630
  {
631
+ "uuid": "821f2081-dfc2-40c6-8e12-2907daa04416",
439
632
  "slug": "minesweeper",
633
+ "core": false,
634
+ "unlocked_by": null,
440
635
  "difficulty": 7,
441
636
  "topics": [
442
637
  ]
443
638
  },
444
639
  {
640
+ "uuid": "0869734e-0629-4db9-8e62-af246e5f91ff",
445
641
  "slug": "wordy",
642
+ "core": false,
643
+ "unlocked_by": null,
446
644
  "difficulty": 7,
447
645
  "topics": [
448
646
  "Maybe"
449
647
  ]
450
648
  },
451
649
  {
650
+ "uuid": "5af27112-48f2-423c-9607-03911ccc8049",
452
651
  "slug": "change",
652
+ "core": false,
653
+ "unlocked_by": null,
453
654
  "difficulty": 7,
454
655
  "topics": [
455
656
  "Maybe"
456
657
  ]
457
658
  },
458
659
  {
660
+ "uuid": "154c2191-7746-497c-bf4e-37a5a5ffbb0b",
459
661
  "slug": "alphametics",
662
+ "core": false,
663
+ "unlocked_by": null,
460
664
  "difficulty": 7,
461
665
  "topics": [
462
666
  "Maybe"
463
667
  ]
464
668
  },
465
669
  {
670
+ "uuid": "cf896e0f-7971-4a4e-a164-412dd9176573",
466
671
  "slug": "bowling",
672
+ "core": false,
673
+ "unlocked_by": null,
467
674
  "difficulty": 7,
468
675
  "topics": [
469
676
  "Either"
470
677
  ]
471
678
  },
472
679
  {
680
+ "uuid": "2c009c74-fbf2-49f7-b626-0d9da10c18ea",
473
681
  "slug": "connect",
682
+ "core": false,
683
+ "unlocked_by": null,
474
684
  "difficulty": 8,
475
685
  "topics": [
476
686
  "Maybe"
477
687
  ]
478
688
  },
479
689
  {
690
+ "uuid": "14f8190f-c711-4399-b176-6efc5e3e71d1",
480
691
  "slug": "dominoes",
692
+ "core": false,
693
+ "unlocked_by": null,
481
694
  "difficulty": 8,
482
695
  "topics": [
483
696
  "Maybe"
484
697
  ]
485
698
  },
486
699
  {
700
+ "uuid": "033adeae-d94a-4832-ae99-8dd98acd6044",
487
701
  "slug": "sgf-parsing",
702
+ "core": false,
703
+ "unlocked_by": null,
488
704
  "difficulty": 9,
489
705
  "topics": [
490
706
  "Maybe"
491
707
  ]
492
708
  },
493
709
  {
710
+ "uuid": "8f1854d7-b8cb-4dfa-9e6a-8811b0891798",
494
711
  "slug": "go-counting",
712
+ "core": false,
713
+ "unlocked_by": null,
495
714
  "difficulty": 9,
496
715
  "topics": [
497
716
  "Maybe"
498
717
  ]
499
718
  },
500
719
  {
720
+ "uuid": "056d6e6c-4d07-4bc0-b0d0-fb76a9ec8672",
501
721
  "slug": "lens-person",
722
+ "core": false,
723
+ "unlocked_by": null,
502
724
  "difficulty": 9,
503
725
  "topics": [
504
726
  ]
505
727
  },
506
728
  {
729
+ "uuid": "e585c482-2088-40bf-bc97-bc6fac6a7a72",
507
730
  "slug": "zipper",
731
+ "core": false,
732
+ "unlocked_by": null,
508
733
  "difficulty": 10,
509
734
  "topics": [
510
735
  "Define type",
@@ -512,7 +737,10 @@
512
737
  ]
513
738
  },
514
739
  {
740
+ "uuid": "04c86a05-4d34-4a20-9489-db744c205bb6",
515
741
  "slug": "forth",
742
+ "core": false,
743
+ "unlocked_by": null,
516
744
  "difficulty": 10,
517
745
  "topics": [
518
746
  "Define type",
@@ -521,20 +749,41 @@
521
749
  ]
522
750
  },
523
751
  {
752
+ "uuid": "010582a2-4c44-44fb-ac6b-bf1546d303a3",
524
753
  "slug": "pov",
754
+ "core": false,
755
+ "unlocked_by": null,
525
756
  "difficulty": 10,
526
757
  "topics": [
527
758
  "Maybe"
528
759
  ]
760
+ },
761
+ {
762
+ "uuid": "48ca1682-ca1b-4a2c-be55-624620f336a7",
763
+ "slug": "binary",
764
+ "deprecated": true
765
+ },
766
+ {
767
+ "uuid": "317ef3e7-67ce-4940-bc90-eed1c4a27c19",
768
+ "slug": "gigasecond",
769
+ "deprecated": true
770
+ },
771
+ {
772
+ "uuid": "964c07aa-abca-49b8-8428-1b81ee39066d",
773
+ "slug": "hexadecimal",
774
+ "deprecated": true
775
+ },
776
+ {
777
+ "uuid": "2566f8ee-28cf-4429-9ced-42759c810d7c",
778
+ "slug": "octal",
779
+ "deprecated": true
780
+ },
781
+ {
782
+ "uuid": "d5997b60-e54c-4caa-beae-8614f0da3fb3",
783
+ "slug": "trinary",
784
+ "deprecated": true
529
785
  }
530
786
  ],
531
- "deprecated": [
532
- "binary",
533
- "gigasecond",
534
- "hexadecimal",
535
- "octal",
536
- "trinary"
537
- ],
538
787
  "foregone": [
539
788
 
540
789
  ]