trackler 2.2.1.160 → 2.2.1.161
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/trackler/version.rb +1 -1
- data/tracks/ballerina/.gitignore +4 -0
- data/tracks/ballerina/.travis.yml +5 -0
- data/tracks/ballerina/LICENSE +21 -0
- data/tracks/ballerina/README.md +67 -0
- data/tracks/ballerina/bin/fetch-configlet +32 -0
- data/tracks/ballerina/config.json +11 -0
- data/tracks/ballerina/config/exercise-readme-insert.md +0 -0
- data/tracks/ballerina/config/exercise_readme.go.tmpl +16 -0
- data/tracks/ballerina/config/maintainers.json +4 -0
- data/tracks/ballerina/docs/ABOUT.md +0 -0
- data/tracks/ballerina/docs/INSTALLATION.md +0 -0
- data/tracks/ballerina/docs/LEARNING.md +0 -0
- data/tracks/ballerina/docs/RESOURCES.md +0 -0
- data/tracks/ballerina/docs/TESTS.md +0 -0
- data/tracks/ballerina/img/.keep +0 -0
- data/tracks/c/config.json +1 -1
- data/tracks/kotlin/config.json +400 -86
- data/tracks/kotlin/config/maintainers.json +10 -0
- data/tracks/objective-c/config.json +208 -208
- data/tracks/objective-c/config/maintainers.json +16 -16
- data/tracks/objective-c/docs/ABOUT.md +5 -1
- data/tracks/powershell/config.json +1 -1
- data/tracks/powershell/exercises/reverse-string/ReverseString.example.ps1 +13 -0
- data/tracks/powershell/exercises/reverse-string/ReverseString.ps1 +13 -1
- data/tracks/powershell/exercises/sum-of-multiples/SumOfMultiples.example.ps1 +18 -0
- data/tracks/powershell/exercises/sum-of-multiples/SumOfMultiples.ps1 +18 -0
- data/tracks/prolog/config.json +31 -63
- data/tracks/prolog/config/maintainers.json +8 -8
- data/tracks/prolog/docs/SNIPPET.txt +10 -5
- data/tracks/python/config.json +1 -0
- data/tracks/python/docs/ABOUT.md +8 -8
- data/tracks/python/exercises/all-your-base/all_your_base_test.py +1 -1
- data/tracks/python/exercises/allergies/allergies_test.py +1 -1
- data/tracks/python/exercises/alphametics/alphametics_test.py +1 -1
- data/tracks/python/exercises/anagram/anagram_test.py +1 -1
- data/tracks/python/exercises/armstrong-numbers/armstrong_numbers_test.py +1 -1
- data/tracks/python/exercises/bank-account/bank_account_test.py +1 -1
- data/tracks/python/exercises/beer-song/beer_song_test.py +1 -1
- data/tracks/python/exercises/binary-search-tree/binary_search_tree_test.py +1 -1
- data/tracks/python/exercises/binary-search/binary_search_test.py +1 -1
- data/tracks/python/exercises/binary/binary_test.py +1 -1
- data/tracks/python/exercises/bob/bob_test.py +1 -1
- data/tracks/python/exercises/book-store/book_store_test.py +1 -1
- data/tracks/python/exercises/bowling/bowling_test.py +1 -1
- data/tracks/python/exercises/bracket-push/bracket_push_test.py +1 -1
- data/tracks/python/exercises/collatz-conjecture/collatz_conjecture_test.py +1 -1
- data/tracks/python/exercises/diamond/diamond_test.py +1 -1
- data/tracks/python/exercises/etl/etl_test.py +1 -1
- data/tracks/python/exercises/flatten-array/flatten_array_test.py +1 -1
- data/tracks/python/exercises/grade-school/grade_school_test.py +1 -1
- data/tracks/python/exercises/hello-world/hello_world_test.py +1 -1
- data/tracks/python/exercises/house/house_test.py +1 -1
- data/tracks/python/exercises/isbn-verifier/isbn_verifier_test.py +1 -1
- data/tracks/python/exercises/isogram/isogram_test.py +1 -1
- data/tracks/python/exercises/kindergarten-garden/kindergarten_garden_test.py +1 -1
- data/tracks/python/exercises/largest-series-product/largest_series_product_test.py +1 -1
- data/tracks/python/exercises/leap/leap_test.py +1 -1
- data/tracks/python/exercises/linked-list/linked_list_test.py +1 -1
- data/tracks/python/exercises/luhn/luhn_test.py +1 -1
- data/tracks/python/exercises/markdown/markdown_test.py +1 -1
- data/tracks/python/exercises/nth-prime/nth_prime_test.py +1 -1
- data/tracks/python/exercises/nucleotide-count/nucleotide_count_test.py +1 -1
- data/tracks/python/exercises/ocr-numbers/ocr_numbers_test.py +1 -1
- data/tracks/python/exercises/palindrome-products/palindrome_products_test.py +1 -1
- data/tracks/python/exercises/pangram/pangram_test.py +1 -1
- data/tracks/python/exercises/phone-number/phone_number_test.py +1 -1
- data/tracks/python/exercises/pig-latin/pig_latin_test.py +1 -1
- data/tracks/python/exercises/point-mutations/point_mutations_test.py +1 -1
- data/tracks/python/exercises/protein-translation/protein_translation_test.py +1 -1
- data/tracks/python/exercises/rail-fence-cipher/rail_fence_cipher_test.py +1 -1
- data/tracks/python/exercises/rational-numbers/rational_numbers_test.py +1 -1
- data/tracks/python/exercises/react/react_test.py +1 -1
- data/tracks/python/exercises/rectangles/rectangles_test.py +1 -1
- data/tracks/python/exercises/reverse-string/reverse_string_test.py +1 -1
- data/tracks/python/exercises/rna-transcription/rna_transcription_test.py +1 -1
- data/tracks/python/exercises/robot-name/robot_name_test.py +1 -1
- data/tracks/python/exercises/robot-simulator/robot_simulator_test.py +1 -1
- data/tracks/python/exercises/roman-numerals/roman_numerals_test.py +1 -1
- data/tracks/python/exercises/rotational-cipher/rotational_cipher_test.py +1 -1
- data/tracks/python/exercises/run-length-encoding/run_length_encoding_test.py +1 -1
- data/tracks/python/exercises/saddle-points/saddle_points_test.py +1 -1
- data/tracks/python/exercises/scrabble-score/scrabble_score_test.py +1 -1
- data/tracks/python/exercises/secret-handshake/secret_handshake_test.py +1 -1
- data/tracks/python/exercises/simple-cipher/simple_cipher_test.py +1 -1
- data/tracks/python/exercises/simple-linked-list/simple_linked_list_test.py +1 -1
- data/tracks/python/exercises/tournament/tournament_test.py +1 -1
- data/tracks/python/exercises/transpose/transpose_test.py +1 -1
- data/tracks/python/exercises/tree-building/tree_building_test.py +1 -1
- data/tracks/python/exercises/twelve-days/twelve_days_test.py +1 -3
- data/tracks/python/exercises/two-fer/two_fer_test.py +1 -1
- data/tracks/python/exercises/variable-length-quantity/variable_length_quantity_test.py +1 -1
- data/tracks/python/exercises/word-count/word_count_test.py +1 -1
- data/tracks/python/exercises/word-search/word_search_test.py +1 -1
- data/tracks/python/exercises/yacht/yacht_test.py +1 -1
- data/tracks/swift/config.json +369 -353
- data/tracks/swift/config/maintainers.json +16 -16
- data/tracks/vimscript/docs/ABOUT.md +23 -34
- metadata +18 -2
@@ -5,7 +5,7 @@ import rotational_cipher
|
|
5
5
|
|
6
6
|
# Tests adapted from `problem-specifications//canonical-data.json` @ v1.2.0
|
7
7
|
|
8
|
-
class
|
8
|
+
class RotationalCipherTest(unittest.TestCase):
|
9
9
|
def test_rotate_a_by_0(self):
|
10
10
|
self.assertEqual(rotational_cipher.rotate('a', 0), 'a')
|
11
11
|
|
@@ -5,7 +5,7 @@ from run_length_encoding import encode, decode
|
|
5
5
|
|
6
6
|
# Tests adapted from `problem-specifications//canonical-data.json` @ v1.1.0
|
7
7
|
|
8
|
-
class
|
8
|
+
class RunLengthEncodingTest(unittest.TestCase):
|
9
9
|
def test_encode_empty_string(self):
|
10
10
|
self.assertMultiLineEqual(encode(''), '')
|
11
11
|
|
@@ -12,7 +12,7 @@ from saddle_points import saddle_points
|
|
12
12
|
|
13
13
|
# Tests adapted from `problem-specifications//canonical-data.json` @ v1.1.0
|
14
14
|
|
15
|
-
class
|
15
|
+
class SaddlePointsTest(unittest.TestCase):
|
16
16
|
def test_identify_single_saddle_point(self):
|
17
17
|
matrix = [[9, 8, 7], [5, 3, 2], [6, 6, 7]]
|
18
18
|
self.assertEqual(saddle_points(matrix), set([(1, 0)]))
|
@@ -5,7 +5,7 @@ from scrabble_score import score
|
|
5
5
|
|
6
6
|
# Tests adapted from `problem-specifications//canonical-data.json` @ v1.1.0
|
7
7
|
|
8
|
-
class
|
8
|
+
class ScrabbleScoreTest(unittest.TestCase):
|
9
9
|
def test_lowercase_letter(self):
|
10
10
|
self.assertEqual(score("a"), 1)
|
11
11
|
|
@@ -5,7 +5,7 @@ from secret_handshake import handshake, secret_code
|
|
5
5
|
|
6
6
|
# Tests adapted from `problem-specifications//canonical-data.json` @ v1.2.0
|
7
7
|
|
8
|
-
class
|
8
|
+
class SecretHandshakeTest(unittest.TestCase):
|
9
9
|
def test_wink_for_1(self):
|
10
10
|
self.assertEqual(handshake(1), ['wink'])
|
11
11
|
|
@@ -3,7 +3,7 @@ import unittest
|
|
3
3
|
from simple_cipher import Caesar, Cipher
|
4
4
|
|
5
5
|
|
6
|
-
class
|
6
|
+
class SimpleCipherTest(unittest.TestCase):
|
7
7
|
def test_caesar_encode1(self):
|
8
8
|
self.assertEqual(Caesar().encode('itisawesomeprogramminginpython'),
|
9
9
|
'lwlvdzhvrphsurjudpplqjlqsbwkrq')
|
@@ -5,7 +5,7 @@ from simple_linked_list import LinkedList, EmptyListException
|
|
5
5
|
|
6
6
|
# No canonical data available for this exercise
|
7
7
|
|
8
|
-
class
|
8
|
+
class SimpleLinkedListTest(unittest.TestCase):
|
9
9
|
def test_empty_list_has_len_zero(self):
|
10
10
|
sut = LinkedList()
|
11
11
|
self.assertEqual(len(sut), 0)
|
@@ -5,7 +5,7 @@ from tournament import tally
|
|
5
5
|
|
6
6
|
# Tests adapted from `problem-specifications//canonical-data.json` @ v1.4.0
|
7
7
|
|
8
|
-
class
|
8
|
+
class TournamentTest(unittest.TestCase):
|
9
9
|
def test_just_the_header_if_no_input(self):
|
10
10
|
self.assertEqual(
|
11
11
|
tally(''),
|
@@ -5,7 +5,7 @@ from twelve_days import recite
|
|
5
5
|
|
6
6
|
# Tests adapted from `problem-specifications//canonical-data.json` @ v1.1.0
|
7
7
|
|
8
|
-
class
|
8
|
+
class TwelveDaysTest(unittest.TestCase):
|
9
9
|
def test_verse1(self):
|
10
10
|
expected = ["On the first day of Christmas my true love gave to me, "
|
11
11
|
"a Partridge in a Pear Tree."]
|
@@ -133,8 +133,6 @@ class VerseTests(unittest.TestCase):
|
|
133
133
|
"and a Partridge in a Pear Tree."]
|
134
134
|
self.assertEqual(recite(12, 12), expected)
|
135
135
|
|
136
|
-
|
137
|
-
class LyricsTests(unittest.TestCase):
|
138
136
|
def test_first_three_verses_of_the_song(self):
|
139
137
|
expected = [recite(n, n)[0] for n in range(1, 4)]
|
140
138
|
self.assertEqual(recite(1, 3), expected)
|
@@ -5,7 +5,7 @@ from two_fer import two_fer
|
|
5
5
|
|
6
6
|
# Tests adapted from `problem-specifications//canonical-data.json` @ v1.2.0
|
7
7
|
|
8
|
-
class
|
8
|
+
class TwoFerTest(unittest.TestCase):
|
9
9
|
def test_no_name_given(self):
|
10
10
|
self.assertEqual(two_fer(), 'One for you, one for me.')
|
11
11
|
|
@@ -5,7 +5,7 @@ from variable_length_quantity import encode, decode
|
|
5
5
|
|
6
6
|
# Tests adapted from `problem-specifications//canonical-data.json` @ v1.1.0
|
7
7
|
|
8
|
-
class
|
8
|
+
class VariableLengthQuantityTest(unittest.TestCase):
|
9
9
|
def test_zero(self):
|
10
10
|
self.assertEqual(encode([0x0]), [0x0])
|
11
11
|
|
@@ -5,7 +5,7 @@ from word_search import WordSearch, Point
|
|
5
5
|
|
6
6
|
# Tests adapted from `problem-specifications//canonical-data.json` @ v1.2.0
|
7
7
|
|
8
|
-
class
|
8
|
+
class WordSearchTest(unittest.TestCase):
|
9
9
|
|
10
10
|
def test_initial_game_grid(self):
|
11
11
|
puzzle = ['jefblpepre']
|
@@ -6,7 +6,7 @@ from yacht import score
|
|
6
6
|
|
7
7
|
# Tests adapted from `problem-specifications//canonical-data.json` @ v1.1.0
|
8
8
|
|
9
|
-
class
|
9
|
+
class YachtTest(unittest.TestCase):
|
10
10
|
def test_yacht(self):
|
11
11
|
self.assertEqual(score([5, 5, 5, 5, 5], yacht.YACHT), 50)
|
12
12
|
|
data/tracks/swift/config.json
CHANGED
@@ -1,959 +1,975 @@
|
|
1
1
|
{
|
2
|
+
"language": "Swift",
|
2
3
|
"active": true,
|
4
|
+
"blurb": "",
|
3
5
|
"exercises": [
|
4
6
|
{
|
7
|
+
"slug": "hello-world",
|
8
|
+
"uuid": "63906530-1e13-491a-ab17-aee66d619fd8",
|
5
9
|
"core": false,
|
10
|
+
"unlocked_by": null,
|
6
11
|
"difficulty": 1,
|
7
|
-
"slug": "hello-world",
|
8
12
|
"topics": [
|
9
13
|
"optional_values",
|
10
14
|
"text_formatting"
|
11
|
-
]
|
12
|
-
"unlocked_by": null,
|
13
|
-
"uuid": "63906530-1e13-491a-ab17-aee66d619fd8"
|
15
|
+
]
|
14
16
|
},
|
15
17
|
{
|
18
|
+
"slug": "two-fer",
|
19
|
+
"uuid": "ed859c29-fae0-4a32-9074-ac3c3cf324c2",
|
16
20
|
"core": false,
|
21
|
+
"unlocked_by": null,
|
17
22
|
"difficulty": 1,
|
18
|
-
"slug": "two-fer",
|
19
23
|
"topics": [
|
20
24
|
"optional_values",
|
21
25
|
"text_formatting"
|
22
|
-
]
|
23
|
-
"unlocked_by": null,
|
24
|
-
"uuid": "ed859c29-fae0-4a32-9074-ac3c3cf324c2"
|
26
|
+
]
|
25
27
|
},
|
26
28
|
{
|
29
|
+
"slug": "leap",
|
30
|
+
"uuid": "53ca7b6a-cdba-4d6d-a564-06e59700a6e4",
|
27
31
|
"core": false,
|
32
|
+
"unlocked_by": null,
|
28
33
|
"difficulty": 1,
|
29
|
-
"slug": "leap",
|
30
34
|
"topics": [
|
31
35
|
"integers"
|
32
|
-
]
|
33
|
-
"unlocked_by": null,
|
34
|
-
"uuid": "53ca7b6a-cdba-4d6d-a564-06e59700a6e4"
|
36
|
+
]
|
35
37
|
},
|
36
38
|
{
|
39
|
+
"slug": "gigasecond",
|
40
|
+
"uuid": "0a1ae85a-1d89-453a-8b97-303181d7874d",
|
37
41
|
"core": false,
|
42
|
+
"unlocked_by": null,
|
38
43
|
"difficulty": 1,
|
39
|
-
"slug": "gigasecond",
|
40
44
|
"topics": [
|
41
45
|
"dates"
|
42
|
-
]
|
43
|
-
"unlocked_by": null,
|
44
|
-
"uuid": "0a1ae85a-1d89-453a-8b97-303181d7874d"
|
46
|
+
]
|
45
47
|
},
|
46
48
|
{
|
49
|
+
"slug": "difference-of-squares",
|
50
|
+
"uuid": "ef114733-886b-4d4b-a713-3ba169a85025",
|
47
51
|
"core": false,
|
52
|
+
"unlocked_by": null,
|
48
53
|
"difficulty": 1,
|
49
|
-
"slug": "difference-of-squares",
|
50
54
|
"topics": [
|
51
55
|
"integers"
|
52
|
-
]
|
53
|
-
"unlocked_by": null,
|
54
|
-
"uuid": "ef114733-886b-4d4b-a713-3ba169a85025"
|
56
|
+
]
|
55
57
|
},
|
56
58
|
{
|
59
|
+
"slug": "rna-transcription",
|
60
|
+
"uuid": "537f8ccd-31ac-41d3-a5fa-39359340d1cb",
|
57
61
|
"core": false,
|
62
|
+
"unlocked_by": null,
|
58
63
|
"difficulty": 1,
|
59
|
-
"slug": "rna-transcription",
|
60
64
|
"topics": [
|
61
65
|
"strings",
|
62
66
|
"transforming"
|
63
|
-
]
|
64
|
-
"unlocked_by": null,
|
65
|
-
"uuid": "537f8ccd-31ac-41d3-a5fa-39359340d1cb"
|
67
|
+
]
|
66
68
|
},
|
67
69
|
{
|
70
|
+
"slug": "sum-of-multiples",
|
71
|
+
"uuid": "b9736756-7022-4a82-b0ea-47b738b1b607",
|
68
72
|
"core": false,
|
73
|
+
"unlocked_by": null,
|
69
74
|
"difficulty": 1,
|
70
|
-
"slug": "sum-of-multiples",
|
71
75
|
"topics": [
|
72
76
|
"lists",
|
73
77
|
"transforming"
|
74
|
-
]
|
75
|
-
"unlocked_by": null,
|
76
|
-
"uuid": "b9736756-7022-4a82-b0ea-47b738b1b607"
|
78
|
+
]
|
77
79
|
},
|
78
80
|
{
|
81
|
+
"slug": "space-age",
|
82
|
+
"uuid": "aaa19946-ab8b-4035-815a-a1f8218ea38b",
|
79
83
|
"core": false,
|
84
|
+
"unlocked_by": null,
|
80
85
|
"difficulty": 1,
|
81
|
-
"slug": "space-age",
|
82
86
|
"topics": [
|
83
87
|
"discriminated_unions",
|
84
88
|
"floating_point_numbers"
|
85
|
-
]
|
86
|
-
"unlocked_by": null,
|
87
|
-
"uuid": "aaa19946-ab8b-4035-815a-a1f8218ea38b"
|
89
|
+
]
|
88
90
|
},
|
89
91
|
{
|
92
|
+
"slug": "bob",
|
93
|
+
"uuid": "49051b88-063a-4fa1-b920-6ca9a6f9bc60",
|
90
94
|
"core": false,
|
95
|
+
"unlocked_by": null,
|
91
96
|
"difficulty": 2,
|
92
|
-
"slug": "bob",
|
93
97
|
"topics": [
|
94
98
|
"control_flow_if_else_statements",
|
95
99
|
"strings"
|
96
|
-
]
|
97
|
-
"unlocked_by": null,
|
98
|
-
"uuid": "49051b88-063a-4fa1-b920-6ca9a6f9bc60"
|
100
|
+
]
|
99
101
|
},
|
100
102
|
{
|
103
|
+
"slug": "grains",
|
104
|
+
"uuid": "b7d90715-b241-4c59-8457-f637efd14bda",
|
101
105
|
"core": false,
|
106
|
+
"unlocked_by": null,
|
102
107
|
"difficulty": 2,
|
103
|
-
"slug": "grains",
|
104
108
|
"topics": [
|
105
109
|
"integers"
|
106
|
-
]
|
107
|
-
"unlocked_by": null,
|
108
|
-
"uuid": "b7d90715-b241-4c59-8457-f637efd14bda"
|
110
|
+
]
|
109
111
|
},
|
110
112
|
{
|
113
|
+
"slug": "hamming",
|
114
|
+
"uuid": "b3cd804f-4ac2-44c7-997b-066779a1b5e6",
|
111
115
|
"core": false,
|
116
|
+
"unlocked_by": null,
|
112
117
|
"difficulty": 2,
|
113
|
-
"slug": "hamming",
|
114
118
|
"topics": [
|
115
119
|
"filtering",
|
116
120
|
"strings"
|
117
|
-
]
|
118
|
-
"unlocked_by": null,
|
119
|
-
"uuid": "b3cd804f-4ac2-44c7-997b-066779a1b5e6"
|
121
|
+
]
|
120
122
|
},
|
121
123
|
{
|
124
|
+
"slug": "nucleotide-count",
|
125
|
+
"uuid": "82fe74be-1589-41fc-966c-10c7b756a2f2",
|
122
126
|
"core": false,
|
127
|
+
"unlocked_by": null,
|
123
128
|
"difficulty": 2,
|
124
|
-
"slug": "nucleotide-count",
|
125
129
|
"topics": [
|
126
130
|
"maps",
|
127
131
|
"strings"
|
128
|
-
]
|
129
|
-
"unlocked_by": null,
|
130
|
-
"uuid": "82fe74be-1589-41fc-966c-10c7b756a2f2"
|
132
|
+
]
|
131
133
|
},
|
132
134
|
{
|
135
|
+
"slug": "accumulate",
|
136
|
+
"uuid": "cb5bc145-8249-4b3b-bcb3-b8d7805f2a14",
|
133
137
|
"core": false,
|
138
|
+
"unlocked_by": null,
|
134
139
|
"difficulty": 2,
|
135
|
-
"slug": "accumulate",
|
136
140
|
"topics": [
|
137
141
|
"recursion",
|
138
142
|
"transforming"
|
139
|
-
]
|
140
|
-
"unlocked_by": null,
|
141
|
-
"uuid": "cb5bc145-8249-4b3b-bcb3-b8d7805f2a14"
|
143
|
+
]
|
142
144
|
},
|
143
145
|
{
|
146
|
+
"slug": "raindrops",
|
147
|
+
"uuid": "60b3b28e-06cb-4a5e-b458-380b6f542ed0",
|
144
148
|
"core": false,
|
149
|
+
"unlocked_by": null,
|
145
150
|
"difficulty": 2,
|
146
|
-
"slug": "raindrops",
|
147
151
|
"topics": [
|
148
152
|
"filtering",
|
149
153
|
"text_formatting"
|
150
|
-
]
|
151
|
-
"unlocked_by": null,
|
152
|
-
"uuid": "60b3b28e-06cb-4a5e-b458-380b6f542ed0"
|
154
|
+
]
|
153
155
|
},
|
154
156
|
{
|
157
|
+
"slug": "grade-school",
|
158
|
+
"uuid": "d1ab2908-8f95-42cd-b40e-b571287ea744",
|
155
159
|
"core": false,
|
160
|
+
"unlocked_by": null,
|
156
161
|
"difficulty": 2,
|
157
|
-
"slug": "grade-school",
|
158
162
|
"topics": [
|
159
163
|
"maps",
|
160
164
|
"sorting"
|
161
|
-
]
|
162
|
-
"unlocked_by": null,
|
163
|
-
"uuid": "d1ab2908-8f95-42cd-b40e-b571287ea744"
|
165
|
+
]
|
164
166
|
},
|
165
167
|
{
|
168
|
+
"slug": "etl",
|
169
|
+
"uuid": "71eb6dd0-1d0d-4aaa-bb22-604cece45bd7",
|
166
170
|
"core": false,
|
171
|
+
"unlocked_by": null,
|
167
172
|
"difficulty": 2,
|
168
|
-
"slug": "etl",
|
169
173
|
"topics": [
|
170
174
|
"maps",
|
171
175
|
"transforming"
|
172
|
-
]
|
173
|
-
"unlocked_by": null,
|
174
|
-
"uuid": "71eb6dd0-1d0d-4aaa-bb22-604cece45bd7"
|
176
|
+
]
|
175
177
|
},
|
176
178
|
{
|
179
|
+
"slug": "isogram",
|
180
|
+
"uuid": "066d2666-deeb-4d99-8314-36d72fbf9afd",
|
177
181
|
"core": false,
|
182
|
+
"unlocked_by": null,
|
178
183
|
"difficulty": 2,
|
179
|
-
"slug": "isogram",
|
180
184
|
"topics": [
|
181
185
|
"filtering",
|
182
186
|
"strings"
|
183
|
-
]
|
184
|
-
"unlocked_by": null,
|
185
|
-
"uuid": "066d2666-deeb-4d99-8314-36d72fbf9afd"
|
187
|
+
]
|
186
188
|
},
|
187
189
|
{
|
188
|
-
"uuid": "cf91efe6-0c6f-4c6f-b3da-e828dff03ad9",
|
189
190
|
"slug": "list-ops",
|
191
|
+
"uuid": "cf91efe6-0c6f-4c6f-b3da-e828dff03ad9",
|
190
192
|
"core": false,
|
191
193
|
"unlocked_by": null,
|
192
194
|
"difficulty": 2,
|
193
195
|
"topics": [
|
194
|
-
"
|
196
|
+
"conditionals",
|
197
|
+
"filtering",
|
198
|
+
"functional_programming",
|
195
199
|
"lists",
|
196
200
|
"loops",
|
197
|
-
"filtering",
|
198
201
|
"searching",
|
199
|
-
"
|
200
|
-
"functional_programming"
|
202
|
+
"variables"
|
201
203
|
]
|
202
204
|
},
|
203
205
|
{
|
206
|
+
"slug": "clock",
|
207
|
+
"uuid": "3ee3ebf1-5cc0-4905-afc4-17e77b9d55a5",
|
204
208
|
"core": false,
|
209
|
+
"unlocked_by": null,
|
205
210
|
"difficulty": 3,
|
206
|
-
"slug": "clock",
|
207
211
|
"topics": [
|
208
212
|
"structural_equality",
|
209
213
|
"time"
|
210
|
-
]
|
211
|
-
"unlocked_by": null,
|
212
|
-
"uuid": "3ee3ebf1-5cc0-4905-afc4-17e77b9d55a5"
|
214
|
+
]
|
213
215
|
},
|
214
216
|
{
|
217
|
+
"slug": "triangle",
|
218
|
+
"uuid": "27671176-d9e4-4060-816c-be6158568269",
|
215
219
|
"core": false,
|
220
|
+
"unlocked_by": null,
|
216
221
|
"difficulty": 3,
|
217
|
-
"slug": "triangle",
|
218
222
|
"topics": [
|
219
223
|
"discriminated_unions",
|
220
224
|
"integers"
|
221
|
-
]
|
222
|
-
"unlocked_by": null,
|
223
|
-
"uuid": "27671176-d9e4-4060-816c-be6158568269"
|
225
|
+
]
|
224
226
|
},
|
225
227
|
{
|
228
|
+
"slug": "robot-name",
|
229
|
+
"uuid": "219f45e1-1475-431e-a087-3c36a557e1a0",
|
226
230
|
"core": false,
|
231
|
+
"unlocked_by": null,
|
227
232
|
"difficulty": 3,
|
228
|
-
"slug": "robot-name",
|
229
233
|
"topics": [
|
230
234
|
"randomness",
|
231
235
|
"strings"
|
232
|
-
]
|
233
|
-
"unlocked_by": null,
|
234
|
-
"uuid": "219f45e1-1475-431e-a087-3c36a557e1a0"
|
236
|
+
]
|
235
237
|
},
|
236
238
|
{
|
239
|
+
"slug": "scrabble-score",
|
240
|
+
"uuid": "5d215619-65d0-4e0c-b592-3eb0747e43c5",
|
237
241
|
"core": false,
|
242
|
+
"unlocked_by": null,
|
238
243
|
"difficulty": 3,
|
239
|
-
"slug": "scrabble-score",
|
240
244
|
"topics": [
|
241
245
|
"transforming"
|
242
|
-
]
|
243
|
-
"unlocked_by": null,
|
244
|
-
"uuid": "5d215619-65d0-4e0c-b592-3eb0747e43c5"
|
246
|
+
]
|
245
247
|
},
|
246
248
|
{
|
249
|
+
"slug": "kindergarten-garden",
|
250
|
+
"uuid": "4420075e-e1b2-4790-922e-4a0650d87036",
|
247
251
|
"core": false,
|
252
|
+
"unlocked_by": null,
|
248
253
|
"difficulty": 3,
|
249
|
-
"slug": "kindergarten-garden",
|
250
254
|
"topics": [
|
251
255
|
"enumerations",
|
252
256
|
"parsing"
|
253
|
-
]
|
254
|
-
"unlocked_by": null,
|
255
|
-
"uuid": "4420075e-e1b2-4790-922e-4a0650d87036"
|
257
|
+
]
|
256
258
|
},
|
257
259
|
{
|
260
|
+
"slug": "queen-attack",
|
261
|
+
"uuid": "5d590847-775c-4b16-9a11-39b208b5c0b2",
|
258
262
|
"core": false,
|
263
|
+
"unlocked_by": null,
|
259
264
|
"difficulty": 3,
|
260
|
-
"slug": "queen-attack",
|
261
265
|
"topics": [
|
262
266
|
"tuples"
|
263
|
-
]
|
264
|
-
"unlocked_by": null,
|
265
|
-
"uuid": "5d590847-775c-4b16-9a11-39b208b5c0b2"
|
267
|
+
]
|
266
268
|
},
|
267
269
|
{
|
270
|
+
"slug": "strain",
|
271
|
+
"uuid": "2be64fe9-cc46-437b-ad3f-43ca3ac7a786",
|
268
272
|
"core": false,
|
273
|
+
"unlocked_by": null,
|
269
274
|
"difficulty": 3,
|
270
|
-
"slug": "strain",
|
271
275
|
"topics": [
|
272
276
|
"filtering",
|
273
277
|
"sequences"
|
274
|
-
]
|
275
|
-
"unlocked_by": null,
|
276
|
-
"uuid": "2be64fe9-cc46-437b-ad3f-43ca3ac7a786"
|
278
|
+
]
|
277
279
|
},
|
278
280
|
{
|
281
|
+
"slug": "sieve",
|
282
|
+
"uuid": "571de186-7791-4fc3-b6b2-5ab0ed50a2cb",
|
279
283
|
"core": false,
|
284
|
+
"unlocked_by": null,
|
280
285
|
"difficulty": 3,
|
281
|
-
"slug": "sieve",
|
282
286
|
"topics": [
|
283
287
|
"filtering",
|
284
288
|
"mathematics"
|
285
|
-
]
|
286
|
-
"unlocked_by": null,
|
287
|
-
"uuid": "571de186-7791-4fc3-b6b2-5ab0ed50a2cb"
|
289
|
+
]
|
288
290
|
},
|
289
291
|
{
|
292
|
+
"slug": "phone-number",
|
293
|
+
"uuid": "de217063-bb3a-4593-850e-887fe8b74924",
|
290
294
|
"core": false,
|
295
|
+
"unlocked_by": null,
|
291
296
|
"difficulty": 3,
|
292
|
-
"slug": "phone-number",
|
293
297
|
"topics": [
|
294
298
|
"parsing",
|
295
299
|
"transforming"
|
296
|
-
]
|
297
|
-
"unlocked_by": null,
|
298
|
-
"uuid": "de217063-bb3a-4593-850e-887fe8b74924"
|
300
|
+
]
|
299
301
|
},
|
300
302
|
{
|
303
|
+
"slug": "perfect-numbers",
|
304
|
+
"uuid": "3eeb8ae0-c8e6-4388-9e4e-b83b8ad2470e",
|
301
305
|
"core": false,
|
306
|
+
"unlocked_by": null,
|
302
307
|
"difficulty": 3,
|
303
|
-
"slug": "perfect-numbers",
|
304
308
|
"topics": [
|
305
309
|
"discriminated_unions",
|
306
310
|
"integers"
|
307
|
-
]
|
308
|
-
"unlocked_by": null,
|
309
|
-
"uuid": "3eeb8ae0-c8e6-4388-9e4e-b83b8ad2470e"
|
311
|
+
]
|
310
312
|
},
|
311
313
|
{
|
314
|
+
"slug": "robot-simulator",
|
315
|
+
"uuid": "2fb516ce-6b89-4e0a-b240-d6f024ed5ff2",
|
312
316
|
"core": false,
|
317
|
+
"unlocked_by": null,
|
313
318
|
"difficulty": 3,
|
314
|
-
"slug": "robot-simulator",
|
315
319
|
"topics": [
|
316
320
|
"records",
|
317
321
|
"tuples"
|
318
|
-
]
|
319
|
-
"unlocked_by": null,
|
320
|
-
"uuid": "2fb516ce-6b89-4e0a-b240-d6f024ed5ff2"
|
322
|
+
]
|
321
323
|
},
|
322
324
|
{
|
325
|
+
"slug": "binary-search",
|
326
|
+
"uuid": "a4a4e5a0-0226-4082-9a82-3cba2c2d4786",
|
323
327
|
"core": false,
|
328
|
+
"unlocked_by": null,
|
324
329
|
"difficulty": 3,
|
325
|
-
"slug": "binary-search",
|
326
330
|
"topics": [
|
327
331
|
"lists",
|
328
332
|
"searching"
|
329
|
-
]
|
330
|
-
"unlocked_by": null,
|
331
|
-
"uuid": "a4a4e5a0-0226-4082-9a82-3cba2c2d4786"
|
333
|
+
]
|
332
334
|
},
|
333
335
|
{
|
336
|
+
"slug": "flatten-array",
|
337
|
+
"uuid": "b113d981-8fc8-4572-b3e0-7ba7a07419de",
|
334
338
|
"core": false,
|
339
|
+
"unlocked_by": null,
|
335
340
|
"difficulty": 3,
|
336
|
-
"slug": "flatten-array",
|
337
341
|
"topics": [
|
338
342
|
"lists",
|
339
343
|
"looping",
|
340
344
|
"searching"
|
341
|
-
]
|
342
|
-
"unlocked_by": null,
|
343
|
-
"uuid": "b113d981-8fc8-4572-b3e0-7ba7a07419de"
|
345
|
+
]
|
344
346
|
},
|
345
347
|
{
|
348
|
+
"slug": "sublist",
|
349
|
+
"uuid": "5bd37dff-8b10-4e96-8b04-a37a8565338b",
|
346
350
|
"core": false,
|
351
|
+
"unlocked_by": null,
|
347
352
|
"difficulty": 3,
|
348
|
-
"slug": "sublist",
|
349
353
|
"topics": [
|
350
354
|
"lists",
|
351
355
|
"looping"
|
352
|
-
]
|
353
|
-
"unlocked_by": null,
|
354
|
-
"uuid": "5bd37dff-8b10-4e96-8b04-a37a8565338b"
|
356
|
+
]
|
355
357
|
},
|
356
358
|
{
|
359
|
+
"slug": "secret-handshake",
|
360
|
+
"uuid": "ea9feed8-481a-4bd0-9af8-7ca44433c266",
|
357
361
|
"core": false,
|
362
|
+
"unlocked_by": null,
|
358
363
|
"difficulty": 3,
|
359
|
-
"slug": "secret-handshake",
|
360
364
|
"topics": [
|
361
365
|
"bitwise_operations",
|
362
366
|
"lists"
|
363
|
-
]
|
364
|
-
"unlocked_by": null,
|
365
|
-
"uuid": "ea9feed8-481a-4bd0-9af8-7ca44433c266"
|
367
|
+
]
|
366
368
|
},
|
367
369
|
{
|
370
|
+
"slug": "collatz-conjecture",
|
371
|
+
"uuid": "1b068d66-c8de-42a8-a566-03848c9c7941",
|
368
372
|
"core": false,
|
373
|
+
"unlocked_by": null,
|
369
374
|
"difficulty": 3,
|
370
|
-
"slug": "collatz-conjecture",
|
371
375
|
"topics": [
|
372
376
|
"integers",
|
373
377
|
"mathematics"
|
374
|
-
]
|
375
|
-
"unlocked_by": null,
|
376
|
-
"uuid": "1b068d66-c8de-42a8-a566-03848c9c7941"
|
378
|
+
]
|
377
379
|
},
|
378
380
|
{
|
381
|
+
"slug": "diamond",
|
382
|
+
"uuid": "6d70fd81-76a4-4e44-a64a-9a070e07e83d",
|
379
383
|
"core": false,
|
384
|
+
"unlocked_by": null,
|
380
385
|
"difficulty": 3,
|
381
|
-
"slug": "diamond",
|
382
386
|
"topics": [
|
383
387
|
"strings"
|
384
|
-
]
|
385
|
-
"unlocked_by": null,
|
386
|
-
"uuid": "6d70fd81-76a4-4e44-a64a-9a070e07e83d"
|
388
|
+
]
|
387
389
|
},
|
388
390
|
{
|
391
|
+
"slug": "isbn-verifier",
|
392
|
+
"uuid": "5854447a-ff9f-4321-bd5c-430555b91fc6",
|
389
393
|
"core": false,
|
394
|
+
"unlocked_by": null,
|
390
395
|
"difficulty": 3,
|
391
|
-
"slug": "isbn-verifier",
|
392
396
|
"topics": [
|
393
397
|
"conditionals",
|
394
398
|
"loops",
|
395
399
|
"pattern_matching",
|
396
400
|
"strings"
|
397
|
-
]
|
398
|
-
"unlocked_by": null,
|
399
|
-
"uuid": "5854447a-ff9f-4321-bd5c-430555b91fc6"
|
401
|
+
]
|
400
402
|
},
|
401
403
|
{
|
404
|
+
"slug": "protein-translation",
|
405
|
+
"uuid": "72bd3b46-c3ed-4399-a925-9b616cfa1e9b",
|
402
406
|
"core": false,
|
407
|
+
"unlocked_by": null,
|
403
408
|
"difficulty": 3,
|
404
|
-
"slug": "protein-translation",
|
405
409
|
"topics": [
|
406
|
-
"
|
407
|
-
"
|
408
|
-
"
|
409
|
-
"
|
410
|
-
]
|
411
|
-
"unlocked_by": null,
|
412
|
-
"uuid": "72bd3b46-c3ed-4399-a925-9b616cfa1e9b"
|
410
|
+
"algorithms",
|
411
|
+
"control_flow_conditionals",
|
412
|
+
"control_flow_loops",
|
413
|
+
"strings"
|
414
|
+
]
|
413
415
|
},
|
414
416
|
{
|
417
|
+
"slug": "circular-buffer",
|
418
|
+
"uuid": "f5499564-62b9-47ab-9ba2-8be6ba453269",
|
415
419
|
"core": false,
|
420
|
+
"unlocked_by": null,
|
416
421
|
"difficulty": 3,
|
417
|
-
"slug": "circular-buffer",
|
418
422
|
"topics": [
|
419
423
|
"arrays",
|
420
|
-
"
|
421
|
-
"
|
422
|
-
"
|
423
|
-
"
|
424
|
+
"control_flow_conditionals",
|
425
|
+
"control_flow_loops",
|
426
|
+
"data_structures",
|
427
|
+
"exception_handling",
|
424
428
|
"lists"
|
425
|
-
]
|
426
|
-
"unlocked_by": null,
|
427
|
-
"uuid": "f5499564-62b9-47ab-9ba2-8be6ba453269"
|
429
|
+
]
|
428
430
|
},
|
429
431
|
{
|
430
|
-
"uuid": "1c9dfe22-de66-4437-862b-8921dc7eb25e",
|
431
432
|
"slug": "scale-generator",
|
433
|
+
"uuid": "1c9dfe22-de66-4437-862b-8921dc7eb25e",
|
432
434
|
"core": false,
|
433
435
|
"unlocked_by": null,
|
434
436
|
"difficulty": 3,
|
435
437
|
"topics": [
|
436
|
-
"
|
438
|
+
"loops",
|
437
439
|
"pattern_matching",
|
438
|
-
"
|
440
|
+
"strings"
|
439
441
|
]
|
440
442
|
},
|
441
443
|
{
|
444
|
+
"slug": "proverb",
|
445
|
+
"uuid": "9604f1ef-4925-4c28-9c59-b986c1a42c7e",
|
442
446
|
"core": false,
|
447
|
+
"unlocked_by": null,
|
443
448
|
"difficulty": 3,
|
444
|
-
"slug": "proverb",
|
445
449
|
"topics": [
|
446
450
|
"algorithms",
|
447
451
|
"strings"
|
448
|
-
]
|
449
|
-
"unlocked_by": null,
|
450
|
-
"uuid": "9604f1ef-4925-4c28-9c59-b986c1a42c7e"
|
452
|
+
]
|
451
453
|
},
|
452
454
|
{
|
455
|
+
"slug": "word-count",
|
456
|
+
"uuid": "495a61a4-1bef-402e-a50c-b0d9a2abfe19",
|
453
457
|
"core": false,
|
458
|
+
"unlocked_by": null,
|
454
459
|
"difficulty": 4,
|
455
|
-
"slug": "word-count",
|
456
460
|
"topics": [
|
457
461
|
"maps",
|
458
462
|
"strings",
|
459
463
|
"transforming"
|
460
|
-
]
|
461
|
-
"unlocked_by": null,
|
462
|
-
"uuid": "495a61a4-1bef-402e-a50c-b0d9a2abfe19"
|
464
|
+
]
|
463
465
|
},
|
464
466
|
{
|
467
|
+
"slug": "allergies",
|
468
|
+
"uuid": "d9894c7f-afeb-4d34-a967-53285571fdac",
|
465
469
|
"core": false,
|
470
|
+
"unlocked_by": null,
|
466
471
|
"difficulty": 4,
|
467
|
-
"slug": "allergies",
|
468
472
|
"topics": [
|
469
473
|
"bitwise_operations",
|
470
474
|
"enumerations",
|
471
475
|
"filtering"
|
472
|
-
]
|
473
|
-
"unlocked_by": null,
|
474
|
-
"uuid": "d9894c7f-afeb-4d34-a967-53285571fdac"
|
476
|
+
]
|
475
477
|
},
|
476
478
|
{
|
479
|
+
"slug": "beer-song",
|
480
|
+
"uuid": "53f022ee-903e-4ee1-aabc-2db0a68d4b1c",
|
477
481
|
"core": false,
|
482
|
+
"unlocked_by": null,
|
478
483
|
"difficulty": 4,
|
479
|
-
"slug": "beer-song",
|
480
484
|
"topics": [
|
481
485
|
"conditionals",
|
482
486
|
"looping",
|
483
487
|
"strings"
|
484
|
-
]
|
485
|
-
"unlocked_by": null,
|
486
|
-
"uuid": "53f022ee-903e-4ee1-aabc-2db0a68d4b1c"
|
488
|
+
]
|
487
489
|
},
|
488
490
|
{
|
491
|
+
"slug": "twelve-days",
|
492
|
+
"uuid": "5671c927-5e04-4207-b947-f8e9715aa7ef",
|
489
493
|
"core": false,
|
494
|
+
"unlocked_by": null,
|
490
495
|
"difficulty": 4,
|
491
|
-
"slug": "twelve-days",
|
492
496
|
"topics": [
|
493
497
|
"algorithms",
|
494
498
|
"text_formatting"
|
495
|
-
]
|
496
|
-
"unlocked_by": null,
|
497
|
-
"uuid": "5671c927-5e04-4207-b947-f8e9715aa7ef"
|
499
|
+
]
|
498
500
|
},
|
499
501
|
{
|
502
|
+
"slug": "meetup",
|
503
|
+
"uuid": "a306e9d3-5cd0-42c7-99ed-72ad4b5eba24",
|
500
504
|
"core": false,
|
505
|
+
"unlocked_by": null,
|
501
506
|
"difficulty": 4,
|
502
|
-
"slug": "meetup",
|
503
507
|
"topics": [
|
504
508
|
"dates"
|
505
|
-
]
|
506
|
-
"unlocked_by": null,
|
507
|
-
"uuid": "a306e9d3-5cd0-42c7-99ed-72ad4b5eba24"
|
509
|
+
]
|
508
510
|
},
|
509
511
|
{
|
512
|
+
"slug": "anagram",
|
513
|
+
"uuid": "f2742e98-d6fe-4280-b4e6-ba1b2fd325f8",
|
510
514
|
"core": false,
|
515
|
+
"unlocked_by": null,
|
511
516
|
"difficulty": 4,
|
512
|
-
"slug": "anagram",
|
513
517
|
"topics": [
|
514
518
|
"filtering",
|
515
519
|
"strings"
|
516
|
-
]
|
517
|
-
"unlocked_by": null,
|
518
|
-
"uuid": "f2742e98-d6fe-4280-b4e6-ba1b2fd325f8"
|
520
|
+
]
|
519
521
|
},
|
520
522
|
{
|
523
|
+
"slug": "series",
|
524
|
+
"uuid": "452cd259-2c71-4c90-a0ff-ac39c23e1f55",
|
521
525
|
"core": false,
|
526
|
+
"unlocked_by": null,
|
522
527
|
"difficulty": 4,
|
523
|
-
"slug": "series",
|
524
528
|
"topics": [
|
525
529
|
"lists",
|
526
530
|
"strings",
|
527
531
|
"transforming"
|
528
|
-
]
|
529
|
-
"unlocked_by": null,
|
530
|
-
"uuid": "452cd259-2c71-4c90-a0ff-ac39c23e1f55"
|
532
|
+
]
|
531
533
|
},
|
532
534
|
{
|
535
|
+
"slug": "simple-linked-list",
|
536
|
+
"uuid": "6a1d09f6-9a1a-4952-8543-d6a07b8158ce",
|
533
537
|
"core": false,
|
538
|
+
"unlocked_by": null,
|
534
539
|
"difficulty": 4,
|
535
|
-
"slug": "simple-linked-list",
|
536
540
|
"topics": [
|
537
541
|
"lists"
|
538
|
-
]
|
539
|
-
"unlocked_by": null,
|
540
|
-
"uuid": "6a1d09f6-9a1a-4952-8543-d6a07b8158ce"
|
542
|
+
]
|
541
543
|
},
|
542
544
|
{
|
545
|
+
"slug": "acronym",
|
546
|
+
"uuid": "7359a818-ffa5-4ce0-be35-cc66654f9af2",
|
543
547
|
"core": false,
|
548
|
+
"unlocked_by": null,
|
544
549
|
"difficulty": 4,
|
545
|
-
"slug": "acronym",
|
546
550
|
"topics": [
|
547
551
|
"strings",
|
548
552
|
"transforming"
|
549
|
-
]
|
550
|
-
"unlocked_by": null,
|
551
|
-
"uuid": "7359a818-ffa5-4ce0-be35-cc66654f9af2"
|
553
|
+
]
|
552
554
|
},
|
553
555
|
{
|
556
|
+
"slug": "matrix",
|
557
|
+
"uuid": "84fe8e39-f7e3-4295-be9d-5256b59d800d",
|
554
558
|
"core": false,
|
559
|
+
"unlocked_by": null,
|
555
560
|
"difficulty": 4,
|
556
|
-
"slug": "matrix",
|
557
561
|
"topics": [
|
558
562
|
"matrices",
|
559
563
|
"parsing"
|
560
|
-
]
|
561
|
-
"unlocked_by": null,
|
562
|
-
"uuid": "84fe8e39-f7e3-4295-be9d-5256b59d800d"
|
564
|
+
]
|
563
565
|
},
|
564
566
|
{
|
567
|
+
"slug": "all-your-base",
|
568
|
+
"uuid": "77f7a53c-ef83-4f26-b758-5ded1010a61a",
|
565
569
|
"core": false,
|
570
|
+
"unlocked_by": null,
|
566
571
|
"difficulty": 4,
|
567
|
-
"slug": "all-your-base",
|
568
572
|
"topics": [
|
569
573
|
"integers",
|
570
574
|
"transforming"
|
571
|
-
]
|
572
|
-
"unlocked_by": null,
|
573
|
-
"uuid": "77f7a53c-ef83-4f26-b758-5ded1010a61a"
|
575
|
+
]
|
574
576
|
},
|
575
577
|
{
|
578
|
+
"slug": "largest-series-product",
|
579
|
+
"uuid": "471e5cdc-438d-4930-b830-cdd4c144740e",
|
576
580
|
"core": false,
|
581
|
+
"unlocked_by": null,
|
577
582
|
"difficulty": 4,
|
578
|
-
"slug": "largest-series-product",
|
579
583
|
"topics": [
|
580
584
|
"integers",
|
581
585
|
"strings",
|
582
586
|
"transforming"
|
583
|
-
]
|
584
|
-
"unlocked_by": null,
|
585
|
-
"uuid": "471e5cdc-438d-4930-b830-cdd4c144740e"
|
587
|
+
]
|
586
588
|
},
|
587
589
|
{
|
590
|
+
"slug": "house",
|
591
|
+
"uuid": "880a9644-13b3-4c24-9a95-24454804f804",
|
588
592
|
"core": false,
|
593
|
+
"unlocked_by": null,
|
589
594
|
"difficulty": 4,
|
590
|
-
"slug": "house",
|
591
595
|
"topics": [
|
592
596
|
"algorithms",
|
593
597
|
"text_formatting"
|
594
|
-
]
|
595
|
-
"unlocked_by": null,
|
596
|
-
"uuid": "880a9644-13b3-4c24-9a95-24454804f804"
|
598
|
+
]
|
597
599
|
},
|
598
600
|
{
|
601
|
+
"slug": "pythagorean-triplet",
|
602
|
+
"uuid": "24ed2341-31f0-494b-83d0-a9fa74d4f07b",
|
599
603
|
"core": false,
|
604
|
+
"unlocked_by": null,
|
600
605
|
"difficulty": 4,
|
601
|
-
"slug": "pythagorean-triplet",
|
602
606
|
"topics": [
|
603
607
|
"integers",
|
604
608
|
"mathematics",
|
605
609
|
"records"
|
606
|
-
]
|
607
|
-
"unlocked_by": null,
|
608
|
-
"uuid": "24ed2341-31f0-494b-83d0-a9fa74d4f07b"
|
610
|
+
]
|
609
611
|
},
|
610
612
|
{
|
613
|
+
"slug": "saddle-points",
|
614
|
+
"uuid": "402469d7-5735-46ea-8122-1faf90ae7d6e",
|
611
615
|
"core": false,
|
616
|
+
"unlocked_by": null,
|
612
617
|
"difficulty": 4,
|
613
|
-
"slug": "saddle-points",
|
614
618
|
"topics": [
|
615
619
|
"lists",
|
616
620
|
"matrices"
|
617
|
-
]
|
618
|
-
"unlocked_by": null,
|
619
|
-
"uuid": "402469d7-5735-46ea-8122-1faf90ae7d6e"
|
621
|
+
]
|
620
622
|
},
|
621
623
|
{
|
624
|
+
"slug": "pascals-triangle",
|
625
|
+
"uuid": "3b13f3f5-2d75-4dc0-8be0-e05694425fe2",
|
622
626
|
"core": false,
|
627
|
+
"unlocked_by": null,
|
623
628
|
"difficulty": 4,
|
624
|
-
"slug": "pascals-triangle",
|
625
629
|
"topics": [
|
626
630
|
"lists",
|
627
631
|
"mathematics",
|
628
632
|
"recursion"
|
629
|
-
]
|
630
|
-
"unlocked_by": null,
|
631
|
-
"uuid": "3b13f3f5-2d75-4dc0-8be0-e05694425fe2"
|
633
|
+
]
|
632
634
|
},
|
633
635
|
{
|
636
|
+
"slug": "prime-factors",
|
637
|
+
"uuid": "e651057d-a36f-4c81-a341-f12859ac37a3",
|
634
638
|
"core": false,
|
639
|
+
"unlocked_by": null,
|
635
640
|
"difficulty": 4,
|
636
|
-
"slug": "prime-factors",
|
637
641
|
"topics": [
|
638
642
|
"integers",
|
639
643
|
"mathematics"
|
640
|
-
]
|
641
|
-
"unlocked_by": null,
|
642
|
-
"uuid": "e651057d-a36f-4c81-a341-f12859ac37a3"
|
644
|
+
]
|
643
645
|
},
|
644
646
|
{
|
647
|
+
"slug": "pangram",
|
648
|
+
"uuid": "c4dc447b-80d5-45a0-983d-25edc34cc6cf",
|
645
649
|
"core": false,
|
650
|
+
"unlocked_by": null,
|
646
651
|
"difficulty": 4,
|
647
|
-
"slug": "pangram",
|
648
652
|
"topics": [
|
649
653
|
"searching",
|
650
654
|
"strings"
|
651
|
-
]
|
652
|
-
"unlocked_by": null,
|
653
|
-
"uuid": "c4dc447b-80d5-45a0-983d-25edc34cc6cf"
|
655
|
+
]
|
654
656
|
},
|
655
657
|
{
|
658
|
+
"slug": "rotational-cipher",
|
659
|
+
"uuid": "f6b157cb-ddb0-4c40-baa3-9fc6b58de7ff",
|
656
660
|
"core": false,
|
661
|
+
"unlocked_by": null,
|
657
662
|
"difficulty": 4,
|
658
|
-
"slug": "rotational-cipher",
|
659
663
|
"topics": [
|
660
664
|
"strings",
|
661
665
|
"transforming"
|
662
|
-
]
|
663
|
-
"unlocked_by": null,
|
664
|
-
"uuid": "f6b157cb-ddb0-4c40-baa3-9fc6b58de7ff"
|
666
|
+
]
|
665
667
|
},
|
666
668
|
{
|
669
|
+
"slug": "say",
|
670
|
+
"uuid": "0f840c37-a8c0-42da-93f9-d215cb044d53",
|
667
671
|
"core": false,
|
672
|
+
"unlocked_by": null,
|
668
673
|
"difficulty": 4,
|
669
|
-
"slug": "say",
|
670
674
|
"topics": [
|
671
675
|
"loops",
|
672
676
|
"parsing",
|
673
|
-
"
|
674
|
-
"
|
675
|
-
]
|
676
|
-
"unlocked_by": null,
|
677
|
-
"uuid": "0f840c37-a8c0-42da-93f9-d215cb044d53"
|
677
|
+
"text_formatting",
|
678
|
+
"transforming"
|
679
|
+
]
|
678
680
|
},
|
679
681
|
{
|
682
|
+
"slug": "roman-numerals",
|
683
|
+
"uuid": "942d0c4b-eaef-4576-b3f8-383757c53768",
|
680
684
|
"core": false,
|
685
|
+
"unlocked_by": null,
|
681
686
|
"difficulty": 5,
|
682
|
-
"slug": "roman-numerals",
|
683
687
|
"topics": [
|
684
688
|
"recursion",
|
685
689
|
"transforming"
|
686
|
-
]
|
687
|
-
"unlocked_by": null,
|
688
|
-
"uuid": "942d0c4b-eaef-4576-b3f8-383757c53768"
|
690
|
+
]
|
689
691
|
},
|
690
692
|
{
|
693
|
+
"slug": "binary-search-tree",
|
694
|
+
"uuid": "131206b1-8f1c-4906-9c31-7a077c6125be",
|
691
695
|
"core": false,
|
696
|
+
"unlocked_by": null,
|
692
697
|
"difficulty": 5,
|
693
|
-
"slug": "binary-search-tree",
|
694
698
|
"topics": [
|
695
699
|
"searching",
|
696
700
|
"trees"
|
697
|
-
]
|
698
|
-
"unlocked_by": null,
|
699
|
-
"uuid": "131206b1-8f1c-4906-9c31-7a077c6125be"
|
701
|
+
]
|
700
702
|
},
|
701
703
|
{
|
704
|
+
"slug": "ocr-numbers",
|
705
|
+
"uuid": "bbe12b06-cc63-46cd-9379-4865bf9171eb",
|
702
706
|
"core": false,
|
707
|
+
"unlocked_by": null,
|
703
708
|
"difficulty": 5,
|
704
|
-
"slug": "ocr-numbers",
|
705
709
|
"topics": [
|
706
710
|
"parsing",
|
707
711
|
"pattern_recognition"
|
708
|
-
]
|
709
|
-
"unlocked_by": null,
|
710
|
-
"uuid": "bbe12b06-cc63-46cd-9379-4865bf9171eb"
|
712
|
+
]
|
711
713
|
},
|
712
714
|
{
|
715
|
+
"slug": "linked-list",
|
716
|
+
"uuid": "ecedbfe8-b578-4af7-8e8c-470809adbc42",
|
713
717
|
"core": false,
|
718
|
+
"unlocked_by": null,
|
714
719
|
"difficulty": 5,
|
715
|
-
"slug": "linked-list",
|
716
720
|
"topics": [
|
717
721
|
"lists"
|
718
|
-
]
|
719
|
-
"unlocked_by": null,
|
720
|
-
"uuid": "ecedbfe8-b578-4af7-8e8c-470809adbc42"
|
722
|
+
]
|
721
723
|
},
|
722
724
|
{
|
725
|
+
"slug": "simple-cipher",
|
726
|
+
"uuid": "414351cd-580a-4608-b9ce-9003f3cdb242",
|
723
727
|
"core": false,
|
728
|
+
"unlocked_by": null,
|
724
729
|
"difficulty": 5,
|
725
|
-
"slug": "simple-cipher",
|
726
730
|
"topics": [
|
727
731
|
"algorithms",
|
728
732
|
"strings",
|
729
733
|
"transforming"
|
730
|
-
]
|
731
|
-
"unlocked_by": null,
|
732
|
-
"uuid": "414351cd-580a-4608-b9ce-9003f3cdb242"
|
734
|
+
]
|
733
735
|
},
|
734
736
|
{
|
737
|
+
"slug": "atbash-cipher",
|
738
|
+
"uuid": "c5adab05-2b19-4544-8abd-159af71196f5",
|
735
739
|
"core": false,
|
740
|
+
"unlocked_by": null,
|
736
741
|
"difficulty": 5,
|
737
|
-
"slug": "atbash-cipher",
|
738
742
|
"topics": [
|
739
743
|
"algorithms",
|
740
744
|
"strings",
|
741
745
|
"transforming"
|
742
|
-
]
|
743
|
-
"unlocked_by": null,
|
744
|
-
"uuid": "c5adab05-2b19-4544-8abd-159af71196f5"
|
746
|
+
]
|
745
747
|
},
|
746
748
|
{
|
749
|
+
"slug": "food-chain",
|
750
|
+
"uuid": "49f50818-3574-450e-9d57-6b23e62db5f8",
|
747
751
|
"core": false,
|
752
|
+
"unlocked_by": null,
|
748
753
|
"difficulty": 5,
|
749
|
-
"slug": "food-chain",
|
750
754
|
"topics": [
|
751
755
|
"algorithms",
|
752
756
|
"text_formatting"
|
753
|
-
]
|
754
|
-
"unlocked_by": null,
|
755
|
-
"uuid": "49f50818-3574-450e-9d57-6b23e62db5f8"
|
757
|
+
]
|
756
758
|
},
|
757
759
|
{
|
760
|
+
"slug": "custom-set",
|
761
|
+
"uuid": "93731f15-38da-4e28-bfa0-6a3006a4f2c6",
|
758
762
|
"core": false,
|
763
|
+
"unlocked_by": null,
|
759
764
|
"difficulty": 5,
|
760
|
-
"slug": "custom-set",
|
761
765
|
"topics": [
|
762
766
|
"sets"
|
763
|
-
]
|
764
|
-
"unlocked_by": null,
|
765
|
-
"uuid": "93731f15-38da-4e28-bfa0-6a3006a4f2c6"
|
767
|
+
]
|
766
768
|
},
|
767
769
|
{
|
770
|
+
"slug": "crypto-square",
|
771
|
+
"uuid": "68f60053-41dc-4376-a0e2-bcb3b736aab3",
|
768
772
|
"core": false,
|
773
|
+
"unlocked_by": null,
|
769
774
|
"difficulty": 5,
|
770
|
-
"slug": "crypto-square",
|
771
775
|
"topics": [
|
772
776
|
"algorithms",
|
773
777
|
"strings",
|
774
778
|
"transforming"
|
775
|
-
]
|
776
|
-
"unlocked_by": null,
|
777
|
-
"uuid": "68f60053-41dc-4376-a0e2-bcb3b736aab3"
|
779
|
+
]
|
778
780
|
},
|
779
781
|
{
|
782
|
+
"slug": "luhn",
|
783
|
+
"uuid": "a7e26cf2-45b9-4b41-8143-a2b8e2104dec",
|
780
784
|
"core": false,
|
785
|
+
"unlocked_by": null,
|
781
786
|
"difficulty": 5,
|
782
|
-
"slug": "luhn",
|
783
787
|
"topics": [
|
784
788
|
"algorithms",
|
785
789
|
"strings",
|
786
790
|
"transforming"
|
787
|
-
]
|
788
|
-
"unlocked_by": null,
|
789
|
-
"uuid": "a7e26cf2-45b9-4b41-8143-a2b8e2104dec"
|
791
|
+
]
|
790
792
|
},
|
791
793
|
{
|
794
|
+
"slug": "run-length-encoding",
|
795
|
+
"uuid": "0718397c-b823-4b38-9892-69b667cf895f",
|
792
796
|
"core": false,
|
797
|
+
"unlocked_by": null,
|
793
798
|
"difficulty": 5,
|
794
|
-
"slug": "run-length-encoding",
|
795
799
|
"topics": [
|
796
800
|
"algorithms",
|
797
801
|
"transforming"
|
798
|
-
]
|
799
|
-
"unlocked_by": null,
|
800
|
-
"uuid": "0718397c-b823-4b38-9892-69b667cf895f"
|
802
|
+
]
|
801
803
|
},
|
802
804
|
{
|
805
|
+
"slug": "tournament",
|
806
|
+
"uuid": "3a699a07-f0ab-4db2-bb0e-99aa968f1ad8",
|
803
807
|
"core": false,
|
808
|
+
"unlocked_by": null,
|
804
809
|
"difficulty": 6,
|
805
|
-
"slug": "tournament",
|
806
810
|
"topics": [
|
807
811
|
"parsing",
|
808
812
|
"text_formatting"
|
809
|
-
]
|
810
|
-
"unlocked_by": null,
|
811
|
-
"uuid": "3a699a07-f0ab-4db2-bb0e-99aa968f1ad8"
|
813
|
+
]
|
812
814
|
},
|
813
815
|
{
|
816
|
+
"slug": "bowling",
|
817
|
+
"uuid": "beb0c7dd-69aa-4e9b-a0df-f1d507221b21",
|
814
818
|
"core": false,
|
819
|
+
"unlocked_by": null,
|
815
820
|
"difficulty": 6,
|
816
|
-
"slug": "bowling",
|
817
821
|
"topics": [
|
818
822
|
"algorithms"
|
819
|
-
]
|
820
|
-
"unlocked_by": null,
|
821
|
-
"uuid": "beb0c7dd-69aa-4e9b-a0df-f1d507221b21"
|
823
|
+
]
|
822
824
|
},
|
823
825
|
{
|
826
|
+
"slug": "nth-prime",
|
827
|
+
"uuid": "031f1ab5-5233-4d9b-8f55-0a662014a05c",
|
824
828
|
"core": false,
|
829
|
+
"unlocked_by": null,
|
825
830
|
"difficulty": 6,
|
826
|
-
"slug": "nth-prime",
|
827
831
|
"topics": [
|
828
832
|
"mathematics"
|
829
|
-
]
|
830
|
-
"unlocked_by": null,
|
831
|
-
"uuid": "031f1ab5-5233-4d9b-8f55-0a662014a05c"
|
833
|
+
]
|
832
834
|
},
|
833
835
|
{
|
836
|
+
"slug": "palindrome-products",
|
837
|
+
"uuid": "b96cace1-8666-4607-91e7-0203b4f7434f",
|
834
838
|
"core": false,
|
839
|
+
"unlocked_by": null,
|
835
840
|
"difficulty": 6,
|
836
|
-
"slug": "palindrome-products",
|
837
841
|
"topics": [
|
838
842
|
"algorithms",
|
839
843
|
"strings",
|
840
844
|
"tuples"
|
841
|
-
]
|
842
|
-
"unlocked_by": null,
|
843
|
-
"uuid": "b96cace1-8666-4607-91e7-0203b4f7434f"
|
845
|
+
]
|
844
846
|
},
|
845
847
|
{
|
848
|
+
"slug": "pig-latin",
|
849
|
+
"uuid": "5a9f6db4-7bee-4dda-a1ef-1d0bd1dad24e",
|
846
850
|
"core": false,
|
851
|
+
"unlocked_by": null,
|
847
852
|
"difficulty": 6,
|
848
|
-
"slug": "pig-latin",
|
849
853
|
"topics": [
|
850
854
|
"strings",
|
851
855
|
"transforming"
|
852
|
-
]
|
853
|
-
"unlocked_by": null,
|
854
|
-
"uuid": "5a9f6db4-7bee-4dda-a1ef-1d0bd1dad24e"
|
856
|
+
]
|
855
857
|
},
|
856
858
|
{
|
859
|
+
"slug": "transpose",
|
860
|
+
"uuid": "a7074b04-3ac5-4437-817e-2dc31d9d8ae0",
|
857
861
|
"core": false,
|
862
|
+
"unlocked_by": null,
|
858
863
|
"difficulty": 6,
|
859
|
-
"slug": "transpose",
|
860
864
|
"topics": [
|
861
865
|
"strings",
|
862
866
|
"transforming"
|
863
|
-
]
|
864
|
-
"unlocked_by": null,
|
865
|
-
"uuid": "a7074b04-3ac5-4437-817e-2dc31d9d8ae0"
|
867
|
+
]
|
866
868
|
},
|
867
869
|
{
|
870
|
+
"slug": "complex-numbers",
|
871
|
+
"uuid": "5a918ed8-e840-46b8-b824-291d872d2224",
|
868
872
|
"core": false,
|
873
|
+
"unlocked_by": null,
|
869
874
|
"difficulty": 6,
|
870
|
-
"slug": "complex-numbers",
|
871
875
|
"topics": [
|
872
876
|
"mathematics",
|
873
877
|
"tuples"
|
874
|
-
]
|
875
|
-
"unlocked_by": null,
|
876
|
-
"uuid": "5a918ed8-e840-46b8-b824-291d872d2224"
|
878
|
+
]
|
877
879
|
},
|
878
880
|
{
|
881
|
+
"slug": "bracket-push",
|
882
|
+
"uuid": "b3924cce-02f7-4962-85a5-e67d8b1ac1fa",
|
879
883
|
"core": false,
|
884
|
+
"unlocked_by": null,
|
880
885
|
"difficulty": 7,
|
881
|
-
"slug": "bracket-push",
|
882
886
|
"topics": [
|
883
887
|
"parsing",
|
884
888
|
"strings"
|
885
|
-
]
|
886
|
-
"unlocked_by": null,
|
887
|
-
"uuid": "b3924cce-02f7-4962-85a5-e67d8b1ac1fa"
|
889
|
+
]
|
888
890
|
},
|
889
891
|
{
|
892
|
+
"slug": "minesweeper",
|
893
|
+
"uuid": "ca6d49c7-e850-4e81-9540-582a1353f604",
|
890
894
|
"core": false,
|
895
|
+
"unlocked_by": null,
|
891
896
|
"difficulty": 7,
|
892
|
-
"slug": "minesweeper",
|
893
897
|
"topics": [
|
894
898
|
"parsing",
|
895
899
|
"transforming"
|
896
|
-
]
|
897
|
-
"unlocked_by": null,
|
898
|
-
"uuid": "ca6d49c7-e850-4e81-9540-582a1353f604"
|
900
|
+
]
|
899
901
|
},
|
900
902
|
{
|
903
|
+
"slug": "dominoes",
|
904
|
+
"uuid": "68d71c7f-5259-4030-821f-8449a142b677",
|
901
905
|
"core": false,
|
906
|
+
"unlocked_by": null,
|
902
907
|
"difficulty": 7,
|
903
|
-
"slug": "dominoes",
|
904
908
|
"topics": [
|
905
909
|
"lists",
|
906
910
|
"tuples"
|
907
|
-
]
|
908
|
-
"unlocked_by": null,
|
909
|
-
"uuid": "68d71c7f-5259-4030-821f-8449a142b677"
|
911
|
+
]
|
910
912
|
},
|
911
913
|
{
|
914
|
+
"slug": "wordy",
|
915
|
+
"uuid": "04b9825b-0ae2-4ee4-a444-12573f5d5c66",
|
912
916
|
"core": false,
|
917
|
+
"unlocked_by": null,
|
913
918
|
"difficulty": 7,
|
914
|
-
"slug": "wordy",
|
915
919
|
"topics": [
|
916
920
|
"parsing",
|
917
921
|
"strings",
|
918
922
|
"transforming"
|
919
|
-
]
|
920
|
-
"unlocked_by": null,
|
921
|
-
"uuid": "04b9825b-0ae2-4ee4-a444-12573f5d5c66"
|
923
|
+
]
|
922
924
|
},
|
923
925
|
{
|
926
|
+
"slug": "poker",
|
927
|
+
"uuid": "ffd130c2-f816-474c-a989-dc5814e31ea6",
|
924
928
|
"core": false,
|
929
|
+
"unlocked_by": null,
|
925
930
|
"difficulty": 8,
|
926
|
-
"slug": "poker",
|
927
931
|
"topics": [
|
928
932
|
"discriminated_unions",
|
929
933
|
"games",
|
930
934
|
"parsing",
|
931
935
|
"sorting"
|
932
|
-
]
|
933
|
-
"unlocked_by": null,
|
934
|
-
"uuid": "ffd130c2-f816-474c-a989-dc5814e31ea6"
|
936
|
+
]
|
935
937
|
},
|
936
938
|
{
|
937
|
-
"deprecated": true,
|
938
939
|
"slug": "binary",
|
939
|
-
"uuid": "0930d019-2ccb-48f9-9ee7-467b683d9901"
|
940
|
+
"uuid": "0930d019-2ccb-48f9-9ee7-467b683d9901",
|
941
|
+
"core": false,
|
942
|
+
"unlocked_by": null,
|
943
|
+
"difficulty": 0,
|
944
|
+
"topics": null,
|
945
|
+
"deprecated": true
|
940
946
|
},
|
941
947
|
{
|
942
|
-
"deprecated": true,
|
943
948
|
"slug": "trinary",
|
944
|
-
"uuid": "8b376ef9-ad94-4623-8d0f-e2d7bb6c364a"
|
949
|
+
"uuid": "8b376ef9-ad94-4623-8d0f-e2d7bb6c364a",
|
950
|
+
"core": false,
|
951
|
+
"unlocked_by": null,
|
952
|
+
"difficulty": 0,
|
953
|
+
"topics": null,
|
954
|
+
"deprecated": true
|
945
955
|
},
|
946
956
|
{
|
947
|
-
"deprecated": true,
|
948
957
|
"slug": "octal",
|
949
|
-
"uuid": "128bcbc1-18b3-45e7-9590-c71d8f57c5c1"
|
958
|
+
"uuid": "128bcbc1-18b3-45e7-9590-c71d8f57c5c1",
|
959
|
+
"core": false,
|
960
|
+
"unlocked_by": null,
|
961
|
+
"difficulty": 0,
|
962
|
+
"topics": null,
|
963
|
+
"deprecated": true
|
950
964
|
},
|
951
965
|
{
|
952
|
-
"deprecated": true,
|
953
966
|
"slug": "hexadecimal",
|
954
|
-
"uuid": "3a9f0e4d-a569-40ea-adb8-ded8d240c949"
|
967
|
+
"uuid": "3a9f0e4d-a569-40ea-adb8-ded8d240c949",
|
968
|
+
"core": false,
|
969
|
+
"unlocked_by": null,
|
970
|
+
"difficulty": 0,
|
971
|
+
"topics": null,
|
972
|
+
"deprecated": true
|
955
973
|
}
|
956
|
-
]
|
957
|
-
"foregone": [],
|
958
|
-
"language": "Swift"
|
974
|
+
]
|
959
975
|
}
|