trackler 2.2.1.159 → 2.2.1.160

Sign up to get free protection for your applications and to get access to all the features.
Files changed (293) hide show
  1. checksums.yaml +4 -4
  2. data/lib/trackler/version.rb +1 -1
  3. data/tracks/bash/config/maintainers.json +16 -15
  4. data/tracks/bash/config.json +111 -103
  5. data/tracks/c/config/maintainers.json +14 -14
  6. data/tracks/c/config.json +263 -242
  7. data/tracks/ceylon/config/maintainers.json +8 -8
  8. data/tracks/ceylon/config.json +30 -32
  9. data/tracks/cfml/config/maintainers.json +6 -4
  10. data/tracks/cfml/config.json +145 -92
  11. data/tracks/common-lisp/config/maintainers.json +26 -26
  12. data/tracks/common-lisp/config.json +152 -149
  13. data/tracks/cpp/config/maintainers.json +11 -11
  14. data/tracks/cpp/config.json +162 -161
  15. data/tracks/dart/config/maintainers.json +21 -17
  16. data/tracks/dart/config.json +57 -57
  17. data/tracks/delphi/config.json +1 -0
  18. data/tracks/delphi/docs/ABOUT.md +9 -6
  19. data/tracks/ecmascript/config/maintainers.json +11 -11
  20. data/tracks/ecmascript/config.json +563 -544
  21. data/tracks/ecmascript/exercises/accumulate/package.json +1 -1
  22. data/tracks/ecmascript/exercises/acronym/package.json +1 -1
  23. data/tracks/ecmascript/exercises/all-your-base/package.json +1 -1
  24. data/tracks/ecmascript/exercises/allergies/package.json +1 -1
  25. data/tracks/ecmascript/exercises/alphametics/package.json +1 -1
  26. data/tracks/ecmascript/exercises/anagram/package.json +1 -1
  27. data/tracks/ecmascript/exercises/armstrong-numbers/package.json +1 -1
  28. data/tracks/ecmascript/exercises/atbash-cipher/package.json +1 -1
  29. data/tracks/ecmascript/exercises/beer-song/package.json +1 -1
  30. data/tracks/ecmascript/exercises/binary/package.json +1 -1
  31. data/tracks/ecmascript/exercises/binary-search/package.json +1 -1
  32. data/tracks/ecmascript/exercises/binary-search-tree/package.json +1 -1
  33. data/tracks/ecmascript/exercises/bob/package.json +1 -1
  34. data/tracks/ecmascript/exercises/bowling/package.json +1 -1
  35. data/tracks/ecmascript/exercises/bracket-push/package.json +1 -1
  36. data/tracks/ecmascript/exercises/change/package.json +1 -1
  37. data/tracks/ecmascript/exercises/circular-buffer/package.json +1 -1
  38. data/tracks/ecmascript/exercises/clock/package.json +1 -1
  39. data/tracks/ecmascript/exercises/collatz-conjecture/package.json +1 -1
  40. data/tracks/ecmascript/exercises/complex-numbers/package.json +1 -1
  41. data/tracks/ecmascript/exercises/connect/package.json +1 -1
  42. data/tracks/ecmascript/exercises/crypto-square/package.json +1 -1
  43. data/tracks/ecmascript/exercises/custom-set/package.json +1 -1
  44. data/tracks/ecmascript/exercises/diamond/package.json +1 -1
  45. data/tracks/ecmascript/exercises/difference-of-squares/package.json +1 -1
  46. data/tracks/ecmascript/exercises/diffie-hellman/package.json +1 -1
  47. data/tracks/ecmascript/exercises/etl/package.json +1 -1
  48. data/tracks/ecmascript/exercises/flatten-array/package.json +1 -1
  49. data/tracks/ecmascript/exercises/food-chain/package.json +1 -1
  50. data/tracks/ecmascript/exercises/gigasecond/package.json +1 -1
  51. data/tracks/ecmascript/exercises/grade-school/package.json +1 -1
  52. data/tracks/ecmascript/exercises/grains/package.json +1 -1
  53. data/tracks/ecmascript/exercises/hamming/package.json +1 -1
  54. data/tracks/ecmascript/exercises/hello-world/package.json +1 -1
  55. data/tracks/ecmascript/exercises/hexadecimal/package.json +1 -1
  56. data/tracks/ecmascript/exercises/house/package.json +1 -1
  57. data/tracks/ecmascript/exercises/isbn-verifier/package.json +1 -1
  58. data/tracks/ecmascript/exercises/isogram/package.json +1 -1
  59. data/tracks/ecmascript/exercises/kindergarten-garden/package.json +1 -1
  60. data/tracks/ecmascript/exercises/largest-series-product/package.json +1 -1
  61. data/tracks/ecmascript/exercises/leap/package.json +1 -1
  62. data/tracks/ecmascript/exercises/linked-list/package.json +1 -1
  63. data/tracks/ecmascript/exercises/list-ops/package.json +1 -1
  64. data/tracks/ecmascript/exercises/luhn/package.json +1 -1
  65. data/tracks/ecmascript/exercises/matrix/package.json +1 -1
  66. data/tracks/ecmascript/exercises/meetup/package.json +1 -1
  67. data/tracks/ecmascript/exercises/minesweeper/package.json +1 -1
  68. data/tracks/ecmascript/exercises/nth-prime/package.json +1 -1
  69. data/tracks/ecmascript/exercises/nucleotide-count/package.json +1 -1
  70. data/tracks/ecmascript/exercises/ocr-numbers/package.json +1 -1
  71. data/tracks/ecmascript/exercises/octal/package.json +1 -1
  72. data/tracks/ecmascript/exercises/palindrome-products/package.json +1 -1
  73. data/tracks/ecmascript/exercises/pangram/package.json +1 -1
  74. data/tracks/ecmascript/exercises/pascals-triangle/package.json +1 -1
  75. data/tracks/ecmascript/exercises/perfect-numbers/package.json +1 -1
  76. data/tracks/ecmascript/exercises/phone-number/package.json +1 -1
  77. data/tracks/ecmascript/exercises/pig-latin/package.json +1 -1
  78. data/tracks/ecmascript/exercises/prime-factors/package.json +1 -1
  79. data/tracks/ecmascript/exercises/protein-translation/package.json +1 -1
  80. data/tracks/ecmascript/exercises/proverb/package.json +1 -1
  81. data/tracks/ecmascript/exercises/pythagorean-triplet/package.json +1 -1
  82. data/tracks/ecmascript/exercises/queen-attack/example.js +2 -2
  83. data/tracks/ecmascript/exercises/queen-attack/package.json +1 -1
  84. data/tracks/ecmascript/exercises/raindrops/package.json +1 -1
  85. data/tracks/ecmascript/exercises/react/package.json +1 -1
  86. data/tracks/ecmascript/exercises/rectangles/package.json +1 -1
  87. data/tracks/ecmascript/exercises/rna-transcription/package.json +1 -1
  88. data/tracks/ecmascript/exercises/robot-name/package.json +1 -1
  89. data/tracks/ecmascript/exercises/robot-simulator/package.json +1 -1
  90. data/tracks/ecmascript/exercises/roman-numerals/package.json +1 -1
  91. data/tracks/ecmascript/exercises/rotational-cipher/package.json +1 -1
  92. data/tracks/ecmascript/exercises/run-length-encoding/package.json +1 -1
  93. data/tracks/ecmascript/exercises/saddle-points/package.json +1 -1
  94. data/tracks/ecmascript/exercises/say/package.json +1 -1
  95. data/tracks/ecmascript/exercises/scrabble-score/package.json +1 -1
  96. data/tracks/ecmascript/exercises/secret-handshake/package.json +1 -1
  97. data/tracks/ecmascript/exercises/series/package.json +1 -1
  98. data/tracks/ecmascript/exercises/sieve/package.json +1 -1
  99. data/tracks/ecmascript/exercises/simple-cipher/package.json +1 -1
  100. data/tracks/ecmascript/exercises/simple-linked-list/package.json +1 -1
  101. data/tracks/ecmascript/exercises/space-age/package.json +1 -1
  102. data/tracks/ecmascript/exercises/spiral-matrix/package.json +1 -1
  103. data/tracks/ecmascript/exercises/strain/package.json +1 -1
  104. data/tracks/ecmascript/exercises/sublist/package.json +1 -1
  105. data/tracks/ecmascript/exercises/sum-of-multiples/package.json +1 -1
  106. data/tracks/ecmascript/exercises/transpose/package.json +1 -1
  107. data/tracks/ecmascript/exercises/triangle/package.json +1 -1
  108. data/tracks/ecmascript/exercises/trinary/package.json +1 -1
  109. data/tracks/ecmascript/exercises/twelve-days/package.json +1 -1
  110. data/tracks/ecmascript/exercises/two-bucket/package.json +1 -1
  111. data/tracks/ecmascript/exercises/two-fer/package.json +1 -1
  112. data/tracks/ecmascript/exercises/word-count/package.json +1 -1
  113. data/tracks/ecmascript/exercises/word-search/package.json +1 -1
  114. data/tracks/ecmascript/exercises/wordy/example.js +16 -4
  115. data/tracks/ecmascript/exercises/wordy/package.json +1 -1
  116. data/tracks/ecmascript/package.json +1 -1
  117. data/tracks/elisp/config/maintainers.json +6 -6
  118. data/tracks/elisp/config.json +103 -103
  119. data/tracks/elisp/exercises/two-fer/two-fer.el +3 -3
  120. data/tracks/elm/config/maintainers.json +11 -11
  121. data/tracks/elm/config.json +171 -171
  122. data/tracks/erlang/README.md +31 -28
  123. data/tracks/erlang/config/maintainers.json +13 -7
  124. data/tracks/erlang/config.json +99 -190
  125. data/tracks/factor/config/maintainers.json +5 -5
  126. data/tracks/factor/config.json +17 -19
  127. data/tracks/fsharp/config/maintainers.json +16 -16
  128. data/tracks/fsharp/config.json +485 -469
  129. data/tracks/gnu-apl/config/maintainers.json +6 -5
  130. data/tracks/gnu-apl/config.json +46 -20
  131. data/tracks/go/config/maintainers.json +43 -32
  132. data/tracks/go/config.json +475 -457
  133. data/tracks/haskell/config/maintainers.json +26 -15
  134. data/tracks/haskell/config.json +22 -2
  135. data/tracks/idris/config/maintainers.json +6 -6
  136. data/tracks/idris/config.json +24 -35
  137. data/tracks/java/config/maintainers.json +39 -29
  138. data/tracks/java/config.json +458 -433
  139. data/tracks/javascript/config/maintainers.json +40 -40
  140. data/tracks/javascript/config.json +577 -551
  141. data/tracks/javascript/docs/LEARNING.md +1 -1
  142. data/tracks/javascript/exercises/pangram/pangram.spec.js +15 -10
  143. data/tracks/julia/REQUIRE +1 -0
  144. data/tracks/julia/config/maintainers.json +5 -5
  145. data/tracks/julia/config.json +106 -108
  146. data/tracks/kotlin/config/maintainers.json +15 -15
  147. data/tracks/kotlin/config.json +273 -257
  148. data/tracks/kotlin/exercises/accumulate/build.gradle +1 -1
  149. data/tracks/kotlin/exercises/acronym/build.gradle +1 -1
  150. data/tracks/kotlin/exercises/all-your-base/build.gradle +1 -1
  151. data/tracks/kotlin/exercises/allergies/.meta/version +1 -1
  152. data/tracks/kotlin/exercises/allergies/build.gradle +1 -1
  153. data/tracks/kotlin/exercises/anagram/build.gradle +1 -1
  154. data/tracks/kotlin/exercises/atbash-cipher/build.gradle +1 -1
  155. data/tracks/kotlin/exercises/bank-account/build.gradle +17 -17
  156. data/tracks/kotlin/exercises/beer-song/.meta/version +1 -1
  157. data/tracks/kotlin/exercises/beer-song/build.gradle +1 -1
  158. data/tracks/kotlin/exercises/binary/build.gradle +1 -1
  159. data/tracks/kotlin/exercises/binary-search/build.gradle +1 -2
  160. data/tracks/kotlin/exercises/bob/build.gradle +1 -1
  161. data/tracks/kotlin/exercises/bracket-push/build.gradle +1 -1
  162. data/tracks/kotlin/exercises/change/.meta/version +1 -1
  163. data/tracks/kotlin/exercises/change/build.gradle +1 -2
  164. data/tracks/kotlin/exercises/clock/build.gradle +1 -1
  165. data/tracks/kotlin/exercises/collatz-conjecture/build.gradle +1 -1
  166. data/tracks/kotlin/exercises/complex-numbers/build.gradle +1 -1
  167. data/tracks/kotlin/exercises/diamond/build.gradle +1 -1
  168. data/tracks/kotlin/exercises/difference-of-squares/build.gradle +1 -1
  169. data/tracks/kotlin/exercises/etl/build.gradle +1 -1
  170. data/tracks/kotlin/exercises/flatten-array/build.gradle +1 -1
  171. data/tracks/kotlin/exercises/forth/build.gradle +1 -1
  172. data/tracks/kotlin/exercises/gigasecond/build.gradle +1 -1
  173. data/tracks/kotlin/exercises/grade-school/build.gradle +1 -1
  174. data/tracks/kotlin/exercises/grains/build.gradle +1 -1
  175. data/tracks/kotlin/exercises/hamming/build.gradle +1 -1
  176. data/tracks/kotlin/exercises/hello-world/build.gradle +1 -1
  177. data/tracks/kotlin/exercises/hexadecimal/build.gradle +1 -1
  178. data/tracks/kotlin/exercises/isogram/build.gradle +1 -1
  179. data/tracks/kotlin/exercises/largest-series-product/build.gradle +1 -1
  180. data/tracks/kotlin/exercises/leap/.meta/version +1 -1
  181. data/tracks/kotlin/exercises/leap/build.gradle +1 -1
  182. data/tracks/kotlin/exercises/linked-list/build.gradle +1 -1
  183. data/tracks/kotlin/exercises/list-ops/build.gradle +1 -1
  184. data/tracks/kotlin/exercises/luhn/build.gradle +1 -1
  185. data/tracks/kotlin/exercises/meetup/.meta/version +1 -1
  186. data/tracks/kotlin/exercises/meetup/build.gradle +1 -1
  187. data/tracks/kotlin/exercises/minesweeper/build.gradle +1 -1
  188. data/tracks/kotlin/exercises/nth-prime/build.gradle +1 -1
  189. data/tracks/kotlin/exercises/nucleotide-count/build.gradle +1 -1
  190. data/tracks/kotlin/exercises/pangram/build.gradle +1 -1
  191. data/tracks/kotlin/exercises/pascals-triangle/.meta/version +1 -1
  192. data/tracks/kotlin/exercises/pascals-triangle/build.gradle +1 -1
  193. data/tracks/kotlin/exercises/perfect-numbers/build.gradle +1 -1
  194. data/tracks/kotlin/exercises/phone-number/build.gradle +1 -1
  195. data/tracks/kotlin/exercises/pig-latin/build.gradle +1 -1
  196. data/tracks/kotlin/exercises/prime-factors/build.gradle +1 -1
  197. data/tracks/kotlin/exercises/raindrops/build.gradle +1 -1
  198. data/tracks/kotlin/exercises/react/build.gradle +1 -1
  199. data/tracks/kotlin/exercises/rna-transcription/build.gradle +1 -1
  200. data/tracks/kotlin/exercises/robot-name/build.gradle +1 -1
  201. data/tracks/kotlin/exercises/robot-simulator/build.gradle +1 -1
  202. data/tracks/kotlin/exercises/roman-numerals/build.gradle +1 -1
  203. data/tracks/kotlin/exercises/rotational-cipher/.meta/version +1 -1
  204. data/tracks/kotlin/exercises/rotational-cipher/build.gradle +1 -1
  205. data/tracks/kotlin/exercises/saddle-points/build.gradle +1 -1
  206. data/tracks/kotlin/exercises/say/.meta/version +1 -1
  207. data/tracks/kotlin/exercises/say/build.gradle +1 -1
  208. data/tracks/kotlin/exercises/scrabble-score/build.gradle +1 -1
  209. data/tracks/kotlin/exercises/secret-handshake/build.gradle +1 -1
  210. data/tracks/kotlin/exercises/series/build.gradle +1 -1
  211. data/tracks/kotlin/exercises/sieve/build.gradle +1 -1
  212. data/tracks/kotlin/exercises/simple-cipher/build.gradle +1 -1
  213. data/tracks/kotlin/exercises/space-age/build.gradle +1 -1
  214. data/tracks/kotlin/exercises/spiral-matrix/build.gradle +1 -1
  215. data/tracks/kotlin/exercises/strain/build.gradle +1 -1
  216. data/tracks/kotlin/exercises/sublist/.meta/version +1 -1
  217. data/tracks/kotlin/exercises/sublist/build.gradle +1 -1
  218. data/tracks/kotlin/exercises/sum-of-multiples/build.gradle +15 -16
  219. data/tracks/kotlin/exercises/triangle/build.gradle +15 -16
  220. data/tracks/kotlin/exercises/two-fer/build.gradle +1 -1
  221. data/tracks/kotlin/exercises/word-count/build.gradle +1 -1
  222. data/tracks/lfe/config/maintainers.json +6 -6
  223. data/tracks/lfe/config.json +128 -125
  224. data/tracks/lfe/docs/LEARNING.md +1 -1
  225. data/tracks/lua/config/maintainers.json +16 -16
  226. data/tracks/lua/config.json +331 -327
  227. data/tracks/mips/config/maintainers.json +5 -5
  228. data/tracks/mips/config.json +29 -59
  229. data/tracks/nim/config/maintainers.json +8 -8
  230. data/tracks/nim/config.json +185 -127
  231. data/tracks/nim/exercises/allergies/allergies_test.nim +7 -7
  232. data/tracks/nim/exercises/allergies/example.nim +2 -2
  233. data/tracks/nim/exercises/difference-of-squares/difference_of_squares_test.nim +4 -4
  234. data/tracks/nim/exercises/difference-of-squares/example.nim +3 -3
  235. data/tracks/nim/exercises/gigasecond/example.nim +1 -1
  236. data/tracks/nim/exercises/gigasecond/gigasecond_test.nim +5 -5
  237. data/tracks/nim/exercises/nucleotide-count/example.nim +1 -1
  238. data/tracks/nim/exercises/nucleotide-count/nucleotide_count_test.nim +6 -6
  239. data/tracks/nim/exercises/pangram/example.nim +1 -1
  240. data/tracks/nim/exercises/pangram/pangram_test.nim +11 -11
  241. data/tracks/nim/exercises/triangle/example.nim +4 -4
  242. data/tracks/nim/exercises/triangle/triangle_test.nim +14 -14
  243. data/tracks/nim/exercises/word-count/HINT.md +8 -0
  244. data/tracks/nim/exercises/word-count/example.nim +8 -15
  245. data/tracks/nim/exercises/word-count/word_count_test.nim +63 -55
  246. data/tracks/perl6/Dockerfile +1 -1
  247. data/tracks/perl6/config/maintainers.json +8 -8
  248. data/tracks/perl6/config.json +72 -127
  249. data/tracks/powershell/.gitignore +2 -1
  250. data/tracks/powershell/config/maintainers.json +8 -8
  251. data/tracks/powershell/config.json +54 -37
  252. data/tracks/powershell/exercises/reverse-string/.version +1 -0
  253. data/tracks/powershell/exercises/reverse-string/README.md +13 -0
  254. data/tracks/powershell/exercises/reverse-string/ReverseString.example.ps1 +21 -0
  255. data/tracks/powershell/exercises/reverse-string/ReverseString.ps1 +9 -0
  256. data/tracks/powershell/exercises/reverse-string/ReverseString.tests.ps1 +21 -0
  257. data/tracks/powershell/exercises/sum-of-multiples/.version +1 -0
  258. data/tracks/powershell/exercises/sum-of-multiples/README.md +15 -0
  259. data/tracks/powershell/exercises/sum-of-multiples/SumOfMultiples.example.ps1 +20 -0
  260. data/tracks/powershell/exercises/sum-of-multiples/SumOfMultiples.ps1 +9 -0
  261. data/tracks/powershell/exercises/sum-of-multiples/SumOfMultiples.tests.ps1 +29 -0
  262. data/tracks/python/config/maintainers.json +17 -17
  263. data/tracks/python/config.json +331 -283
  264. data/tracks/python/exercises/diffie-hellman/diffie_hellman_test.py +16 -47
  265. data/tracks/r/config/maintainers.json +16 -16
  266. data/tracks/r/config.json +128 -117
  267. data/tracks/racket/config/maintainers.json +16 -16
  268. data/tracks/racket/config.json +106 -102
  269. data/tracks/reasonml/config/maintainers.json +1 -1
  270. data/tracks/reasonml/config.json +37 -23
  271. data/tracks/reasonml/exercises/bob/README.md +29 -0
  272. data/tracks/reasonml/exercises/bob/__tests__/Bob_test.re +103 -0
  273. data/tracks/reasonml/exercises/bob/bsconfig.json +30 -0
  274. data/tracks/reasonml/exercises/bob/package-lock.json +5855 -0
  275. data/tracks/reasonml/exercises/bob/package.json +20 -0
  276. data/tracks/reasonml/exercises/bob/src/Example.re +41 -0
  277. data/tracks/reasonml/exercises/hello-world/src/{HelloWorld.re → Example.re} +0 -0
  278. data/tracks/reasonml/exercises/leap/src/{Leap.re → Example.re} +0 -0
  279. data/tracks/reasonml/exercises/rna-transcription/__tests__/RnaTranscription_test.re +24 -0
  280. data/tracks/reasonml/exercises/rna-transcription/bsconfig.json +30 -0
  281. data/tracks/reasonml/exercises/rna-transcription/package.json +20 -0
  282. data/tracks/reasonml/exercises/rna-transcription/src/Example.re +14 -0
  283. data/tracks/reasonml/exercises/space-age/src/{Space_age.re → Example.re} +0 -0
  284. data/tracks/scala/config/maintainers.json +22 -10
  285. data/tracks/scala/config.json +362 -350
  286. data/tracks/scala/docs/ABOUT.md +7 -2
  287. data/tracks/scheme/config/maintainers.json +11 -11
  288. data/tracks/scheme/config.json +72 -72
  289. data/tracks/typescript/config/maintainers.json +15 -15
  290. data/tracks/typescript/config.json +382 -362
  291. data/tracks/vimscript/config/maintainers.json +11 -11
  292. data/tracks/vimscript/config.json +41 -89
  293. metadata +27 -5
@@ -1,753 +1,758 @@
1
1
  {
2
+ "language": "Lua",
2
3
  "active": true,
4
+ "blurb": "",
5
+ "test_pattern": ".*spec[.]lua$",
3
6
  "exercises": [
4
7
  {
8
+ "slug": "hello-world",
9
+ "uuid": "e2909553-add0-46d9-a95d-d687d12ccd32",
5
10
  "core": true,
11
+ "unlocked_by": null,
6
12
  "difficulty": 1,
7
- "slug": "hello-world",
8
13
  "topics": [
9
14
  "control_flow_if_statements",
10
15
  "optional_values",
11
16
  "text_formatting"
12
- ],
13
- "unlocked_by": null,
14
- "uuid": "e2909553-add0-46d9-a95d-d687d12ccd32"
17
+ ]
15
18
  },
16
19
  {
20
+ "slug": "hamming",
21
+ "uuid": "d5fcde07-bcef-4ee1-858b-fa4da55d7e0a",
17
22
  "core": true,
23
+ "unlocked_by": null,
18
24
  "difficulty": 2,
19
- "slug": "hamming",
20
25
  "topics": [
21
26
  "control_flow_loops",
22
27
  "strings"
23
- ],
24
- "unlocked_by": null,
25
- "uuid": "d5fcde07-bcef-4ee1-858b-fa4da55d7e0a"
28
+ ]
26
29
  },
27
30
  {
31
+ "slug": "house",
32
+ "uuid": "9c71aea2-ff12-44dc-8d54-c15aff6b4b35",
28
33
  "core": true,
34
+ "unlocked_by": null,
29
35
  "difficulty": 3,
30
- "slug": "house",
31
36
  "topics": [
32
37
  "control_flow_loops",
33
38
  "strings",
34
39
  "text_formatting"
35
- ],
36
- "unlocked_by": null,
37
- "uuid": "9c71aea2-ff12-44dc-8d54-c15aff6b4b35"
40
+ ]
38
41
  },
39
42
  {
43
+ "slug": "raindrops",
44
+ "uuid": "29338762-6ae0-4532-9465-bf67442b67d9",
40
45
  "core": false,
46
+ "unlocked_by": "leap",
41
47
  "difficulty": 1,
42
- "slug": "raindrops",
43
48
  "topics": [
44
49
  "control_flow_if_else_statements",
45
50
  "strings"
46
- ],
47
- "unlocked_by": "leap",
48
- "uuid": "29338762-6ae0-4532-9465-bf67442b67d9"
51
+ ]
49
52
  },
50
53
  {
54
+ "slug": "bob",
55
+ "uuid": "3aa77e13-ebc8-41ef-9405-144ef3ae753a",
51
56
  "core": false,
57
+ "unlocked_by": "leap",
52
58
  "difficulty": 3,
53
- "slug": "bob",
54
59
  "topics": [
55
60
  "control_flow_if_else_statements",
56
61
  "strings"
57
- ],
58
- "unlocked_by": "leap",
59
- "uuid": "3aa77e13-ebc8-41ef-9405-144ef3ae753a"
62
+ ]
60
63
  },
61
64
  {
65
+ "slug": "difference-of-squares",
66
+ "uuid": "251d7fd3-ed96-421c-af46-817ad40997e5",
62
67
  "core": true,
68
+ "unlocked_by": null,
63
69
  "difficulty": 2,
64
- "slug": "difference-of-squares",
65
70
  "topics": [
66
71
  "mathematics"
67
- ],
68
- "unlocked_by": null,
69
- "uuid": "251d7fd3-ed96-421c-af46-817ad40997e5"
72
+ ]
70
73
  },
71
74
  {
75
+ "slug": "variable-length-quantity",
76
+ "uuid": "baca9366-dee4-4759-98ac-2e76df5dfc49",
72
77
  "core": false,
78
+ "unlocked_by": "run-length-encoding",
73
79
  "difficulty": 6,
74
- "slug": "variable-length-quantity",
75
80
  "topics": [
76
81
  "arrays",
77
82
  "bitwise_operations",
78
83
  "control_flow_if_else_statements",
79
84
  "control_flow_loops"
80
- ],
81
- "unlocked_by": "run-length-encoding",
82
- "uuid": "baca9366-dee4-4759-98ac-2e76df5dfc49"
85
+ ]
83
86
  },
84
87
  {
88
+ "slug": "anagram",
89
+ "uuid": "49c8c8cc-f0e6-49dc-aac0-6c4acffff175",
85
90
  "core": false,
91
+ "unlocked_by": "isogram",
86
92
  "difficulty": 6,
87
- "slug": "anagram",
88
93
  "topics": [
89
94
  "algorithms",
90
95
  "control_flow_if_else_statements",
91
96
  "control_flow_loops",
92
97
  "strings"
93
- ],
94
- "unlocked_by": "isogram",
95
- "uuid": "49c8c8cc-f0e6-49dc-aac0-6c4acffff175"
98
+ ]
96
99
  },
97
100
  {
101
+ "slug": "octal",
102
+ "uuid": "f0ba9767-b0e5-4a80-9980-e135526b6f3f",
98
103
  "core": false,
104
+ "unlocked_by": "binary",
99
105
  "difficulty": 4,
100
- "slug": "octal",
101
106
  "topics": [
102
107
  "bitwise_operations",
103
108
  "control_flow_if_else_statements",
104
109
  "control_flow_loops",
105
110
  "strings"
106
- ],
107
- "unlocked_by": "binary",
108
- "uuid": "f0ba9767-b0e5-4a80-9980-e135526b6f3f"
111
+ ]
109
112
  },
110
113
  {
114
+ "slug": "binary-search",
115
+ "uuid": "ca4f3b4c-ab14-4a51-9bda-0391ea36e721",
111
116
  "core": true,
117
+ "unlocked_by": null,
112
118
  "difficulty": 4,
113
- "slug": "binary-search",
114
119
  "topics": [
115
120
  "algorithms",
116
121
  "arrays",
117
122
  "control_flow_if_else_statements",
118
123
  "control_flow_loops",
119
124
  "searching"
120
- ],
121
- "unlocked_by": null,
122
- "uuid": "ca4f3b4c-ab14-4a51-9bda-0391ea36e721"
125
+ ]
123
126
  },
124
127
  {
128
+ "slug": "bracket-push",
129
+ "uuid": "b9e455a0-688b-4502-aed7-a45536dde5ef",
125
130
  "core": false,
131
+ "unlocked_by": "binary-search",
126
132
  "difficulty": 5,
127
- "slug": "bracket-push",
128
133
  "topics": [
129
134
  "algorithms",
130
135
  "control_flow_if_else_statements",
131
136
  "control_flow_loops",
132
137
  "stacks",
133
138
  "strings"
134
- ],
135
- "unlocked_by": "binary-search",
136
- "uuid": "b9e455a0-688b-4502-aed7-a45536dde5ef"
139
+ ]
137
140
  },
138
141
  {
142
+ "slug": "flatten-array",
143
+ "uuid": "9d19c9ca-7e82-40b5-8951-75354eb7991f",
139
144
  "core": false,
145
+ "unlocked_by": "binary-search",
140
146
  "difficulty": 5,
141
- "slug": "flatten-array",
142
147
  "topics": [
143
148
  "algorithms",
144
149
  "arrays",
145
150
  "control_flow_if_else_statements",
146
151
  "control_flow_loops",
147
152
  "recursion"
148
- ],
149
- "unlocked_by": "binary-search",
150
- "uuid": "9d19c9ca-7e82-40b5-8951-75354eb7991f"
153
+ ]
151
154
  },
152
155
  {
156
+ "slug": "word-count",
157
+ "uuid": "06613caf-8f73-43e6-9fad-3d6df4c7c344",
153
158
  "core": false,
159
+ "unlocked_by": "isogram",
154
160
  "difficulty": 3,
155
- "slug": "word-count",
156
161
  "topics": [
157
162
  "control_flow_loops",
158
163
  "strings"
159
- ],
160
- "unlocked_by": "isogram",
161
- "uuid": "06613caf-8f73-43e6-9fad-3d6df4c7c344"
164
+ ]
162
165
  },
163
166
  {
167
+ "slug": "pangram",
168
+ "uuid": "e5a5d3ca-af5c-43c9-8f99-f5eb522169af",
164
169
  "core": false,
170
+ "unlocked_by": "isogram",
165
171
  "difficulty": 3,
166
- "slug": "pangram",
167
172
  "topics": [
168
173
  "control_flow_if_else_statements",
169
174
  "control_flow_loops",
170
175
  "strings"
171
- ],
172
- "unlocked_by": "isogram",
173
- "uuid": "e5a5d3ca-af5c-43c9-8f99-f5eb522169af"
176
+ ]
174
177
  },
175
178
  {
179
+ "slug": "matrix",
180
+ "uuid": "d4de8f02-ba5b-4357-8285-9cb41dc3b72e",
176
181
  "core": true,
182
+ "unlocked_by": null,
177
183
  "difficulty": 3,
178
- "slug": "matrix",
179
184
  "topics": [
180
185
  "arrays",
181
186
  "control_flow_loops",
182
187
  "matrices"
183
- ],
184
- "unlocked_by": null,
185
- "uuid": "d4de8f02-ba5b-4357-8285-9cb41dc3b72e"
188
+ ]
186
189
  },
187
190
  {
191
+ "slug": "beer-song",
192
+ "uuid": "242da1b4-c8ad-48c8-bc0f-e43fd654f8ae",
188
193
  "core": false,
194
+ "unlocked_by": "house",
189
195
  "difficulty": 3,
190
- "slug": "beer-song",
191
196
  "topics": [
192
197
  "control_flow_if_else_statements",
193
198
  "control_flow_loops",
194
199
  "strings",
195
200
  "text_formatting"
196
- ],
197
- "unlocked_by": "house",
198
- "uuid": "242da1b4-c8ad-48c8-bc0f-e43fd654f8ae"
201
+ ]
199
202
  },
200
203
  {
204
+ "slug": "isogram",
205
+ "uuid": "3ae90024-cd9a-4884-836f-3a7ea94cce01",
201
206
  "core": true,
207
+ "unlocked_by": null,
202
208
  "difficulty": 2,
203
- "slug": "isogram",
204
209
  "topics": [
205
210
  "control_flow_if_else_statements",
206
211
  "control_flow_loops",
207
212
  "strings"
208
- ],
209
- "unlocked_by": null,
210
- "uuid": "3ae90024-cd9a-4884-836f-3a7ea94cce01"
213
+ ]
211
214
  },
212
215
  {
216
+ "slug": "perfect-numbers",
217
+ "uuid": "8b7ce997-ce5f-4968-b661-d3cd9fed0fc9",
213
218
  "core": false,
219
+ "unlocked_by": "difference-of-squares",
214
220
  "difficulty": 3,
215
- "slug": "perfect-numbers",
216
221
  "topics": [
217
222
  "control_flow_if_else_statements",
218
223
  "control_flow_loops",
219
224
  "mathematics"
220
- ],
221
- "unlocked_by": "difference-of-squares",
222
- "uuid": "8b7ce997-ce5f-4968-b661-d3cd9fed0fc9"
225
+ ]
223
226
  },
224
227
  {
228
+ "slug": "etl",
229
+ "uuid": "df4cec80-6850-4197-a65f-2159fbedcbe9",
225
230
  "core": false,
231
+ "unlocked_by": "list-ops",
226
232
  "difficulty": 3,
227
- "slug": "etl",
228
233
  "topics": [
229
234
  "control_flow_loops",
230
235
  "transforming"
231
- ],
232
- "unlocked_by": "list-ops",
233
- "uuid": "df4cec80-6850-4197-a65f-2159fbedcbe9"
236
+ ]
234
237
  },
235
238
  {
239
+ "slug": "nucleotide-count",
240
+ "uuid": "a5fb57d1-1a31-43a0-adc4-7f4b8046c9eb",
236
241
  "core": false,
242
+ "unlocked_by": "hamming",
237
243
  "difficulty": 3,
238
- "slug": "nucleotide-count",
239
244
  "topics": [
240
245
  "control_flow_loops",
241
246
  "exception_handling",
242
247
  "strings"
243
- ],
244
- "unlocked_by": "hamming",
245
- "uuid": "a5fb57d1-1a31-43a0-adc4-7f4b8046c9eb"
248
+ ]
246
249
  },
247
250
  {
251
+ "slug": "food-chain",
252
+ "uuid": "68650122-5452-4674-8676-5387cc24fd14",
248
253
  "core": false,
254
+ "unlocked_by": "house",
249
255
  "difficulty": 3,
250
- "slug": "food-chain",
251
256
  "topics": [
252
257
  "control_flow_if_else_statements",
253
258
  "control_flow_loops",
254
259
  "strings"
255
- ],
256
- "unlocked_by": "house",
257
- "uuid": "68650122-5452-4674-8676-5387cc24fd14"
260
+ ]
258
261
  },
259
262
  {
263
+ "slug": "sum-of-multiples",
264
+ "uuid": "da6a0c52-5943-412e-8649-8965ae9da5cf",
260
265
  "core": false,
266
+ "unlocked_by": "difference-of-squares",
261
267
  "difficulty": 2,
262
- "slug": "sum-of-multiples",
263
268
  "topics": [
264
269
  "control_flow_if_else_statements",
265
270
  "control_flow_loops",
266
271
  "mathematics"
267
- ],
268
- "unlocked_by": "difference-of-squares",
269
- "uuid": "da6a0c52-5943-412e-8649-8965ae9da5cf"
272
+ ]
270
273
  },
271
274
  {
275
+ "slug": "rna-transcription",
276
+ "uuid": "5029a8ed-3766-4632-bdab-964ca4a06e34",
272
277
  "core": false,
278
+ "unlocked_by": "hamming",
273
279
  "difficulty": 3,
274
- "slug": "rna-transcription",
275
280
  "topics": [
276
281
  "control_flow_loops",
277
282
  "strings",
278
283
  "transforming"
279
- ],
280
- "unlocked_by": "hamming",
281
- "uuid": "5029a8ed-3766-4632-bdab-964ca4a06e34"
284
+ ]
282
285
  },
283
286
  {
287
+ "slug": "phone-number",
288
+ "uuid": "23cfe01b-41ea-4a18-beca-ca1d3c38fb69",
284
289
  "core": false,
290
+ "unlocked_by": "allergies",
285
291
  "difficulty": 3,
286
- "slug": "phone-number",
287
292
  "topics": [
288
293
  "control_flow_if_else_statements",
289
294
  "strings",
290
295
  "text_formatting"
291
- ],
292
- "unlocked_by": "allergies",
293
- "uuid": "23cfe01b-41ea-4a18-beca-ca1d3c38fb69"
296
+ ]
294
297
  },
295
298
  {
299
+ "slug": "bank-account",
300
+ "uuid": "02407c99-08bf-4ea4-b9df-fdef0ad18fa4",
296
301
  "core": true,
302
+ "unlocked_by": null,
297
303
  "difficulty": 3,
298
- "slug": "bank-account",
299
304
  "topics": [
300
305
  "classes",
301
306
  "control_flow_if_else_statements"
302
- ],
303
- "unlocked_by": null,
304
- "uuid": "02407c99-08bf-4ea4-b9df-fdef0ad18fa4"
307
+ ]
305
308
  },
306
309
  {
310
+ "slug": "protein-translation",
311
+ "uuid": "8fa0c325-56ca-481f-a2cf-4c3fcffb088f",
307
312
  "core": false,
313
+ "unlocked_by": "hamming",
308
314
  "difficulty": 3,
309
- "slug": "protein-translation",
310
315
  "topics": [
311
316
  "control_flow_if_else_statements",
312
317
  "control_flow_loops",
313
318
  "exception_handling",
314
319
  "strings"
315
- ],
316
- "unlocked_by": "hamming",
317
- "uuid": "8fa0c325-56ca-481f-a2cf-4c3fcffb088f"
320
+ ]
318
321
  },
319
322
  {
323
+ "slug": "grade-school",
324
+ "uuid": "d531b625-ac92-4042-9cda-169398b0b296",
320
325
  "core": false,
326
+ "unlocked_by": "bank-account",
321
327
  "difficulty": 4,
322
- "slug": "grade-school",
323
328
  "topics": [
324
329
  "classes",
325
330
  "control_flow_if_else_statements"
326
- ],
327
- "unlocked_by": "bank-account",
328
- "uuid": "d531b625-ac92-4042-9cda-169398b0b296"
331
+ ]
329
332
  },
330
333
  {
334
+ "slug": "nth-prime",
335
+ "uuid": "b8880be4-02e7-4911-b049-927c028ed8e0",
331
336
  "core": true,
337
+ "unlocked_by": null,
332
338
  "difficulty": 4,
333
- "slug": "nth-prime",
334
339
  "topics": [
335
340
  "control_flow_if_else_statements",
336
341
  "control_flow_loops",
337
342
  "exception_handling",
338
343
  "mathematics"
339
- ],
340
- "unlocked_by": null,
341
- "uuid": "b8880be4-02e7-4911-b049-927c028ed8e0"
344
+ ]
342
345
  },
343
346
  {
347
+ "slug": "diamond",
348
+ "uuid": "b236519f-987b-4832-a698-b9eeebf29efb",
344
349
  "core": true,
350
+ "unlocked_by": null,
345
351
  "difficulty": 4,
346
- "slug": "diamond",
347
352
  "topics": [
348
353
  "algorithms",
349
354
  "control_flow_loops",
350
355
  "strings",
351
356
  "text_formatting"
352
- ],
353
- "unlocked_by": null,
354
- "uuid": "b236519f-987b-4832-a698-b9eeebf29efb"
357
+ ]
355
358
  },
356
359
  {
360
+ "slug": "run-length-encoding",
361
+ "uuid": "f9a5560e-5f84-451a-a8f8-632ea8525e08",
357
362
  "core": true,
363
+ "unlocked_by": null,
358
364
  "difficulty": 5,
359
- "slug": "run-length-encoding",
360
365
  "topics": [
361
366
  "algorithms",
362
367
  "control_flow_if_else_statements",
363
368
  "control_flow_loops",
364
369
  "strings",
365
370
  "text_formatting"
366
- ],
367
- "unlocked_by": null,
368
- "uuid": "f9a5560e-5f84-451a-a8f8-632ea8525e08"
371
+ ]
369
372
  },
370
373
  {
374
+ "slug": "sublist",
375
+ "uuid": "3e2510c0-76ea-40cf-a56c-5f6d2c4a33c2",
371
376
  "core": false,
377
+ "unlocked_by": "list-ops",
372
378
  "difficulty": 4,
373
- "slug": "sublist",
374
379
  "topics": [
375
380
  "arrays",
376
381
  "control_flow_if_else_statements",
377
382
  "control_flow_loops"
378
- ],
379
- "unlocked_by": "list-ops",
380
- "uuid": "3e2510c0-76ea-40cf-a56c-5f6d2c4a33c2"
383
+ ]
381
384
  },
382
385
  {
386
+ "slug": "robot-name",
387
+ "uuid": "f4369803-07c4-4bbe-9bdc-3f4eea510802",
383
388
  "core": true,
389
+ "unlocked_by": null,
384
390
  "difficulty": 4,
385
- "slug": "robot-name",
386
391
  "topics": [
387
392
  "randomness",
388
393
  "strings",
389
394
  "text_formatting"
390
- ],
391
- "unlocked_by": null,
392
- "uuid": "f4369803-07c4-4bbe-9bdc-3f4eea510802"
395
+ ]
393
396
  },
394
397
  {
398
+ "slug": "robot-simulator",
399
+ "uuid": "742a010e-85f2-4259-a444-86a7fb73b9bb",
395
400
  "core": false,
401
+ "unlocked_by": "robot-name",
396
402
  "difficulty": 3,
397
- "slug": "robot-simulator",
398
403
  "topics": [
399
404
  "classes",
400
405
  "exception_handling",
401
406
  "strings"
402
- ],
403
- "unlocked_by": "robot-name",
404
- "uuid": "742a010e-85f2-4259-a444-86a7fb73b9bb"
407
+ ]
405
408
  },
406
409
  {
410
+ "slug": "pythagorean-triplet",
411
+ "uuid": "2bee6ff9-3826-4cf8-adc4-c00d4b87bbd7",
407
412
  "core": false,
413
+ "unlocked_by": "difference-of-squares",
408
414
  "difficulty": 3,
409
- "slug": "pythagorean-triplet",
410
415
  "topics": [
411
416
  "control_flow_if_else_statements",
412
417
  "control_flow_loops",
413
418
  "mathematics"
414
- ],
415
- "unlocked_by": "difference-of-squares",
416
- "uuid": "2bee6ff9-3826-4cf8-adc4-c00d4b87bbd7"
419
+ ]
417
420
  },
418
421
  {
422
+ "slug": "leap",
423
+ "uuid": "1e9b4ae0-0c07-4ed6-8e31-14682fda1f8a",
419
424
  "core": true,
425
+ "unlocked_by": null,
420
426
  "difficulty": 1,
421
- "slug": "leap",
422
427
  "topics": [
423
428
  "control_flow_if_else_statements",
424
429
  "logic"
425
- ],
426
- "unlocked_by": null,
427
- "uuid": "1e9b4ae0-0c07-4ed6-8e31-14682fda1f8a"
430
+ ]
428
431
  },
429
432
  {
433
+ "slug": "space-age",
434
+ "uuid": "e41af697-bb33-46f4-a2d0-14c5440ca209",
430
435
  "core": false,
436
+ "unlocked_by": "leap",
431
437
  "difficulty": 2,
432
- "slug": "space-age",
433
438
  "topics": [
434
439
  "classes"
435
- ],
436
- "unlocked_by": "leap",
437
- "uuid": "e41af697-bb33-46f4-a2d0-14c5440ca209"
440
+ ]
438
441
  },
439
442
  {
443
+ "slug": "pascals-triangle",
444
+ "uuid": "b7a4bd55-7e51-46f1-9bd9-90185b99e238",
440
445
  "core": false,
446
+ "unlocked_by": "diamond",
441
447
  "difficulty": 5,
442
- "slug": "pascals-triangle",
443
448
  "topics": [
444
449
  "control_flow_loops",
445
450
  "mathematics"
446
- ],
447
- "unlocked_by": "diamond",
448
- "uuid": "b7a4bd55-7e51-46f1-9bd9-90185b99e238"
451
+ ]
449
452
  },
450
453
  {
454
+ "slug": "sieve",
455
+ "uuid": "69cdb196-ac32-4733-b978-a29c43717936",
451
456
  "core": false,
457
+ "unlocked_by": "nth-prime",
452
458
  "difficulty": 4,
453
- "slug": "sieve",
454
459
  "topics": [
455
460
  "control_flow_if_else_statements",
456
461
  "control_flow_loops",
457
462
  "mathematics"
458
- ],
459
- "unlocked_by": "nth-prime",
460
- "uuid": "69cdb196-ac32-4733-b978-a29c43717936"
463
+ ]
461
464
  },
462
465
  {
466
+ "slug": "grains",
467
+ "uuid": "03e986ce-396f-4243-9df5-edf10d4e7bd8",
463
468
  "core": false,
469
+ "unlocked_by": "leap",
464
470
  "difficulty": 2,
465
- "slug": "grains",
466
471
  "topics": [
467
472
  "control_flow_loops"
468
- ],
469
- "unlocked_by": "leap",
470
- "uuid": "03e986ce-396f-4243-9df5-edf10d4e7bd8"
473
+ ]
471
474
  },
472
475
  {
476
+ "slug": "kindergarten-garden",
477
+ "uuid": "d669d338-c3f1-40ea-ae12-c77127c6fcdc",
473
478
  "core": false,
479
+ "unlocked_by": "allergies",
474
480
  "difficulty": 5,
475
- "slug": "kindergarten-garden",
476
481
  "topics": [
477
482
  "control_flow_if_else_statements",
478
483
  "control_flow_loops",
479
484
  "strings"
480
- ],
481
- "unlocked_by": "allergies",
482
- "uuid": "d669d338-c3f1-40ea-ae12-c77127c6fcdc"
485
+ ]
483
486
  },
484
487
  {
488
+ "slug": "custom-set",
489
+ "uuid": "ed37d6db-7cbe-4219-bdb0-f15f28f60f1e",
485
490
  "core": true,
491
+ "unlocked_by": null,
486
492
  "difficulty": 6,
487
- "slug": "custom-set",
488
493
  "topics": [
489
494
  "classes",
490
495
  "control_flow_if_else_statements",
491
496
  "control_flow_loops",
492
497
  "sets"
493
- ],
494
- "unlocked_by": null,
495
- "uuid": "ed37d6db-7cbe-4219-bdb0-f15f28f60f1e"
498
+ ]
496
499
  },
497
500
  {
501
+ "slug": "gigasecond",
502
+ "uuid": "8276c090-4923-4bce-a42e-94be3a61101a",
498
503
  "core": false,
504
+ "unlocked_by": "leap",
499
505
  "difficulty": 2,
500
- "slug": "gigasecond",
501
506
  "topics": [
502
507
  "time"
503
- ],
504
- "unlocked_by": "leap",
505
- "uuid": "8276c090-4923-4bce-a42e-94be3a61101a"
508
+ ]
506
509
  },
507
510
  {
511
+ "slug": "word-search",
512
+ "uuid": "52cd8150-1d95-4f1e-b964-7ec40d64acef",
508
513
  "core": false,
514
+ "unlocked_by": "matrix",
509
515
  "difficulty": 7,
510
- "slug": "word-search",
511
516
  "topics": [
512
517
  "control_flow_if_else_statements",
513
518
  "control_flow_loops",
514
519
  "strings"
515
- ],
516
- "unlocked_by": "matrix",
517
- "uuid": "52cd8150-1d95-4f1e-b964-7ec40d64acef"
520
+ ]
518
521
  },
519
522
  {
523
+ "slug": "luhn",
524
+ "uuid": "68232a5f-bac4-4390-b13a-aad42aa41e60",
520
525
  "core": false,
526
+ "unlocked_by": "run-length-encoding",
521
527
  "difficulty": 4,
522
- "slug": "luhn",
523
528
  "topics": [
524
529
  "control_flow_if_else_statements",
525
530
  "control_flow_loops",
526
531
  "strings"
527
- ],
528
- "unlocked_by": "run-length-encoding",
529
- "uuid": "68232a5f-bac4-4390-b13a-aad42aa41e60"
532
+ ]
530
533
  },
531
534
  {
535
+ "slug": "triangle",
536
+ "uuid": "206802f9-7c6c-48d6-985e-73f2ec0290d0",
532
537
  "core": false,
538
+ "unlocked_by": "difference-of-squares",
533
539
  "difficulty": 3,
534
- "slug": "triangle",
535
540
  "topics": [
536
541
  "control_flow_if_else_statements",
537
542
  "exception_handling"
538
- ],
539
- "unlocked_by": "difference-of-squares",
540
- "uuid": "206802f9-7c6c-48d6-985e-73f2ec0290d0"
543
+ ]
541
544
  },
542
545
  {
546
+ "slug": "clock",
547
+ "uuid": "8e2dc8f7-af6d-4c9d-98cb-5560eeb299ca",
543
548
  "core": false,
549
+ "unlocked_by": "bank-account",
544
550
  "difficulty": 3,
545
- "slug": "clock",
546
551
  "topics": [
547
552
  "classes"
548
- ],
549
- "unlocked_by": "bank-account",
550
- "uuid": "8e2dc8f7-af6d-4c9d-98cb-5560eeb299ca"
553
+ ]
551
554
  },
552
555
  {
556
+ "slug": "series",
557
+ "uuid": "4527f869-1901-4301-88bf-1c6fbb4d5898",
553
558
  "core": false,
559
+ "unlocked_by": "list-ops",
554
560
  "difficulty": 4,
555
- "slug": "series",
556
561
  "topics": [
557
562
  "arrays",
558
563
  "control_flow_loops",
559
564
  "coroutines"
560
- ],
561
- "unlocked_by": "list-ops",
562
- "uuid": "4527f869-1901-4301-88bf-1c6fbb4d5898"
565
+ ]
563
566
  },
564
567
  {
568
+ "slug": "linked-list",
569
+ "uuid": "d5dae487-8d85-4b9c-a218-f6fb8262f81b",
565
570
  "core": false,
571
+ "unlocked_by": "custom-set",
566
572
  "difficulty": 4,
567
- "slug": "linked-list",
568
573
  "topics": [
569
574
  "classes",
570
575
  "control_flow_if_else_statements",
571
576
  "control_flow_loops"
572
- ],
573
- "unlocked_by": "custom-set",
574
- "uuid": "d5dae487-8d85-4b9c-a218-f6fb8262f81b"
577
+ ]
575
578
  },
576
579
  {
580
+ "slug": "ocr-numbers",
581
+ "uuid": "f4008921-35cf-4c61-bc3b-aecd20b2f36f",
577
582
  "core": false,
583
+ "unlocked_by": "matrix",
578
584
  "difficulty": 7,
579
- "slug": "ocr-numbers",
580
585
  "topics": [
581
586
  "control_flow_loops",
582
587
  "strings"
583
- ],
584
- "unlocked_by": "matrix",
585
- "uuid": "f4008921-35cf-4c61-bc3b-aecd20b2f36f"
588
+ ]
586
589
  },
587
590
  {
591
+ "slug": "pig-latin",
592
+ "uuid": "6d43c48f-47d0-443f-87e0-eeb6e535407f",
588
593
  "core": true,
594
+ "unlocked_by": null,
589
595
  "difficulty": 5,
590
- "slug": "pig-latin",
591
596
  "topics": [
592
597
  "control_flow_if_else_statements",
593
598
  "control_flow_loops",
594
599
  "strings",
595
600
  "text_formatting"
596
- ],
597
- "unlocked_by": null,
598
- "uuid": "6d43c48f-47d0-443f-87e0-eeb6e535407f"
601
+ ]
599
602
  },
600
603
  {
604
+ "slug": "minesweeper",
605
+ "uuid": "fcb9cc16-7690-4ee6-a373-c8476063ec57",
601
606
  "core": false,
607
+ "unlocked_by": "matrix",
602
608
  "difficulty": 7,
603
- "slug": "minesweeper",
604
609
  "topics": [
605
610
  "arrays",
606
611
  "control_flow_if_else_statements",
607
612
  "control_flow_loops",
608
613
  "exception_handling",
609
614
  "strings"
610
- ],
611
- "unlocked_by": "matrix",
612
- "uuid": "fcb9cc16-7690-4ee6-a373-c8476063ec57"
615
+ ]
613
616
  },
614
617
  {
618
+ "slug": "crypto-square",
619
+ "uuid": "07f03e4f-be9a-411f-9501-efa610b16f7b",
615
620
  "core": false,
621
+ "unlocked_by": "run-length-encoding",
616
622
  "difficulty": 5,
617
- "slug": "crypto-square",
618
623
  "topics": [
619
624
  "control_flow_loops",
620
625
  "strings",
621
626
  "text_formatting"
622
- ],
623
- "unlocked_by": "run-length-encoding",
624
- "uuid": "07f03e4f-be9a-411f-9501-efa610b16f7b"
627
+ ]
625
628
  },
626
629
  {
630
+ "slug": "list-ops",
631
+ "uuid": "309e88ac-2d18-419f-aee6-76d9d3230209",
627
632
  "core": true,
633
+ "unlocked_by": null,
628
634
  "difficulty": 4,
629
- "slug": "list-ops",
630
635
  "topics": [
631
636
  "arrays",
632
637
  "control_flow_loops",
633
638
  "filtering"
634
- ],
635
- "unlocked_by": null,
636
- "uuid": "309e88ac-2d18-419f-aee6-76d9d3230209"
639
+ ]
637
640
  },
638
641
  {
642
+ "slug": "meetup",
643
+ "uuid": "528a5545-c0a1-44dc-89dd-efaa39f44a14",
639
644
  "core": false,
645
+ "unlocked_by": "pig-latin",
640
646
  "difficulty": 6,
641
- "slug": "meetup",
642
647
  "topics": [
643
648
  "control_flow_if_statements",
644
649
  "control_flow_loops",
645
650
  "time"
646
- ],
647
- "unlocked_by": "pig-latin",
648
- "uuid": "528a5545-c0a1-44dc-89dd-efaa39f44a14"
651
+ ]
649
652
  },
650
653
  {
654
+ "slug": "atbash-cipher",
655
+ "uuid": "66aa24ed-373f-46d4-9cfa-a86cad86777a",
651
656
  "core": false,
657
+ "unlocked_by": "run-length-encoding",
652
658
  "difficulty": 3,
653
- "slug": "atbash-cipher",
654
659
  "topics": [
655
660
  "control_flow_loops",
656
661
  "strings",
657
662
  "text_formatting"
658
- ],
659
- "unlocked_by": "run-length-encoding",
660
- "uuid": "66aa24ed-373f-46d4-9cfa-a86cad86777a"
663
+ ]
661
664
  },
662
665
  {
666
+ "slug": "scrabble-score",
667
+ "uuid": "92b5536c-1129-4c93-875d-df2b4178af70",
663
668
  "core": false,
669
+ "unlocked_by": "hamming",
664
670
  "difficulty": 3,
665
- "slug": "scrabble-score",
666
671
  "topics": [
667
672
  "control_flow_loops",
668
673
  "strings"
669
- ],
670
- "unlocked_by": "hamming",
671
- "uuid": "92b5536c-1129-4c93-875d-df2b4178af70"
674
+ ]
672
675
  },
673
676
  {
677
+ "slug": "largest-series-product",
678
+ "uuid": "f4bb526f-8cd6-4435-8fcc-32099553a989",
674
679
  "core": false,
680
+ "unlocked_by": "difference-of-squares",
675
681
  "difficulty": 5,
676
- "slug": "largest-series-product",
677
682
  "topics": [
678
683
  "control_flow_loops",
679
684
  "exception_handling"
680
- ],
681
- "unlocked_by": "difference-of-squares",
682
- "uuid": "f4bb526f-8cd6-4435-8fcc-32099553a989"
685
+ ]
683
686
  },
684
687
  {
688
+ "slug": "rail-fence-cipher",
689
+ "uuid": "ead29411-43a4-4be0-8e3e-d93d8c6fd411",
685
690
  "core": false,
691
+ "unlocked_by": "run-length-encoding",
686
692
  "difficulty": 7,
687
- "slug": "rail-fence-cipher",
688
693
  "topics": [
689
694
  "control_flow_if_else_statements",
690
695
  "control_flow_loops",
691
696
  "strings",
692
697
  "text_formatting"
693
- ],
694
- "unlocked_by": "run-length-encoding",
695
- "uuid": "ead29411-43a4-4be0-8e3e-d93d8c6fd411"
698
+ ]
696
699
  },
697
700
  {
701
+ "slug": "roman-numerals",
702
+ "uuid": "baa2c87a-aec5-47ef-b92d-d2ca39ce4bf2",
698
703
  "core": false,
704
+ "unlocked_by": "leap",
699
705
  "difficulty": 4,
700
- "slug": "roman-numerals",
701
706
  "topics": [
702
707
  "control_flow_loops",
703
708
  "strings",
704
709
  "text_formatting"
705
- ],
706
- "unlocked_by": "leap",
707
- "uuid": "baa2c87a-aec5-47ef-b92d-d2ca39ce4bf2"
710
+ ]
708
711
  },
709
712
  {
713
+ "slug": "transpose",
714
+ "uuid": "d677e28f-a162-4edf-9e22-b57589540087",
710
715
  "core": false,
716
+ "unlocked_by": "matrix",
711
717
  "difficulty": 7,
712
- "slug": "transpose",
713
718
  "topics": [
714
719
  "algorithms",
715
720
  "control_flow_loops",
716
721
  "strings"
717
- ],
718
- "unlocked_by": "matrix",
719
- "uuid": "d677e28f-a162-4edf-9e22-b57589540087"
722
+ ]
720
723
  },
721
724
  {
725
+ "slug": "tournament",
726
+ "uuid": "6d1ff01a-aee3-4da0-8952-617e7aae86f4",
722
727
  "core": false,
728
+ "unlocked_by": "allergies",
723
729
  "difficulty": 5,
724
- "slug": "tournament",
725
730
  "topics": [
726
731
  "arrays",
727
732
  "control_flow_loops",
728
733
  "strings",
729
734
  "text_formatting",
730
735
  "text_parsing"
731
- ],
732
- "unlocked_by": "allergies",
733
- "uuid": "6d1ff01a-aee3-4da0-8952-617e7aae86f4"
736
+ ]
734
737
  },
735
738
  {
739
+ "slug": "circular-buffer",
740
+ "uuid": "ad81b98a-b9b4-4894-a05b-e7b052de122a",
736
741
  "core": false,
742
+ "unlocked_by": "custom-set",
737
743
  "difficulty": 4,
738
- "slug": "circular-buffer",
739
744
  "topics": [
740
745
  "classes",
741
746
  "control_flow_if_else_statements",
742
747
  "exception_handling"
743
- ],
744
- "unlocked_by": "custom-set",
745
- "uuid": "ad81b98a-b9b4-4894-a05b-e7b052de122a"
748
+ ]
746
749
  },
747
750
  {
751
+ "slug": "binary-search-tree",
752
+ "uuid": "83773c82-0df3-4957-9111-68b1143ae7fb",
748
753
  "core": false,
754
+ "unlocked_by": "binary-search",
749
755
  "difficulty": 5,
750
- "slug": "binary-search-tree",
751
756
  "topics": [
752
757
  "algorithms",
753
758
  "coroutines",
@@ -755,224 +760,223 @@
755
760
  "recursion",
756
761
  "searching",
757
762
  "trees"
758
- ],
759
- "unlocked_by": "binary-search",
760
- "uuid": "83773c82-0df3-4957-9111-68b1143ae7fb"
763
+ ]
761
764
  },
762
765
  {
766
+ "slug": "bowling",
767
+ "uuid": "7ee42679-3ed9-413c-a43b-5e21813e8f62",
763
768
  "core": false,
769
+ "unlocked_by": "allergies",
764
770
  "difficulty": 4,
765
- "slug": "bowling",
766
771
  "topics": [
767
772
  "algorithms",
768
773
  "control_flow_if_else_statements",
769
774
  "exception_handling"
770
- ],
771
- "unlocked_by": "allergies",
772
- "uuid": "7ee42679-3ed9-413c-a43b-5e21813e8f62"
775
+ ]
773
776
  },
774
777
  {
778
+ "slug": "binary",
779
+ "uuid": "5d24d945-9f15-450a-bb47-0b9c6a9e8c47",
775
780
  "core": true,
781
+ "unlocked_by": null,
776
782
  "difficulty": 3,
777
- "slug": "binary",
778
783
  "topics": [
779
784
  "bitwise_operations",
780
785
  "control_flow_if_else_statements",
781
786
  "control_flow_loops",
782
787
  "strings"
783
- ],
784
- "unlocked_by": null,
785
- "uuid": "5d24d945-9f15-450a-bb47-0b9c6a9e8c47"
788
+ ]
786
789
  },
787
790
  {
791
+ "slug": "alphametics",
792
+ "uuid": "4b1c805c-e833-4f84-bf1f-931c640ade6d",
788
793
  "core": false,
794
+ "unlocked_by": "matrix",
789
795
  "difficulty": 8,
790
- "slug": "alphametics",
791
796
  "topics": [
792
797
  "algorithms",
793
798
  "control_flow_if_else_statements",
794
799
  "control_flow_loops",
795
800
  "performance",
796
801
  "strings"
797
- ],
798
- "unlocked_by": "matrix",
799
- "uuid": "4b1c805c-e833-4f84-bf1f-931c640ade6d"
802
+ ]
800
803
  },
801
804
  {
805
+ "slug": "prime-factors",
806
+ "uuid": "b6050415-b980-4d01-8520-ecdf24f40e37",
802
807
  "core": false,
808
+ "unlocked_by": "nth-prime",
803
809
  "difficulty": 4,
804
- "slug": "prime-factors",
805
810
  "topics": [
806
811
  "control_flow_if_else_statements",
807
812
  "control_flow_loops",
808
813
  "mathematics"
809
- ],
810
- "unlocked_by": "nth-prime",
811
- "uuid": "b6050415-b980-4d01-8520-ecdf24f40e37"
814
+ ]
812
815
  },
813
816
  {
817
+ "slug": "acronym",
818
+ "uuid": "422b08d7-7aa9-4f54-9a1a-ad2a0d90fc6d",
814
819
  "core": false,
820
+ "unlocked_by": "isogram",
815
821
  "difficulty": 4,
816
- "slug": "acronym",
817
822
  "topics": [
818
823
  "control_flow_loops",
819
824
  "strings"
820
- ],
821
- "unlocked_by": "isogram",
822
- "uuid": "422b08d7-7aa9-4f54-9a1a-ad2a0d90fc6d"
825
+ ]
823
826
  },
824
827
  {
828
+ "slug": "all-your-base",
829
+ "uuid": "4fc33e06-6ac0-432c-8bbe-d598c193443e",
825
830
  "core": false,
831
+ "unlocked_by": "binary",
826
832
  "difficulty": 4,
827
- "slug": "all-your-base",
828
833
  "topics": [
829
834
  "arrays",
830
835
  "control_flow_loops",
831
836
  "mathematics"
832
- ],
833
- "unlocked_by": "binary",
834
- "uuid": "4fc33e06-6ac0-432c-8bbe-d598c193443e"
837
+ ]
835
838
  },
836
839
  {
840
+ "slug": "rectangles",
841
+ "uuid": "53cd372b-8e8c-4f95-92fa-588b9ad3140f",
837
842
  "core": false,
843
+ "unlocked_by": "matrix",
838
844
  "difficulty": 8,
839
- "slug": "rectangles",
840
845
  "topics": [
841
846
  "algorithms",
842
847
  "control_flow_if_else_statements",
843
848
  "control_flow_loops",
844
849
  "performance",
845
850
  "strings"
846
- ],
847
- "unlocked_by": "matrix",
848
- "uuid": "53cd372b-8e8c-4f95-92fa-588b9ad3140f"
851
+ ]
849
852
  },
850
853
  {
854
+ "slug": "allergies",
855
+ "uuid": "e3d0e005-6397-4006-92ec-78f86178c684",
851
856
  "core": true,
857
+ "unlocked_by": null,
852
858
  "difficulty": 4,
853
- "slug": "allergies",
854
859
  "topics": [
855
860
  "bitwise_operations",
856
861
  "control_flow_if_else_statements",
857
862
  "control_flow_loops"
858
- ],
859
- "unlocked_by": null,
860
- "uuid": "e3d0e005-6397-4006-92ec-78f86178c684"
863
+ ]
861
864
  },
862
865
  {
866
+ "slug": "say",
867
+ "uuid": "8901be3e-f10b-4ab5-a81e-3916cac7138c",
863
868
  "core": false,
869
+ "unlocked_by": "pig-latin",
864
870
  "difficulty": 7,
865
- "slug": "say",
866
871
  "topics": [
867
872
  "control_flow_loops",
868
873
  "strings",
869
874
  "text_formatting"
870
- ],
871
- "unlocked_by": "pig-latin",
872
- "uuid": "8901be3e-f10b-4ab5-a81e-3916cac7138c"
875
+ ]
873
876
  },
874
877
  {
878
+ "slug": "pov",
879
+ "uuid": "57444e1f-d558-4684-a84e-6622e18771b6",
875
880
  "core": false,
881
+ "unlocked_by": "binary-search",
876
882
  "difficulty": 9,
877
- "slug": "pov",
878
883
  "topics": [
879
884
  "algorithms",
880
885
  "control_flow_if_else_statements",
881
886
  "control_flow_loops",
882
887
  "exception_handling",
883
888
  "graphs"
884
- ],
885
- "unlocked_by": "binary-search",
886
- "uuid": "57444e1f-d558-4684-a84e-6622e18771b6"
889
+ ]
887
890
  },
888
891
  {
892
+ "slug": "change",
893
+ "uuid": "6de1c104-16d0-41a3-8bed-a6994b7b2748",
889
894
  "core": false,
895
+ "unlocked_by": "binary-search",
890
896
  "difficulty": 4,
891
- "slug": "change",
892
897
  "topics": [
893
898
  "control_flow_if_else_statements",
894
899
  "control_flow_loops"
895
- ],
896
- "unlocked_by": "binary-search",
897
- "uuid": "6de1c104-16d0-41a3-8bed-a6994b7b2748"
900
+ ]
898
901
  },
899
902
  {
903
+ "slug": "secret-handshake",
904
+ "uuid": "c0aacfca-82d3-4494-bc38-821dd0613c38",
900
905
  "core": false,
906
+ "unlocked_by": "leap",
901
907
  "difficulty": 3,
902
- "slug": "secret-handshake",
903
908
  "topics": [
904
909
  "arrays",
905
910
  "bitwise_operations",
906
911
  "control_flow_if_else_statements"
907
- ],
908
- "unlocked_by": "leap",
909
- "uuid": "c0aacfca-82d3-4494-bc38-821dd0613c38"
912
+ ]
910
913
  },
911
914
  {
915
+ "slug": "react",
916
+ "uuid": "0c6b0312-5415-4c7a-9913-b594542df491",
912
917
  "core": false,
918
+ "unlocked_by": "matrix",
913
919
  "difficulty": 8,
914
- "slug": "react",
915
920
  "topics": [
916
921
  "control_flow_if_else_statements",
917
922
  "control_flow_loops",
918
923
  "functions",
919
924
  "graphs"
920
- ],
921
- "unlocked_by": "matrix",
922
- "uuid": "0c6b0312-5415-4c7a-9913-b594542df491"
925
+ ]
923
926
  },
924
927
  {
928
+ "slug": "collatz-conjecture",
929
+ "uuid": "f01e08a7-c14a-4fc5-9713-8c59f92c9b6c",
925
930
  "core": false,
931
+ "unlocked_by": "difference-of-squares",
926
932
  "difficulty": 3,
927
- "slug": "collatz-conjecture",
928
933
  "topics": [
929
934
  "control_flow_if_else_statements",
930
935
  "control_flow_loops",
931
936
  "mathematics"
932
- ],
933
- "unlocked_by": "difference-of-squares",
934
- "uuid": "f01e08a7-c14a-4fc5-9713-8c59f92c9b6c"
937
+ ]
935
938
  },
936
939
  {
940
+ "slug": "queen-attack",
941
+ "uuid": "8e36e8ae-f2c5-4fea-a807-8713b2b23ee4",
937
942
  "core": false,
943
+ "unlocked_by": "list-ops",
938
944
  "difficulty": 3,
939
- "slug": "queen-attack",
940
945
  "topics": [
941
946
  "mathematics"
942
- ],
943
- "unlocked_by": "list-ops",
944
- "uuid": "8e36e8ae-f2c5-4fea-a807-8713b2b23ee4"
947
+ ]
945
948
  },
946
949
  {
950
+ "slug": "isbn-verifier",
951
+ "uuid": "673d0132-6273-45ae-af27-8beb203bba81",
947
952
  "core": false,
953
+ "unlocked_by": "run-length-encoding",
948
954
  "difficulty": 3,
949
- "slug": "isbn-verifier",
950
955
  "topics": [
951
956
  "control_flow_loops",
952
957
  "mathematics",
953
958
  "strings"
954
- ],
955
- "unlocked_by": "run-length-encoding",
956
- "uuid": "673d0132-6273-45ae-af27-8beb203bba81"
959
+ ]
957
960
  },
958
961
  {
962
+ "slug": "reverse-string",
963
+ "uuid": "2d443a8f-65de-496e-9527-8a54a840ba69",
959
964
  "core": false,
965
+ "unlocked_by": "list-ops",
960
966
  "difficulty": 3,
961
- "slug": "reverse-string",
962
967
  "topics": [
963
968
  "arrays",
964
969
  "strings"
965
- ],
966
- "unlocked_by": "list-ops",
967
- "uuid": "2d443a8f-65de-496e-9527-8a54a840ba69"
970
+ ]
968
971
  },
969
972
  {
970
- "deprecated": true,
971
973
  "slug": "accumulate",
972
- "uuid": "cf3386ef-177c-41f6-8569-040d3a9c9175"
974
+ "uuid": "cf3386ef-177c-41f6-8569-040d3a9c9175",
975
+ "core": false,
976
+ "unlocked_by": null,
977
+ "difficulty": 0,
978
+ "topics": null,
979
+ "deprecated": true
973
980
  }
974
- ],
975
- "foregone": [],
976
- "language": "Lua",
977
- "test_pattern": ".*spec[.]lua$"
978
- }
981
+ ]
982
+ }