trackler 2.2.1.0 → 2.2.1.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (126) hide show
  1. checksums.yaml +4 -4
  2. data/lib/trackler/version.rb +1 -1
  3. data/problem-specifications/exercises/list-ops/canonical-data.json +27 -11
  4. data/problem-specifications/exercises/rotational-cipher/canonical-data.json +8 -8
  5. data/tracks/clojure/config.json +0 -2
  6. data/tracks/dart/config.json +0 -2
  7. data/tracks/elisp/config.json +0 -2
  8. data/tracks/elixir/config.json +0 -2
  9. data/tracks/erlang/config.json +190 -83
  10. data/tracks/go/config.json +0 -2
  11. data/tracks/groovy/config.json +55 -17
  12. data/tracks/idris/config.json +0 -2
  13. data/tracks/java/POLICIES.md +9 -1
  14. data/tracks/java/exercises/nucleotide-count/src/example/java/{DNA.java → NucleotideCounter.java} +4 -4
  15. data/tracks/java/exercises/nucleotide-count/src/test/java/{NucleotideTest.java → NucleotideCounterTest.java} +21 -21
  16. data/tracks/kotlin/exercises/rotational-cipher/README.md +39 -0
  17. data/tracks/lfe/config.json +0 -2
  18. data/tracks/lisp/config.json +4 -6
  19. data/tracks/lisp/config/exercise_readme.go.tmpl +16 -0
  20. data/tracks/lisp/exercises/allergies/README.md +84 -0
  21. data/tracks/lisp/exercises/anagram/README.md +60 -0
  22. data/tracks/lisp/exercises/atbash-cipher/README.md +81 -0
  23. data/tracks/lisp/exercises/beer-song/README.md +374 -0
  24. data/tracks/lisp/exercises/binary/README.md +82 -0
  25. data/tracks/lisp/exercises/bob/README.md +65 -0
  26. data/tracks/lisp/exercises/crypto-square/README.md +121 -0
  27. data/tracks/lisp/exercises/difference-of-squares/README.md +66 -0
  28. data/tracks/lisp/exercises/etl/README.md +98 -0
  29. data/tracks/lisp/exercises/gigasecond/README.md +58 -0
  30. data/tracks/lisp/exercises/grade-school/README.md +89 -0
  31. data/tracks/lisp/exercises/grains/README.md +81 -0
  32. data/tracks/lisp/exercises/hamming/README.md +89 -0
  33. data/tracks/lisp/exercises/leap/README.md +80 -0
  34. data/tracks/lisp/exercises/meetup/README.md +77 -0
  35. data/tracks/lisp/exercises/nucleotide-count/README.md +80 -0
  36. data/tracks/lisp/exercises/pascals-triangle/README.md +68 -0
  37. data/tracks/lisp/exercises/phone-number/README.md +81 -0
  38. data/tracks/lisp/exercises/prime-factors/README.md +83 -0
  39. data/tracks/lisp/exercises/raindrops/README.md +71 -0
  40. data/tracks/lisp/exercises/rna-transcription/README.md +72 -0
  41. data/tracks/lisp/exercises/robot-name/README.md +69 -0
  42. data/tracks/lisp/exercises/roman-numerals/README.md +96 -0
  43. data/tracks/lisp/exercises/scrabble-score/README.md +91 -0
  44. data/tracks/lisp/exercises/sieve/README.md +81 -0
  45. data/tracks/lisp/exercises/space-age/README.md +71 -0
  46. data/tracks/lisp/exercises/strain/README.md +87 -0
  47. data/tracks/lisp/exercises/triangle/README.md +73 -0
  48. data/tracks/lisp/exercises/trinary/README.md +75 -0
  49. data/tracks/lisp/exercises/word-count/README.md +66 -0
  50. data/tracks/perl5/config.json +0 -2
  51. data/tracks/perl6/config.json +0 -2
  52. data/tracks/php/config.json +0 -2
  53. data/tracks/pony/config.json +33 -0
  54. data/tracks/python/exercises/scale-generator/scale_generator_test.py +1 -1
  55. data/tracks/racket/config.json +0 -2
  56. data/tracks/ruby/config.json +0 -2
  57. data/tracks/rust/.gitignore +0 -1
  58. data/tracks/rust/_test/check-exercises.sh +7 -1
  59. data/tracks/rust/config.json +11 -0
  60. data/tracks/rust/config/maintainers.json +54 -0
  61. data/tracks/rust/exercises/acronym/src/lib.rs +0 -0
  62. data/tracks/rust/exercises/all-your-base/src/lib.rs +35 -0
  63. data/tracks/rust/exercises/allergies/src/lib.rs +0 -0
  64. data/tracks/rust/exercises/alphametics/src/lib.rs +5 -0
  65. data/tracks/rust/exercises/anagram/src/lib.rs +0 -0
  66. data/tracks/rust/exercises/atbash-cipher/src/lib.rs +0 -0
  67. data/tracks/rust/exercises/beer-song/src/lib.rs +0 -0
  68. data/tracks/rust/exercises/bob/src/lib.rs +0 -0
  69. data/tracks/rust/exercises/bowling/src/lib.rs +0 -0
  70. data/tracks/rust/exercises/bracket-push/src/lib.rs +0 -0
  71. data/tracks/rust/exercises/circular-buffer/src/lib.rs +0 -0
  72. data/tracks/rust/exercises/custom-set/src/lib.rs +0 -0
  73. data/tracks/rust/exercises/difference-of-squares/src/lib.rs +0 -0
  74. data/tracks/rust/exercises/dominoes/src/lib.rs +0 -0
  75. data/tracks/rust/exercises/etl/src/lib.rs +0 -0
  76. data/tracks/rust/exercises/forth/src/lib.rs +23 -0
  77. data/tracks/rust/exercises/gigasecond/src/lib.rs +7 -0
  78. data/tracks/rust/exercises/grade-school/src/lib.rs +26 -0
  79. data/tracks/rust/exercises/grains/src/lib.rs +7 -0
  80. data/tracks/rust/exercises/hamming/src/lib.rs +0 -0
  81. data/tracks/rust/exercises/hello-world/src/lib.rs +5 -0
  82. data/tracks/rust/exercises/hexadecimal/src/lib.rs +0 -0
  83. data/tracks/rust/exercises/largest-series-product/src/lib.rs +0 -0
  84. data/tracks/rust/exercises/leap/src/lib.rs +0 -0
  85. data/tracks/rust/exercises/luhn-from/src/lib.rs +0 -0
  86. data/tracks/rust/exercises/luhn-trait/src/lib.rs +0 -0
  87. data/tracks/rust/exercises/luhn/src/lib.rs +0 -0
  88. data/tracks/rust/exercises/minesweeper/src/lib.rs +0 -0
  89. data/tracks/rust/exercises/nucleotide-codons/src/lib.rs +0 -0
  90. data/tracks/rust/exercises/nucleotide-count/src/lib.rs +0 -0
  91. data/tracks/rust/exercises/ocr-numbers/src/lib.rs +7 -0
  92. data/tracks/rust/exercises/pangram/src/lib.rs +0 -0
  93. data/tracks/rust/exercises/parallel-letter-frequency/src/lib.rs +0 -0
  94. data/tracks/rust/exercises/pascals-triangle/src/lib.rs +11 -0
  95. data/tracks/rust/exercises/phone-number/src/lib.rs +0 -0
  96. data/tracks/rust/exercises/pig-latin/src/lib.rs +0 -0
  97. data/tracks/rust/exercises/protein-translation/src/lib.rs +0 -0
  98. data/tracks/rust/exercises/queen-attack/src/lib.rs +0 -0
  99. data/tracks/rust/exercises/raindrops/src/lib.rs +0 -0
  100. data/tracks/rust/exercises/react/src/lib.rs +89 -0
  101. data/tracks/rust/exercises/rectangles/src/lib.rs +0 -0
  102. data/tracks/rust/exercises/rna-transcription/src/lib.rs +0 -0
  103. data/tracks/rust/exercises/robot-name/src/lib.rs +0 -0
  104. data/tracks/rust/exercises/robot-simulator/src/lib.rs +44 -0
  105. data/tracks/rust/exercises/roman-numerals/src/lib.rs +0 -0
  106. data/tracks/rust/exercises/rotational-cipher/src/lib.rs +0 -0
  107. data/tracks/rust/exercises/run-length-encoding/src/lib.rs +0 -0
  108. data/tracks/rust/exercises/say/.meta/hints.md +19 -0
  109. data/tracks/rust/exercises/say/Cargo.lock +4 -0
  110. data/tracks/rust/exercises/say/Cargo.toml +4 -0
  111. data/tracks/rust/exercises/say/README.md +122 -0
  112. data/tracks/rust/exercises/say/example.rs +56 -0
  113. data/tracks/rust/exercises/say/src/lib.rs +4 -0
  114. data/tracks/rust/exercises/say/tests/say.rs +130 -0
  115. data/tracks/rust/exercises/scrabble-score/src/lib.rs +0 -0
  116. data/tracks/rust/exercises/sieve/src/lib.rs +0 -0
  117. data/tracks/rust/exercises/space-age/src/lib.rs +35 -0
  118. data/tracks/rust/exercises/sublist/src/lib.rs +0 -0
  119. data/tracks/rust/exercises/sum-of-multiples/src/lib.rs +0 -0
  120. data/tracks/rust/exercises/tournament/src/lib.rs +0 -0
  121. data/tracks/rust/exercises/triangle/src/lib.rs +0 -0
  122. data/tracks/rust/exercises/variable-length-quantity/src/lib.rs +9 -0
  123. data/tracks/rust/exercises/word-count/src/lib.rs +0 -0
  124. data/tracks/rust/exercises/wordy/src/lib.rs +0 -0
  125. data/tracks/scheme/config.json +0 -2
  126. metadata +45 -4
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: c951018b0fc7f4a87a5e136c734e4adf16cc7c46
4
- data.tar.gz: 4d73f5f35d46263ee97f76c83ed7ec332e7487ce
3
+ metadata.gz: 68a8bf6a80d4d09c6f6ef2633603442d8c32e4ab
4
+ data.tar.gz: 0f744d531bc32b4f007c97c87dd91db623f7c29a
5
5
  SHA512:
6
- metadata.gz: d044edfe4f38fca5cd9bd80cc85cb52106bb16b499c147d90cfcadde6500451d7c6e888b257f1455e5eb8da9d157df881653e6ab052bc16ae5d85616057909ea
7
- data.tar.gz: 93d7802d7e103589cad4fad96786503437f01b79335ee8b32531420573c35846f949c35fd285cf39cec7c2585b99b1cc4122e785cca7e3069ba55095dad2cbdf
6
+ metadata.gz: b60df628387892e6d23efab51fd3dd331e49b36a24cef70f7cb3d2f748500c62c6ff980888d30654008d17be4e9a430a8a0daa03022502364ef650bd67942469
7
+ data.tar.gz: dad16962f596965cb69e0f57a681d6a38087be463d68ae194d7c950748ef53f1cdd4965d3f5c01d4d772e8692278ed99b447b501b75d6bba637f7d70aa1da821
@@ -1,3 +1,3 @@
1
1
  module Trackler
2
- VERSION = "2.2.1.0"
2
+ VERSION = "2.2.1.1"
3
3
  end
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "exercise": "list-ops",
3
- "version": "1.0.0",
3
+ "version": "2.0.0",
4
4
  "comments": [
5
5
  "Though there are no specifications here for dealing with large lists,",
6
6
  "implementers may add tests for handling large lists to ensure that the",
@@ -113,16 +113,24 @@
113
113
  "property": "foldl",
114
114
  "list": [],
115
115
  "initial": 2,
116
- "function": "value / accumulator",
116
+ "function": "(x, y) -> x * y",
117
117
  "expected": 2
118
118
  },
119
119
  {
120
- "description": "division of integers",
120
+ "description": "direction independent function applied to non-empty list",
121
121
  "property": "foldl",
122
122
  "list": [1, 2, 3, 4],
123
- "initial": 24,
124
- "function": "value / accumulator",
125
- "expected": 64
123
+ "initial": 5,
124
+ "function": "(x, y) -> x + y",
125
+ "expected": 15
126
+ },
127
+ {
128
+ "description": "direction dependent function applied to non-empty list",
129
+ "property": "foldl",
130
+ "list": [2, 5],
131
+ "initial": 5,
132
+ "function": "(x, y) -> x / y",
133
+ "expected": 0
126
134
  }
127
135
  ]
128
136
  },
@@ -134,16 +142,24 @@
134
142
  "property": "foldr",
135
143
  "list": [],
136
144
  "initial": 2,
137
- "function": "value / accumulator",
145
+ "function": "(x, y) -> x * y",
138
146
  "expected": 2
139
147
  },
140
148
  {
141
- "description": "division of integers",
149
+ "description": "direction independent function applied to non-empty list",
142
150
  "property": "foldr",
143
151
  "list": [1, 2, 3, 4],
144
- "initial": 24,
145
- "function": "value / accumulator",
146
- "expected": 9
152
+ "initial": 5,
153
+ "function": "(x, y) -> x + y",
154
+ "expected": 15
155
+ },
156
+ {
157
+ "description": "direction dependent function applied to non-empty list",
158
+ "property": "foldr",
159
+ "list": [2, 5],
160
+ "initial": 5,
161
+ "function": "(x, y) -> x / y",
162
+ "expected": 2
147
163
  }
148
164
  ]
149
165
  },
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "exercise": "rotational-cipher",
3
- "version": "1.0.0",
3
+ "version": "1.1.0",
4
4
  "comments": [
5
5
  "The tests are a series of rotation tests: "
6
6
  ],
@@ -8,6 +8,13 @@
8
8
  {
9
9
  "description": "Test rotation from English to ROTn",
10
10
  "cases": [
11
+ {
12
+ "description": "rotate a by 0, same output as input",
13
+ "property": "rotate",
14
+ "text": "a",
15
+ "shiftKey": 0,
16
+ "expected": "a"
17
+ },
11
18
  {
12
19
  "description": "rotate a by 1",
13
20
  "property": "rotate",
@@ -22,13 +29,6 @@
22
29
  "shiftKey": 26,
23
30
  "expected": "a"
24
31
  },
25
- {
26
- "description": "rotate a by 0, same output as input",
27
- "property": "rotate",
28
- "text": "a",
29
- "shiftKey": 0,
30
- "expected": "a"
31
- },
32
32
  {
33
33
  "description": "rotate m by 13",
34
34
  "property": "rotate",
@@ -1,7 +1,5 @@
1
1
  {
2
- "slug": "clojure",
3
2
  "language": "Clojure",
4
- "repository": "https://github.com/exercism/clojure",
5
3
  "active": true,
6
4
  "foregone": [
7
5
 
@@ -1,7 +1,5 @@
1
1
  {
2
- "slug": "dart",
3
2
  "language": "Dart",
4
- "repository": "https://github.com/exercism/dart",
5
3
  "active": false,
6
4
  "test_pattern": "_test\\.dart$",
7
5
  "exercises": [
@@ -1,7 +1,5 @@
1
1
  {
2
- "slug": "elisp",
3
2
  "language": "Emacs Lisp",
4
- "repository": "https://github.com/exercism/elisp",
5
3
  "active": true,
6
4
  "deprecated": [
7
5
 
@@ -1,7 +1,5 @@
1
1
  {
2
- "slug": "elixir",
3
2
  "language": "Elixir",
4
- "repository": "https://github.com/exercism/elixir",
5
3
  "active": true,
6
4
  "exercises": [
7
5
  {
@@ -3,279 +3,386 @@
3
3
  "active": true,
4
4
  "exercises": [
5
5
  {
6
+ "uuid": "50547bc4-a78e-4450-9412-30bfa46c4a93",
6
7
  "slug": "hello-world",
8
+ "core": false,
9
+ "unlocked_by": null,
10
+ "difficulty": 1,
7
11
  "topics": [
8
12
 
9
- ],
10
- "difficulty": 1
13
+ ]
11
14
  },
12
15
  {
16
+ "uuid": "241eb25c-925b-4395-876c-c1dfe84e1c85",
13
17
  "slug": "leap",
18
+ "core": false,
19
+ "unlocked_by": null,
20
+ "difficulty": 1,
14
21
  "topics": [
15
22
 
16
- ],
17
- "difficulty": 1
23
+ ]
18
24
  },
19
25
  {
26
+ "uuid": "a21065ca-6aad-46b2-ada0-6a62abfcea2b",
20
27
  "slug": "accumulate",
28
+ "core": false,
29
+ "unlocked_by": null,
30
+ "difficulty": 1,
21
31
  "topics": [
22
32
 
23
- ],
24
- "difficulty": 1
33
+ ]
25
34
  },
26
35
  {
36
+ "uuid": "63c77b77-5a02-40ce-b5f6-372a5b3ae13d",
27
37
  "slug": "collatz-conjecture",
38
+ "core": false,
39
+ "unlocked_by": null,
40
+ "difficulty": 1,
28
41
  "topics": [
29
42
 
30
- ],
31
- "difficulty": 1
43
+ ]
32
44
  },
33
45
  {
46
+ "uuid": "8e9a98b1-bf4f-4c94-a258-a8618cc37f55",
34
47
  "slug": "rna-transcription",
48
+ "core": false,
49
+ "unlocked_by": null,
50
+ "difficulty": 2,
35
51
  "topics": [
36
52
 
37
- ],
38
- "difficulty": 2
53
+ ]
39
54
  },
40
55
  {
56
+ "uuid": "fced3620-26f2-4439-822c-27e1d59e24e1",
41
57
  "slug": "bob",
58
+ "core": false,
59
+ "unlocked_by": null,
60
+ "difficulty": 2,
42
61
  "topics": [
43
62
 
44
- ],
45
- "difficulty": 2
63
+ ]
46
64
  },
47
65
  {
66
+ "uuid": "c10bfbab-0b58-4fcb-aadc-304bd4b73cfc",
48
67
  "slug": "strain",
68
+ "core": false,
69
+ "unlocked_by": null,
70
+ "difficulty": 2,
49
71
  "topics": [
50
72
 
51
- ],
52
- "difficulty": 2
73
+ ]
53
74
  },
54
75
  {
76
+ "uuid": "8b7390fc-da44-4f02-ad17-a7eb5c19cf2b",
55
77
  "slug": "hamming",
78
+ "core": false,
79
+ "unlocked_by": null,
80
+ "difficulty": 2,
56
81
  "topics": [
57
82
 
58
- ],
59
- "difficulty": 2
83
+ ]
60
84
  },
61
85
  {
86
+ "uuid": "f276e064-a6d4-4a50-b53b-f36c1b30c62f",
62
87
  "slug": "space-age",
88
+ "core": false,
89
+ "unlocked_by": null,
90
+ "difficulty": 2,
63
91
  "topics": [
64
92
 
65
- ],
66
- "difficulty": 2
93
+ ]
67
94
  },
68
95
  {
96
+ "uuid": "c3070adc-d434-4989-8d6b-d9e483e32d1c",
69
97
  "slug": "grains",
98
+ "core": false,
99
+ "unlocked_by": null,
100
+ "difficulty": 2,
70
101
  "topics": [
71
102
 
72
- ],
73
- "difficulty": 2
103
+ ]
74
104
  },
75
105
  {
106
+ "uuid": "d3cbfc9a-a495-4bf2-87d0-811d5f71fda6",
76
107
  "slug": "nucleotide-count",
108
+ "core": false,
109
+ "unlocked_by": null,
110
+ "difficulty": 2,
77
111
  "topics": [
78
112
 
79
- ],
80
- "difficulty": 2
113
+ ]
81
114
  },
82
115
  {
116
+ "uuid": "ab852e36-3968-403f-93f5-53c7ecafa4c8",
83
117
  "slug": "difference-of-squares",
118
+ "core": false,
119
+ "unlocked_by": null,
120
+ "difficulty": 2,
84
121
  "topics": [
85
122
 
86
- ],
87
- "difficulty": 2
123
+ ]
88
124
  },
89
125
  {
126
+ "uuid": "2972e0de-b5ca-4fdd-9dbf-648937763394",
90
127
  "slug": "triangle",
128
+ "core": false,
129
+ "unlocked_by": null,
130
+ "difficulty": 2,
91
131
  "topics": [
92
132
 
93
- ],
94
- "difficulty": 2
133
+ ]
95
134
  },
96
135
  {
136
+ "uuid": "5af1c90a-f98d-4682-885b-9770c9223194",
97
137
  "slug": "sum-of-multiples",
138
+ "core": false,
139
+ "unlocked_by": null,
140
+ "difficulty": 3,
98
141
  "topics": [
99
142
 
100
- ],
101
- "difficulty": 3
143
+ ]
102
144
  },
103
145
  {
146
+ "uuid": "8f0570ae-223f-4da4-8b84-268b797b28ad",
104
147
  "slug": "anagram",
148
+ "core": false,
149
+ "unlocked_by": null,
150
+ "difficulty": 3,
105
151
  "topics": [
106
152
 
107
- ],
108
- "difficulty": 3
153
+ ]
109
154
  },
110
155
  {
156
+ "uuid": "d8e38780-d04e-43fc-8606-97dc71e4974b",
111
157
  "slug": "atbash-cipher",
158
+ "core": false,
159
+ "unlocked_by": null,
160
+ "difficulty": 3,
112
161
  "topics": [
113
162
 
114
- ],
115
- "difficulty": 3
163
+ ]
116
164
  },
117
165
  {
166
+ "uuid": "668f3947-3142-485e-89f8-e0e5060be29d",
118
167
  "slug": "phone-number",
168
+ "core": false,
169
+ "unlocked_by": null,
170
+ "difficulty": 3,
119
171
  "topics": [
120
172
 
121
- ],
122
- "difficulty": 3
173
+ ]
123
174
  },
124
175
  {
176
+ "uuid": "24ae9a43-4e1c-418b-97f6-2c83dbc0e14a",
125
177
  "slug": "gigasecond",
178
+ "core": false,
179
+ "unlocked_by": null,
180
+ "difficulty": 3,
126
181
  "topics": [
127
182
 
128
- ],
129
- "difficulty": 3
183
+ ]
130
184
  },
131
185
  {
186
+ "uuid": "4f5045d5-9ae1-4bdb-ac0b-a5d279a60ed8",
132
187
  "slug": "scrabble-score",
188
+ "core": false,
189
+ "unlocked_by": null,
190
+ "difficulty": 3,
133
191
  "topics": [
134
192
 
135
- ],
136
- "difficulty": 3
193
+ ]
137
194
  },
138
195
  {
196
+ "uuid": "a2d4ca29-54e2-4969-bfc9-ee483acf9caf",
139
197
  "slug": "robot-simulator",
198
+ "core": false,
199
+ "unlocked_by": null,
200
+ "difficulty": 4,
140
201
  "topics": [
141
202
 
142
- ],
143
- "difficulty": 4
203
+ ]
144
204
  },
145
205
  {
206
+ "uuid": "67bbcc69-31b7-41f2-a8e1-5a07d30e00d6",
146
207
  "slug": "grade-school",
208
+ "core": false,
209
+ "unlocked_by": null,
210
+ "difficulty": 4,
147
211
  "topics": [
148
212
 
149
- ],
150
- "difficulty": 4
213
+ ]
151
214
  },
152
215
  {
216
+ "uuid": "43df8921-f0c3-4a0c-9bdf-eb89405049ad",
153
217
  "slug": "word-count",
218
+ "core": false,
219
+ "unlocked_by": null,
220
+ "difficulty": 4,
154
221
  "topics": [
155
222
 
156
- ],
157
- "difficulty": 4
223
+ ]
158
224
  },
159
225
  {
226
+ "uuid": "df90c039-8629-497a-a809-5ba2d1f8d52f",
160
227
  "slug": "clock",
228
+ "core": false,
229
+ "unlocked_by": null,
230
+ "difficulty": 4,
161
231
  "topics": [
162
232
 
163
- ],
164
- "difficulty": 4
233
+ ]
165
234
  },
166
235
  {
236
+ "uuid": "51af2614-e349-4e90-b917-177a6017e786",
167
237
  "slug": "allergies",
238
+ "core": false,
239
+ "unlocked_by": null,
240
+ "difficulty": 4,
168
241
  "topics": [
169
242
 
170
- ],
171
- "difficulty": 4
243
+ ]
172
244
  },
173
245
  {
246
+ "uuid": "85e23906-6fd8-486a-add8-a6c932cef7e3",
174
247
  "slug": "all-your-base",
248
+ "core": false,
249
+ "unlocked_by": null,
250
+ "difficulty": 4,
175
251
  "topics": [
176
252
 
177
- ],
178
- "difficulty": 4
253
+ ]
179
254
  },
180
255
  {
256
+ "uuid": "9ca527d7-5065-4856-8c95-07deb664da7e",
181
257
  "slug": "series",
258
+ "core": false,
259
+ "unlocked_by": null,
260
+ "difficulty": 4,
182
261
  "topics": [
183
262
 
184
- ],
185
- "difficulty": 4
263
+ ]
186
264
  },
187
265
  {
266
+ "uuid": "be69c23b-7559-44fe-9e21-94a865199de7",
188
267
  "slug": "parallel-letter-frequency",
268
+ "core": false,
269
+ "unlocked_by": null,
270
+ "difficulty": 4,
189
271
  "topics": [
190
272
 
191
- ],
192
- "difficulty": 4
273
+ ]
193
274
  },
194
275
  {
276
+ "uuid": "d8ee01b3-307e-4835-a7cd-331e771111ae",
195
277
  "slug": "roman-numerals",
278
+ "core": false,
279
+ "unlocked_by": null,
280
+ "difficulty": 4,
196
281
  "topics": [
197
282
 
198
- ],
199
- "difficulty": 4
283
+ ]
200
284
  },
201
285
  {
286
+ "uuid": "b312ff0e-90e3-4dd8-99dc-df4a9deb1907",
202
287
  "slug": "largest-series-product",
288
+ "core": false,
289
+ "unlocked_by": null,
290
+ "difficulty": 5,
203
291
  "topics": [
204
292
 
205
- ],
206
- "difficulty": 5
293
+ ]
207
294
  },
208
295
  {
296
+ "uuid": "8ad0c97b-189d-46ac-bb72-2c72f1fe4728",
209
297
  "slug": "rotational-cipher",
298
+ "core": false,
299
+ "unlocked_by": null,
300
+ "difficulty": 5,
210
301
  "topics": [
211
302
 
212
- ],
213
- "difficulty": 5
303
+ ]
214
304
  },
215
305
  {
306
+ "uuid": "60fc4ea6-28b0-4914-bcc3-a0caefca3cb5",
216
307
  "slug": "etl",
308
+ "core": false,
309
+ "unlocked_by": null,
310
+ "difficulty": 6,
217
311
  "topics": [
218
312
 
219
- ],
220
- "difficulty": 6
313
+ ]
221
314
  },
222
315
  {
316
+ "uuid": "a7e2e89c-c599-4e30-a944-a9d4a98f2b94",
223
317
  "slug": "bank-account",
318
+ "core": false,
319
+ "unlocked_by": null,
320
+ "difficulty": 6,
224
321
  "topics": [
225
322
 
226
- ],
227
- "difficulty": 6
323
+ ]
228
324
  },
229
325
  {
326
+ "uuid": "e938c3e6-0b0f-498e-a3ec-47251f5bb55c",
230
327
  "slug": "luhn",
328
+ "core": false,
329
+ "unlocked_by": null,
330
+ "difficulty": 6,
231
331
  "topics": [
232
332
 
233
- ],
234
- "difficulty": 6
333
+ ]
235
334
  },
236
335
  {
336
+ "uuid": "249d0c9f-dadc-4168-ba9b-0c6bfe83618d",
237
337
  "slug": "meetup",
338
+ "core": false,
339
+ "unlocked_by": null,
340
+ "difficulty": 6,
238
341
  "topics": [
239
342
 
240
- ],
241
- "difficulty": 6
343
+ ]
242
344
  },
243
345
  {
346
+ "uuid": "058b48a9-03ec-43bc-88eb-9dbce8b79e59",
244
347
  "slug": "circular-buffer",
348
+ "core": false,
349
+ "unlocked_by": null,
350
+ "difficulty": 7,
245
351
  "topics": [
246
352
 
247
- ],
248
- "difficulty": 7
353
+ ]
249
354
  },
250
355
  {
356
+ "uuid": "2fedc6bf-6006-4c2d-bba7-9c66265b6f62",
251
357
  "slug": "beer-song",
358
+ "core": false,
359
+ "unlocked_by": null,
360
+ "difficulty": 7,
252
361
  "topics": [
253
362
 
254
- ],
255
- "difficulty": 7
363
+ ]
256
364
  },
257
365
  {
366
+ "uuid": "b6c242d3-40d5-484d-8466-1a32d2332288",
258
367
  "slug": "zipper",
368
+ "core": false,
369
+ "unlocked_by": null,
370
+ "difficulty": 8,
259
371
  "topics": [
260
372
 
261
- ],
262
- "difficulty": 8
373
+ ]
263
374
  },
264
375
  {
376
+ "uuid": "625ad6f2-c9e8-4129-a290-057209f941c5",
265
377
  "slug": "spiral-matrix",
378
+ "core": false,
379
+ "unlocked_by": null,
380
+ "difficulty": 8,
266
381
  "topics": [
267
382
 
268
- ],
269
- "difficulty": 8
383
+ ]
270
384
  }
271
385
  ],
272
- "deprecated": [
273
- "point-mutations",
274
- "binary",
275
- "trinary",
276
- "octal",
277
- "hexadecimal"
278
- ],
279
386
  "foregone": [
280
387
  "binary-search",
281
388
  "lens-person",