trackler 2.2.1.164 → 2.2.1.165
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/trackler/version.rb +1 -1
- data/tracks/c/exercises/binary-search-tree/README.md +39 -0
- data/tracks/c/exercises/bracket-push/README.md +39 -0
- data/tracks/c/exercises/crypto-square/README.md +39 -0
- data/tracks/c/exercises/diamond/README.md +39 -0
- data/tracks/c/exercises/etl/README.md +39 -0
- data/tracks/c/exercises/luhn/README.md +39 -0
- data/tracks/c/exercises/minesweeper/README.md +35 -0
- data/tracks/c/exercises/pig-latin/README.md +43 -4
- data/tracks/c/exercises/prime-factors/README.md +39 -0
- data/tracks/c/exercises/rna-transcription/README.md +1 -1
- data/tracks/c/exercises/run-length-encoding/README.md +39 -0
- data/tracks/c/exercises/say/README.md +39 -0
- data/tracks/c/exercises/secret-handshake/README.md +39 -0
- data/tracks/c/exercises/two-fer/README.md +39 -0
- data/tracks/c/exercises/wordy/README.md +39 -0
- data/tracks/cpp/config.json +36 -36
- data/tracks/cpp/docs/ABOUT.md +1 -1
- data/tracks/java/exercises/luhn/.meta/version +1 -0
- data/tracks/java/exercises/luhn/src/test/java/LuhnValidatorTest.java +35 -24
- data/tracks/javascript/config.json +1 -1
- data/tracks/javascript/exercises/nth-prime/example.js +5 -1
- data/tracks/javascript/exercises/nth-prime/nth-prime.spec.js +8 -0
- data/tracks/kotlin/config.json +60 -60
- data/tracks/kotlin/exercises/binary-search/.meta/version +1 -1
- data/tracks/kotlin/exercises/flatten-array/.meta/version +1 -1
- data/tracks/kotlin/exercises/isogram/.meta/version +1 -1
- data/tracks/kotlin/exercises/minesweeper/.meta/version +1 -1
- data/tracks/kotlin/exercises/nucleotide-count/.meta/version +1 -1
- data/tracks/kotlin/exercises/pig-latin/.meta/version +1 -1
- data/tracks/kotlin/exercises/prime-factors/.meta/version +1 -1
- data/tracks/kotlin/exercises/spiral-matrix/.meta/version +1 -1
- data/tracks/kotlin/exercises/word-count/.meta/version +1 -1
- data/tracks/powershell/exercises/hamming/HammingDifference.example.ps1 +12 -2
- data/tracks/powershell/exercises/hamming/HammingDifference.ps1 +1 -12
- data/tracks/python/exercises/simple-cipher/example.py +11 -15
- data/tracks/python/exercises/simple-cipher/simple_cipher.py +0 -5
- data/tracks/python/exercises/simple-cipher/simple_cipher_test.py +69 -70
- data/tracks/reasonml/bin/new-exercise.sh +11 -0
- data/tracks/reasonml/config.json +11 -0
- data/tracks/reasonml/exercises/anagram/__tests__/Anagram_test.re +44 -0
- data/tracks/reasonml/exercises/anagram/bsconfig.json +30 -0
- data/tracks/reasonml/exercises/anagram/package.json +20 -0
- data/tracks/reasonml/exercises/anagram/src/Example.re +26 -0
- data/tracks/reasonml/template/bsconfig.json +30 -0
- data/tracks/reasonml/template/package.json +20 -0
- data/tracks/reasonml/template/src/Example.re +0 -0
- metadata +11 -2
data/tracks/cpp/docs/ABOUT.md
CHANGED
@@ -12,6 +12,6 @@ Key Benefits:
|
|
12
12
|
- **Direct map to hardware:** of instructions and fundamental data types
|
13
13
|
- **Zero-overhead abstraction:** Classes with constructors and destructors, inheritance, generic programming, functional programming techniques
|
14
14
|
|
15
|
-
The standard for C++ is maintained by the International Organization for Standardization (ISO), and the current version of C++ as of
|
15
|
+
The standard for C++ is maintained by the International Organization for Standardization (ISO), and the current version of C++ as of June 2018 is C++17 (named not as the 17th version of C++, but rather signifying that the standard was ratified in 2017).
|
16
16
|
|
17
17
|
The best thing about C++ is that it runs on everything from embedded processors with very limited resources to the largest mainframe supercomputer and every personal computer in between.
|
@@ -0,0 +1 @@
|
|
1
|
+
1.2.0
|
@@ -14,85 +14,96 @@ public class LuhnValidatorTest {
|
|
14
14
|
}
|
15
15
|
|
16
16
|
@Test
|
17
|
-
public void
|
17
|
+
public void testSingleDigitStringInvalid() {
|
18
18
|
assertFalse(luhnValidator.isValid("1"));
|
19
19
|
}
|
20
20
|
|
21
21
|
@Ignore("Remove to run test")
|
22
22
|
@Test
|
23
|
-
public void
|
23
|
+
public void testSingleZeroIsInvalid() {
|
24
24
|
assertFalse(luhnValidator.isValid("0"));
|
25
25
|
}
|
26
26
|
|
27
27
|
@Ignore("Remove to run test")
|
28
28
|
@Test
|
29
|
-
public void
|
30
|
-
assertTrue(luhnValidator.isValid("
|
29
|
+
public void testSimpleValidSINReversedRemainsValid() {
|
30
|
+
assertTrue(luhnValidator.isValid("059"));
|
31
31
|
}
|
32
32
|
|
33
33
|
@Ignore("Remove to run test")
|
34
34
|
@Test
|
35
|
-
public void
|
36
|
-
assertTrue(luhnValidator.isValid("
|
35
|
+
public void testSimpleValidSINReversedBecomesInvalid() {
|
36
|
+
assertTrue(luhnValidator.isValid("59"));
|
37
37
|
}
|
38
38
|
|
39
39
|
@Ignore("Remove to run test")
|
40
40
|
@Test
|
41
|
-
public void
|
41
|
+
public void testValidCanadianSINValid() {
|
42
42
|
assertTrue(luhnValidator.isValid("055 444 285"));
|
43
43
|
}
|
44
44
|
|
45
45
|
@Ignore("Remove to run test")
|
46
46
|
@Test
|
47
|
-
public void
|
48
|
-
assertFalse(luhnValidator.isValid("
|
47
|
+
public void testInvalidCanadianSINInvalid() {
|
48
|
+
assertFalse(luhnValidator.isValid("055 444 286"));
|
49
49
|
}
|
50
50
|
|
51
51
|
@Ignore("Remove to run test")
|
52
52
|
@Test
|
53
|
-
public void
|
53
|
+
public void testInvalidCreditCardInvalid() {
|
54
54
|
assertFalse(luhnValidator.isValid("8273 1232 7352 0569"));
|
55
55
|
}
|
56
56
|
|
57
57
|
@Ignore("Remove to run test")
|
58
58
|
@Test
|
59
|
-
public void
|
60
|
-
assertFalse(luhnValidator.isValid("
|
59
|
+
public void testStringsContainingNonDigitInvalid() {
|
60
|
+
assertFalse(luhnValidator.isValid("055a 444 285"));
|
61
61
|
}
|
62
62
|
|
63
63
|
@Ignore("Remove to run test")
|
64
64
|
@Test
|
65
|
-
public void
|
65
|
+
public void testStringContainingPunctuationInvalid() {
|
66
66
|
assertFalse(luhnValidator.isValid("055-444-285"));
|
67
67
|
}
|
68
68
|
|
69
|
-
/* The following test diverges from the canonical test data. This is because the corresponding canonical test does
|
70
|
-
* not account for Java specific functions (such as Character.getNumericValue()), which can be part of incorrect yet
|
71
|
-
* passing implementations. For more detail, check out issue #972 here:
|
72
|
-
* (https://github.com/exercism/java/issues/972).
|
73
|
-
*/
|
74
69
|
@Ignore("Remove to run test")
|
75
70
|
@Test
|
76
|
-
public void
|
77
|
-
assertFalse(luhnValidator.isValid("
|
71
|
+
public void testStringContainingSymbolsInvalid() {
|
72
|
+
assertFalse(luhnValidator.isValid("055£ 444$ 285"));
|
78
73
|
}
|
79
74
|
|
80
75
|
@Ignore("Remove to run test")
|
81
76
|
@Test
|
82
|
-
public void
|
77
|
+
public void testSingleSpaceWithZeroInvalid() {
|
83
78
|
assertFalse(luhnValidator.isValid(" 0"));
|
84
79
|
}
|
85
80
|
|
86
81
|
@Ignore("Remove to run test")
|
87
82
|
@Test
|
88
|
-
public void
|
89
|
-
assertTrue(luhnValidator.isValid("
|
83
|
+
public void testMoreThanSingleZeroValid() {
|
84
|
+
assertTrue(luhnValidator.isValid("0000 0"));
|
90
85
|
}
|
91
86
|
|
92
87
|
@Ignore("Remove to run test")
|
93
88
|
@Test
|
94
|
-
public void
|
89
|
+
public void testDigitNineConvertedToOutputNine() {
|
95
90
|
assertTrue(luhnValidator.isValid("091"));
|
96
91
|
}
|
97
92
|
|
93
|
+
@Ignore("Remove to run test")
|
94
|
+
@Test
|
95
|
+
public void testStringsWithNonDigitsInvalid() {
|
96
|
+
assertFalse(luhnValidator.isValid(":9"));
|
97
|
+
}
|
98
|
+
|
99
|
+
/* The following test diverges from the canonical test data. This is because the corresponding canonical test does
|
100
|
+
* not account for Java specific functions (such as Character.getNumericValue()), which can be part of incorrect yet
|
101
|
+
* passing implementations. For more detail, check out issue #972 here:
|
102
|
+
* (https://github.com/exercism/java/issues/972).
|
103
|
+
*/
|
104
|
+
@Ignore("Remove to run test")
|
105
|
+
@Test
|
106
|
+
public void testStringContainingSymbolsInvalidJavaTrackSpecific() {
|
107
|
+
assertFalse(luhnValidator.isValid("85&"));
|
108
|
+
}
|
98
109
|
}
|
@@ -1,7 +1,7 @@
|
|
1
1
|
{
|
2
2
|
"language": "JavaScript",
|
3
3
|
"active": true,
|
4
|
-
"blurb": "",
|
4
|
+
"blurb": "JavaScript is a scripting language, primarily used for creating dynamic websites and programming web servers. It's a very popular language, and supports a variety of programming paradigms.",
|
5
5
|
"test_pattern": ".*[.]spec[.]js$",
|
6
6
|
"exercises": [
|
7
7
|
{
|
@@ -3,7 +3,11 @@
|
|
3
3
|
module.exports = {
|
4
4
|
nth: function (nthPrime) {
|
5
5
|
if (nthPrime === 0) { throw new Error('Prime is not possible'); }
|
6
|
-
|
6
|
+
|
7
|
+
// Using prime number theory to approximate the prime
|
8
|
+
// See https://en.wikipedia.org/wiki/Prime_number_theorem#Approximations_for_the_nth_prime_number
|
9
|
+
var upperBound = (nthPrime + 2) * Math.log((nthPrime + 2) * Math.log((nthPrime + 2)));
|
10
|
+
this.generatePrimes(upperBound);
|
7
11
|
return this.realPrimes[nthPrime - 1];
|
8
12
|
},
|
9
13
|
generatePrimes: function (uptoNumber) {
|
@@ -17,6 +17,14 @@ describe('Prime', function () {
|
|
17
17
|
expect(prime.nth(10001)).toEqual(104743);
|
18
18
|
});
|
19
19
|
|
20
|
+
xit('massive prime', function () {
|
21
|
+
expect(prime.nth(20000)).toEqual(224737);
|
22
|
+
});
|
23
|
+
|
24
|
+
xit('extreme prime', function () {
|
25
|
+
expect(prime.nth(30000)).toEqual(350377);
|
26
|
+
});
|
27
|
+
|
20
28
|
xit('weird case', function () {
|
21
29
|
expect( function () {
|
22
30
|
prime.nth(0);
|
data/tracks/kotlin/config.json
CHANGED
@@ -19,7 +19,7 @@
|
|
19
19
|
{
|
20
20
|
"slug": "two-fer",
|
21
21
|
"uuid": "40f85461-c256-4b96-8d5b-0509f42fab17",
|
22
|
-
"core":
|
22
|
+
"core": true,
|
23
23
|
"unlocked_by": null,
|
24
24
|
"difficulty": 2,
|
25
25
|
"topics": [
|
@@ -31,7 +31,7 @@
|
|
31
31
|
"slug": "leap",
|
32
32
|
"uuid": "639e59b6-84aa-4f13-9718-537606703c43",
|
33
33
|
"core": false,
|
34
|
-
"unlocked_by":
|
34
|
+
"unlocked_by": "hello-world",
|
35
35
|
"difficulty": 2,
|
36
36
|
"topics": [
|
37
37
|
"control_flow_if_else_statements",
|
@@ -42,7 +42,7 @@
|
|
42
42
|
"slug": "rna-transcription",
|
43
43
|
"uuid": "9772c916-c619-445c-834d-af7dbf1ad2d9",
|
44
44
|
"core": false,
|
45
|
-
"unlocked_by":
|
45
|
+
"unlocked_by": "two-fer",
|
46
46
|
"difficulty": 2,
|
47
47
|
"topics": [
|
48
48
|
"loops",
|
@@ -54,7 +54,7 @@
|
|
54
54
|
"slug": "pangram",
|
55
55
|
"uuid": "0e9ca09d-c32e-4fed-930f-1b7c10b67dc2",
|
56
56
|
"core": false,
|
57
|
-
"unlocked_by":
|
57
|
+
"unlocked_by": "hello-world",
|
58
58
|
"difficulty": 3,
|
59
59
|
"topics": [
|
60
60
|
"pattern_matching",
|
@@ -65,7 +65,7 @@
|
|
65
65
|
{
|
66
66
|
"slug": "hamming",
|
67
67
|
"uuid": "7151ff23-ebc6-43d7-86b6-81cf0dd45309",
|
68
|
-
"core":
|
68
|
+
"core": true,
|
69
69
|
"unlocked_by": null,
|
70
70
|
"difficulty": 3,
|
71
71
|
"topics": [
|
@@ -77,7 +77,7 @@
|
|
77
77
|
{
|
78
78
|
"slug": "gigasecond",
|
79
79
|
"uuid": "1eb4c9d3-0085-4ca3-b1bb-9a20b88a1e7f",
|
80
|
-
"core":
|
80
|
+
"core": true,
|
81
81
|
"unlocked_by": null,
|
82
82
|
"difficulty": 3,
|
83
83
|
"topics": [
|
@@ -90,7 +90,7 @@
|
|
90
90
|
"slug": "space-age",
|
91
91
|
"uuid": "a91ce7e9-9a2a-44de-b10c-cc1be63df2a1",
|
92
92
|
"core": false,
|
93
|
-
"unlocked_by":
|
93
|
+
"unlocked_by": "gigasecond",
|
94
94
|
"difficulty": 3,
|
95
95
|
"topics": [
|
96
96
|
"conditionals",
|
@@ -102,7 +102,7 @@
|
|
102
102
|
"slug": "acronym",
|
103
103
|
"uuid": "d8288e46-2e8c-42e4-8e14-20b1efd0f574",
|
104
104
|
"core": false,
|
105
|
-
"unlocked_by":
|
105
|
+
"unlocked_by": "hamming",
|
106
106
|
"difficulty": 3,
|
107
107
|
"topics": [
|
108
108
|
"loops",
|
@@ -114,7 +114,7 @@
|
|
114
114
|
{
|
115
115
|
"slug": "scrabble-score",
|
116
116
|
"uuid": "4d8a68eb-eee9-4c51-97b8-57f3b69f5970",
|
117
|
-
"core":
|
117
|
+
"core": true,
|
118
118
|
"unlocked_by": null,
|
119
119
|
"difficulty": 3,
|
120
120
|
"topics": [
|
@@ -129,7 +129,7 @@
|
|
129
129
|
"slug": "raindrops",
|
130
130
|
"uuid": "93ee76ba-d19f-4c72-b011-676f40dcda5e",
|
131
131
|
"core": false,
|
132
|
-
"unlocked_by":
|
132
|
+
"unlocked_by": "hello-world",
|
133
133
|
"difficulty": 3,
|
134
134
|
"topics": [
|
135
135
|
"conditionals",
|
@@ -141,7 +141,7 @@
|
|
141
141
|
{
|
142
142
|
"slug": "difference-of-squares",
|
143
143
|
"uuid": "d54a68fc-02dd-45ee-8c6f-3efb781ed0d2",
|
144
|
-
"core":
|
144
|
+
"core": true,
|
145
145
|
"unlocked_by": null,
|
146
146
|
"difficulty": 3,
|
147
147
|
"topics": [
|
@@ -153,7 +153,7 @@
|
|
153
153
|
{
|
154
154
|
"slug": "secret-handshake",
|
155
155
|
"uuid": "feee3ee9-81d5-4a4f-ad98-e1ecf21757ed",
|
156
|
-
"core":
|
156
|
+
"core": true,
|
157
157
|
"unlocked_by": null,
|
158
158
|
"difficulty": 3,
|
159
159
|
"topics": [
|
@@ -171,7 +171,7 @@
|
|
171
171
|
"slug": "perfect-numbers",
|
172
172
|
"uuid": "ad7c8fd8-acf0-40d0-8a30-d959c4b0252a",
|
173
173
|
"core": false,
|
174
|
-
"unlocked_by":
|
174
|
+
"unlocked_by": "difference-of-squares",
|
175
175
|
"difficulty": 3,
|
176
176
|
"topics": [
|
177
177
|
"enumerations",
|
@@ -185,7 +185,7 @@
|
|
185
185
|
"slug": "sum-of-multiples",
|
186
186
|
"uuid": "d3f960e5-cf19-4308-a1bc-897777f62689",
|
187
187
|
"core": false,
|
188
|
-
"unlocked_by":
|
188
|
+
"unlocked_by": "difference-of-squares",
|
189
189
|
"difficulty": 4,
|
190
190
|
"topics": [
|
191
191
|
"arrays",
|
@@ -199,7 +199,7 @@
|
|
199
199
|
"slug": "luhn",
|
200
200
|
"uuid": "3cf8a650-6a25-416e-a0af-036f41c11cca",
|
201
201
|
"core": false,
|
202
|
-
"unlocked_by":
|
202
|
+
"unlocked_by": "hamming",
|
203
203
|
"difficulty": 4,
|
204
204
|
"topics": [
|
205
205
|
"algorithms",
|
@@ -213,7 +213,7 @@
|
|
213
213
|
{
|
214
214
|
"slug": "triangle",
|
215
215
|
"uuid": "e282536b-267f-490c-a453-758135051a54",
|
216
|
-
"core":
|
216
|
+
"core": true,
|
217
217
|
"unlocked_by": null,
|
218
218
|
"difficulty": 4,
|
219
219
|
"topics": [
|
@@ -228,7 +228,7 @@
|
|
228
228
|
"slug": "largest-series-product",
|
229
229
|
"uuid": "aa11e242-77b9-4ba7-97a2-d9b36e454a9d",
|
230
230
|
"core": false,
|
231
|
-
"unlocked_by":
|
231
|
+
"unlocked_by": "hamming",
|
232
232
|
"difficulty": 4,
|
233
233
|
"topics": [
|
234
234
|
"integers",
|
@@ -242,7 +242,7 @@
|
|
242
242
|
"slug": "grains",
|
243
243
|
"uuid": "1fa1e0f9-6410-4197-8778-debeb274e6d4",
|
244
244
|
"core": false,
|
245
|
-
"unlocked_by":
|
245
|
+
"unlocked_by": "secret-handshake",
|
246
246
|
"difficulty": 4,
|
247
247
|
"topics": [
|
248
248
|
"integers"
|
@@ -252,7 +252,7 @@
|
|
252
252
|
"slug": "sieve",
|
253
253
|
"uuid": "87ca4323-8a19-4529-962d-0f2ee63ebb2f",
|
254
254
|
"core": false,
|
255
|
-
"unlocked_by":
|
255
|
+
"unlocked_by": "difference-of-squares",
|
256
256
|
"difficulty": 4,
|
257
257
|
"topics": [
|
258
258
|
"algorithms",
|
@@ -266,7 +266,7 @@
|
|
266
266
|
"slug": "collatz-conjecture",
|
267
267
|
"uuid": "ab52d0f4-a001-4d44-951e-0cfc396374f3",
|
268
268
|
"core": false,
|
269
|
-
"unlocked_by":
|
269
|
+
"unlocked_by": "triangle",
|
270
270
|
"difficulty": 4,
|
271
271
|
"topics": [
|
272
272
|
"conditionals",
|
@@ -280,7 +280,7 @@
|
|
280
280
|
"slug": "atbash-cipher",
|
281
281
|
"uuid": "b325401a-c8f0-49da-9f1a-a83318e780c9",
|
282
282
|
"core": false,
|
283
|
-
"unlocked_by":
|
283
|
+
"unlocked_by": "rotational-cipher",
|
284
284
|
"difficulty": 4,
|
285
285
|
"topics": [
|
286
286
|
"cryptography",
|
@@ -292,7 +292,7 @@
|
|
292
292
|
"slug": "nth-prime",
|
293
293
|
"uuid": "6e2bbe8d-b6ab-4675-9c31-5b437cefd0c4",
|
294
294
|
"core": false,
|
295
|
-
"unlocked_by":
|
295
|
+
"unlocked_by": "triangle",
|
296
296
|
"difficulty": 4,
|
297
297
|
"topics": [
|
298
298
|
"arrays",
|
@@ -305,7 +305,7 @@
|
|
305
305
|
{
|
306
306
|
"slug": "saddle-points",
|
307
307
|
"uuid": "371901d4-0728-4abd-8374-1905d7d70329",
|
308
|
-
"core":
|
308
|
+
"core": true,
|
309
309
|
"unlocked_by": null,
|
310
310
|
"difficulty": 4,
|
311
311
|
"topics": [
|
@@ -321,7 +321,7 @@
|
|
321
321
|
"slug": "diamond",
|
322
322
|
"uuid": "03c71e34-ecaf-47a4-9854-48600e1bf0d4",
|
323
323
|
"core": false,
|
324
|
-
"unlocked_by":
|
324
|
+
"unlocked_by": "two-fer",
|
325
325
|
"difficulty": 4,
|
326
326
|
"topics": [
|
327
327
|
"arrays",
|
@@ -335,7 +335,7 @@
|
|
335
335
|
"slug": "isogram",
|
336
336
|
"uuid": "e5338be9-6f51-4448-9b10-20de7b1338b9",
|
337
337
|
"core": false,
|
338
|
-
"unlocked_by":
|
338
|
+
"unlocked_by": "hello-world",
|
339
339
|
"difficulty": 4,
|
340
340
|
"topics": [
|
341
341
|
"conditionals",
|
@@ -347,7 +347,7 @@
|
|
347
347
|
{
|
348
348
|
"slug": "flatten-array",
|
349
349
|
"uuid": "c67907b6-0d8b-4b12-9c41-6069845952a3",
|
350
|
-
"core":
|
350
|
+
"core": true,
|
351
351
|
"unlocked_by": null,
|
352
352
|
"difficulty": 5,
|
353
353
|
"topics": [
|
@@ -359,7 +359,7 @@
|
|
359
359
|
"slug": "pig-latin",
|
360
360
|
"uuid": "cb2ce8e5-f143-4423-a3bc-959f4222c186",
|
361
361
|
"core": false,
|
362
|
-
"unlocked_by":
|
362
|
+
"unlocked_by": "hello-world",
|
363
363
|
"difficulty": 5,
|
364
364
|
"topics": [
|
365
365
|
"arrays",
|
@@ -372,7 +372,7 @@
|
|
372
372
|
"slug": "phone-number",
|
373
373
|
"uuid": "2c8c1c16-bbb8-49e5-a248-f7a473c2bc86",
|
374
374
|
"core": false,
|
375
|
-
"unlocked_by":
|
375
|
+
"unlocked_by": "hamming",
|
376
376
|
"difficulty": 5,
|
377
377
|
"topics": [
|
378
378
|
"conditionals",
|
@@ -385,7 +385,7 @@
|
|
385
385
|
"slug": "nucleotide-count",
|
386
386
|
"uuid": "62bd648a-e959-4ec4-8a5f-09e08fa0b2c8",
|
387
387
|
"core": false,
|
388
|
-
"unlocked_by":
|
388
|
+
"unlocked_by": "hamming",
|
389
389
|
"difficulty": 5,
|
390
390
|
"topics": [
|
391
391
|
"conditionals",
|
@@ -400,7 +400,7 @@
|
|
400
400
|
{
|
401
401
|
"slug": "word-count",
|
402
402
|
"uuid": "3b8b77ef-da2d-499d-9513-8fe771e86b3e",
|
403
|
-
"core":
|
403
|
+
"core": true,
|
404
404
|
"unlocked_by": null,
|
405
405
|
"difficulty": 5,
|
406
406
|
"topics": [
|
@@ -415,7 +415,7 @@
|
|
415
415
|
"slug": "spiral-matrix",
|
416
416
|
"uuid": "e3407da5-0524-4565-b724-9778bba1033f",
|
417
417
|
"core": false,
|
418
|
-
"unlocked_by":
|
418
|
+
"unlocked_by": "flatten-array",
|
419
419
|
"difficulty": 5,
|
420
420
|
"topics": [
|
421
421
|
"arrays",
|
@@ -428,7 +428,7 @@
|
|
428
428
|
{
|
429
429
|
"slug": "robot-name",
|
430
430
|
"uuid": "ce475b23-5dfc-4049-90c5-0c387926686f",
|
431
|
-
"core":
|
431
|
+
"core": true,
|
432
432
|
"unlocked_by": null,
|
433
433
|
"difficulty": 5,
|
434
434
|
"topics": [
|
@@ -443,7 +443,7 @@
|
|
443
443
|
"slug": "prime-factors",
|
444
444
|
"uuid": "0e92ba19-2727-4a5e-be38-e88878322c53",
|
445
445
|
"core": false,
|
446
|
-
"unlocked_by":
|
446
|
+
"unlocked_by": "triangle",
|
447
447
|
"difficulty": 5,
|
448
448
|
"topics": [
|
449
449
|
"arrays",
|
@@ -458,7 +458,7 @@
|
|
458
458
|
"slug": "allergies",
|
459
459
|
"uuid": "a826af04-b7f3-426e-9bce-42375d0d928b",
|
460
460
|
"core": false,
|
461
|
-
"unlocked_by":
|
461
|
+
"unlocked_by": "gigasecond",
|
462
462
|
"difficulty": 5,
|
463
463
|
"topics": [
|
464
464
|
"booleans",
|
@@ -473,7 +473,7 @@
|
|
473
473
|
"slug": "bob",
|
474
474
|
"uuid": "f3713067-7f37-4dd6-a189-c80f46dab8ec",
|
475
475
|
"core": false,
|
476
|
-
"unlocked_by":
|
476
|
+
"unlocked_by": "two-fer",
|
477
477
|
"difficulty": 5,
|
478
478
|
"topics": [
|
479
479
|
"booleans",
|
@@ -485,7 +485,7 @@
|
|
485
485
|
"slug": "pascals-triangle",
|
486
486
|
"uuid": "67db30e4-b4d8-4224-b0f8-19a00af40387",
|
487
487
|
"core": false,
|
488
|
-
"unlocked_by":
|
488
|
+
"unlocked_by": "triangle",
|
489
489
|
"difficulty": 5,
|
490
490
|
"topics": [
|
491
491
|
"algorithms",
|
@@ -500,7 +500,7 @@
|
|
500
500
|
"slug": "bracket-push",
|
501
501
|
"uuid": "cbbbd7db-224f-45ca-a108-4dc6bc98e4a0",
|
502
502
|
"core": false,
|
503
|
-
"unlocked_by":
|
503
|
+
"unlocked_by": "flatten-array",
|
504
504
|
"difficulty": 5,
|
505
505
|
"topics": [
|
506
506
|
"stacks",
|
@@ -511,7 +511,7 @@
|
|
511
511
|
"slug": "series",
|
512
512
|
"uuid": "9caa5fd9-a774-4d4c-951d-053a4f3f2726",
|
513
513
|
"core": false,
|
514
|
-
"unlocked_by":
|
514
|
+
"unlocked_by": "hamming",
|
515
515
|
"difficulty": 5,
|
516
516
|
"topics": [
|
517
517
|
"conditionals",
|
@@ -524,7 +524,7 @@
|
|
524
524
|
{
|
525
525
|
"slug": "rotational-cipher",
|
526
526
|
"uuid": "7c24087a-ca61-48d3-9cb9-c3fde2edba86",
|
527
|
-
"core":
|
527
|
+
"core": true,
|
528
528
|
"unlocked_by": null,
|
529
529
|
"difficulty": 5,
|
530
530
|
"topics": [
|
@@ -536,7 +536,7 @@
|
|
536
536
|
{
|
537
537
|
"slug": "bank-account",
|
538
538
|
"uuid": "12e1d685-32be-4b2c-a40b-c68e5b60de1d",
|
539
|
-
"core":
|
539
|
+
"core": true,
|
540
540
|
"unlocked_by": null,
|
541
541
|
"difficulty": 6,
|
542
542
|
"topics": [
|
@@ -549,7 +549,7 @@
|
|
549
549
|
"slug": "roman-numerals",
|
550
550
|
"uuid": "da466ad5-6837-47d8-af39-2c0563d35a3c",
|
551
551
|
"core": false,
|
552
|
-
"unlocked_by":
|
552
|
+
"unlocked_by": "hamming",
|
553
553
|
"difficulty": 6,
|
554
554
|
"topics": [
|
555
555
|
"integers",
|
@@ -564,7 +564,7 @@
|
|
564
564
|
"slug": "beer-song",
|
565
565
|
"uuid": "34f0e7d0-29df-44e5-a7a7-4a12584af62e",
|
566
566
|
"core": false,
|
567
|
-
"unlocked_by":
|
567
|
+
"unlocked_by": "two-fer",
|
568
568
|
"difficulty": 6,
|
569
569
|
"topics": [
|
570
570
|
"conditionals",
|
@@ -578,7 +578,7 @@
|
|
578
578
|
"slug": "etl",
|
579
579
|
"uuid": "f0f297f2-429f-4626-8b7f-0706a1e8f255",
|
580
580
|
"core": false,
|
581
|
-
"unlocked_by":
|
581
|
+
"unlocked_by": "word-count",
|
582
582
|
"difficulty": 6,
|
583
583
|
"topics": [
|
584
584
|
"lists",
|
@@ -589,7 +589,7 @@
|
|
589
589
|
{
|
590
590
|
"slug": "linked-list",
|
591
591
|
"uuid": "fc977979-c8a4-44b6-a685-c8a32bd12bc3",
|
592
|
-
"core":
|
592
|
+
"core": true,
|
593
593
|
"unlocked_by": null,
|
594
594
|
"difficulty": 6,
|
595
595
|
"topics": [
|
@@ -602,7 +602,7 @@
|
|
602
602
|
"slug": "grade-school",
|
603
603
|
"uuid": "62eb71dd-18ba-427f-a27a-86e993b4055a",
|
604
604
|
"core": false,
|
605
|
-
"unlocked_by":
|
605
|
+
"unlocked_by": "word-count",
|
606
606
|
"difficulty": 6,
|
607
607
|
"topics": [
|
608
608
|
"conditionals",
|
@@ -616,7 +616,7 @@
|
|
616
616
|
"slug": "robot-simulator",
|
617
617
|
"uuid": "6e3b294b-16a3-4ebb-a78b-4bf7f6b96736",
|
618
618
|
"core": false,
|
619
|
-
"unlocked_by":
|
619
|
+
"unlocked_by": "secret-handshake",
|
620
620
|
"difficulty": 6,
|
621
621
|
"topics": [
|
622
622
|
"classes",
|
@@ -628,7 +628,7 @@
|
|
628
628
|
{
|
629
629
|
"slug": "binary-search",
|
630
630
|
"uuid": "c8815b6c-19b8-4f4d-9be4-6717e933591a",
|
631
|
-
"core":
|
631
|
+
"core": true,
|
632
632
|
"unlocked_by": null,
|
633
633
|
"difficulty": 6,
|
634
634
|
"topics": [
|
@@ -642,7 +642,7 @@
|
|
642
642
|
"slug": "minesweeper",
|
643
643
|
"uuid": "8eb6f225-fa3d-4a33-b476-2cae45053c82",
|
644
644
|
"core": false,
|
645
|
-
"unlocked_by":
|
645
|
+
"unlocked_by": "scrabble-score",
|
646
646
|
"difficulty": 6,
|
647
647
|
"topics": [
|
648
648
|
"conditionals",
|
@@ -657,7 +657,7 @@
|
|
657
657
|
"slug": "all-your-base",
|
658
658
|
"uuid": "19d00436-f26a-47ad-b13e-128181dc09f3",
|
659
659
|
"core": false,
|
660
|
-
"unlocked_by":
|
660
|
+
"unlocked_by": "saddle-points",
|
661
661
|
"difficulty": 6,
|
662
662
|
"topics": [
|
663
663
|
"arrays",
|
@@ -672,7 +672,7 @@
|
|
672
672
|
"slug": "say",
|
673
673
|
"uuid": "5607dae5-13aa-4cd4-8b4c-d270516182d7",
|
674
674
|
"core": false,
|
675
|
-
"unlocked_by":
|
675
|
+
"unlocked_by": "rotational-cipher",
|
676
676
|
"difficulty": 6,
|
677
677
|
"topics": [
|
678
678
|
"strings",
|
@@ -683,7 +683,7 @@
|
|
683
683
|
"slug": "anagram",
|
684
684
|
"uuid": "f754e1cc-cb88-4776-ab11-3e6ae8362d5a",
|
685
685
|
"core": false,
|
686
|
-
"unlocked_by":
|
686
|
+
"unlocked_by": "hello-world",
|
687
687
|
"difficulty": 7,
|
688
688
|
"topics": [
|
689
689
|
"arrays",
|
@@ -698,7 +698,7 @@
|
|
698
698
|
"slug": "sublist",
|
699
699
|
"uuid": "ebfdf40a-1fde-4c88-aa93-95e3190f5261",
|
700
700
|
"core": false,
|
701
|
-
"unlocked_by":
|
701
|
+
"unlocked_by": "linked-list",
|
702
702
|
"difficulty": 7,
|
703
703
|
"topics": [
|
704
704
|
"enumeration",
|
@@ -712,7 +712,7 @@
|
|
712
712
|
"slug": "meetup",
|
713
713
|
"uuid": "d617987e-64b8-4c21-89a9-66a932c4668d",
|
714
714
|
"core": false,
|
715
|
-
"unlocked_by":
|
715
|
+
"unlocked_by": "gigasecond",
|
716
716
|
"difficulty": 7,
|
717
717
|
"topics": [
|
718
718
|
"conditionals",
|
@@ -725,7 +725,7 @@
|
|
725
725
|
"slug": "clock",
|
726
726
|
"uuid": "1dcefdea-5447-4622-a064-079aad781398",
|
727
727
|
"core": false,
|
728
|
-
"unlocked_by":
|
728
|
+
"unlocked_by": "saddle-points",
|
729
729
|
"difficulty": 7,
|
730
730
|
"topics": [
|
731
731
|
"equality",
|
@@ -740,7 +740,7 @@
|
|
740
740
|
"slug": "list-ops",
|
741
741
|
"uuid": "34f1d5bf-f31f-415e-9905-4d48e6205d28",
|
742
742
|
"core": false,
|
743
|
-
"unlocked_by":
|
743
|
+
"unlocked_by": "linked-list",
|
744
744
|
"difficulty": 8,
|
745
745
|
"topics": [
|
746
746
|
"filtering",
|
@@ -754,7 +754,7 @@
|
|
754
754
|
"slug": "simple-cipher",
|
755
755
|
"uuid": "e23b06de-bd91-482f-9783-b0334b75b489",
|
756
756
|
"core": false,
|
757
|
-
"unlocked_by":
|
757
|
+
"unlocked_by": "rotational-cipher",
|
758
758
|
"difficulty": 8,
|
759
759
|
"topics": [
|
760
760
|
"cryptography",
|
@@ -769,7 +769,7 @@
|
|
769
769
|
"slug": "complex-numbers",
|
770
770
|
"uuid": "83dec96f-9cdf-4b9b-abc4-cbd2066d919a",
|
771
771
|
"core": false,
|
772
|
-
"unlocked_by":
|
772
|
+
"unlocked_by": "triangle",
|
773
773
|
"difficulty": 8,
|
774
774
|
"topics": [
|
775
775
|
"floating_point_numbers",
|
@@ -780,7 +780,7 @@
|
|
780
780
|
"slug": "change",
|
781
781
|
"uuid": "0d69c1cd-f190-4b3b-8472-bf78c02acbc5",
|
782
782
|
"core": false,
|
783
|
-
"unlocked_by":
|
783
|
+
"unlocked_by": "flatten-array",
|
784
784
|
"difficulty": 8,
|
785
785
|
"topics": [
|
786
786
|
"algorithms",
|
@@ -793,7 +793,7 @@
|
|
793
793
|
"slug": "forth",
|
794
794
|
"uuid": "eecd4f8b-eedc-49a3-adad-49747521ef66",
|
795
795
|
"core": false,
|
796
|
-
"unlocked_by":
|
796
|
+
"unlocked_by": "secret-handshake",
|
797
797
|
"difficulty": 9,
|
798
798
|
"topics": [
|
799
799
|
"exception_handling",
|
@@ -808,7 +808,7 @@
|
|
808
808
|
"slug": "react",
|
809
809
|
"uuid": "240788cd-afa5-4fd6-8df0-a158239c0610",
|
810
810
|
"core": false,
|
811
|
-
"unlocked_by":
|
811
|
+
"unlocked_by": "binary-search",
|
812
812
|
"difficulty": 10,
|
813
813
|
"topics": [
|
814
814
|
"generics",
|