trackler 2.2.1.74 → 2.2.1.75
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/fixtures/tracks/fruit/docs/something.md +0 -0
- data/lib/trackler/version.rb +1 -1
- data/problem-specifications/README.md +8 -4
- data/problem-specifications/exercises/acronym/canonical-data.json +19 -7
- data/problem-specifications/exercises/all-your-base/canonical-data.json +106 -64
- data/problem-specifications/exercises/allergies/canonical-data.json +37 -13
- data/tracks/c/config.json +176 -176
- data/tracks/clojure/config.json +17 -1
- data/tracks/clojure/exercises/isbn-verifier/README.md +43 -0
- data/tracks/clojure/exercises/isbn-verifier/project.clj +4 -0
- data/tracks/clojure/exercises/isbn-verifier/src/example.clj +17 -0
- data/tracks/clojure/exercises/isbn-verifier/src/isbn_verifier.clj +3 -0
- data/tracks/clojure/exercises/isbn-verifier/test/isbn_verifier_test.clj +42 -0
- data/tracks/clojure/exercises/proverb/README.md +15 -0
- data/tracks/clojure/exercises/proverb/project.clj +4 -0
- data/tracks/clojure/exercises/proverb/src/example.clj +15 -0
- data/tracks/clojure/exercises/proverb/src/proverb.clj +3 -0
- data/tracks/clojure/exercises/proverb/test/proverb_test.clj +14 -0
- data/tracks/common-lisp/docs/LEARNING.md +4 -3
- data/tracks/common-lisp/docs/RESOURCES.md +11 -0
- data/tracks/delphi/.gitignore +1 -0
- data/tracks/delphi/config.json +24 -0
- data/tracks/delphi/docs/INSTALLATION.md +1 -1
- data/tracks/delphi/exercises/isbn-verifier/ISBNVerifier.dpr +60 -0
- data/tracks/delphi/exercises/isbn-verifier/README.md +68 -0
- data/tracks/delphi/exercises/isbn-verifier/uISBNVerifierExample.pas +46 -0
- data/tracks/delphi/exercises/isbn-verifier/uTestISBNVerifier.pas +136 -0
- data/tracks/delphi/exercises/secret-handshake/README.md +56 -0
- data/tracks/delphi/exercises/secret-handshake/SecretHandshake.dpr +60 -0
- data/tracks/delphi/exercises/secret-handshake/uSecretHandshakeExample.pas +56 -0
- data/tracks/delphi/exercises/secret-handshake/uTestSecretHandshake.pas +215 -0
- data/tracks/ecmascript/docs/ABOUT.md +13 -9
- data/tracks/factor/exercises/two-fer/README.md +1 -1
- data/tracks/fsharp/docs/RESOURCES.md +1 -1
- data/tracks/fsharp/generators/{Input.fs → CanonicalData.fs} +5 -10
- data/tracks/fsharp/generators/Exercise.fs +11 -10
- data/tracks/fsharp/generators/{Output.fs → Formatting.fs} +2 -56
- data/tracks/fsharp/generators/Generators.fs +93 -93
- data/tracks/fsharp/generators/Generators.fsproj +9 -4
- data/tracks/fsharp/generators/Options.fs +1 -1
- data/tracks/fsharp/generators/Program.fs +3 -3
- data/tracks/fsharp/generators/Rendering.fs +57 -0
- data/tracks/go/exercises/all-your-base/.meta/gen.go +80 -0
- data/tracks/go/exercises/all-your-base/.meta/hints.md +13 -0
- data/tracks/go/exercises/all-your-base/README.md +16 -1
- data/tracks/go/exercises/all-your-base/all_your_base_test.go +12 -163
- data/tracks/go/exercises/all-your-base/cases_test.go +183 -0
- data/tracks/go/exercises/all-your-base/example.go +25 -29
- data/tracks/java/CONTRIBUTING.md +1 -1
- data/tracks/java/POLICIES.md +15 -1
- data/tracks/java/exercises/flatten-array/.meta/hints.md +58 -0
- data/tracks/java/exercises/flatten-array/README.md +62 -0
- data/tracks/java/exercises/hamming/src/main/java/Hamming.java +1 -1
- data/tracks/java/exercises/matrix/.meta/src/reference/java/Matrix.java +6 -6
- data/tracks/java/exercises/meetup/.meta/src/reference/java/Meetup.java +2 -2
- data/tracks/java/exercises/meetup/.meta/src/reference/java/MeetupSchedule.java +1 -1
- data/tracks/java/exercises/meetup/src/main/java/MeetupSchedule.java +1 -1
- data/tracks/java/exercises/pig-latin/.meta/hints.md +58 -0
- data/tracks/java/exercises/pig-latin/README.md +61 -0
- data/tracks/java/exercises/reverse-string/src/main/java/ReverseString.java +2 -2
- data/tracks/java/exercises/secret-handshake/README.md +1 -1
- data/tracks/javascript/.eslintignore +0 -3
- data/tracks/javascript/exercises/food-chain/example.js +50 -37
- data/tracks/javascript/exercises/octal/example.js +1 -1
- data/tracks/javascript/exercises/robot-name/robot-name.spec.js +7 -7
- data/tracks/javascript/package-lock.json +1846 -0
- data/tracks/python/docs/EXERCISE_README_INSERT.md +15 -0
- data/tracks/python/exercises/accumulate/README.md +15 -0
- data/tracks/python/exercises/acronym/README.md +15 -0
- data/tracks/python/exercises/all-your-base/README.md +15 -0
- data/tracks/python/exercises/all-your-base/all_your_base_test.py +19 -9
- data/tracks/python/exercises/allergies/README.md +15 -0
- data/tracks/python/exercises/alphametics/README.md +15 -0
- data/tracks/python/exercises/anagram/README.md +15 -0
- data/tracks/python/exercises/atbash-cipher/README.md +15 -0
- data/tracks/python/exercises/beer-song/README.md +16 -1
- data/tracks/python/exercises/binary-search-tree/README.md +16 -2
- data/tracks/python/exercises/binary-search/README.md +15 -0
- data/tracks/python/exercises/binary-search/binary_search_test.py +14 -4
- data/tracks/python/exercises/binary/README.md +15 -0
- data/tracks/python/exercises/binary/binary_test.py +14 -4
- data/tracks/python/exercises/bob/README.md +15 -0
- data/tracks/python/exercises/book-store/README.md +15 -0
- data/tracks/python/exercises/bracket-push/README.md +15 -0
- data/tracks/python/exercises/change/README.md +15 -0
- data/tracks/python/exercises/circular-buffer/README.md +15 -0
- data/tracks/python/exercises/circular-buffer/circular_buffer_test.py +15 -5
- data/tracks/python/exercises/circular-buffer/example.py +2 -2
- data/tracks/python/exercises/clock/README.md +15 -0
- data/tracks/python/exercises/collatz-conjecture/.meta/hints.md +1 -1
- data/tracks/python/exercises/collatz-conjecture/README.md +15 -0
- data/tracks/python/exercises/complex-numbers/README.md +15 -0
- data/tracks/python/exercises/connect/README.md +18 -3
- data/tracks/python/exercises/crypto-square/README.md +15 -0
- data/tracks/python/exercises/diamond/README.md +15 -0
- data/tracks/python/exercises/difference-of-squares/README.md +15 -0
- data/tracks/python/exercises/diffie-hellman/README.md +14 -0
- data/tracks/python/exercises/dominoes/README.md +16 -1
- data/tracks/python/exercises/error-handling/README.md +17 -0
- data/tracks/python/exercises/error-handling/error_handling_test.py +13 -3
- data/tracks/python/exercises/error-handling/example.py +1 -1
- data/tracks/python/exercises/etl/README.md +16 -1
- data/tracks/python/exercises/flatten-array/README.md +15 -0
- data/tracks/python/exercises/food-chain/README.md +15 -0
- data/tracks/python/exercises/forth/README.md +15 -0
- data/tracks/python/exercises/forth/example.py +7 -9
- data/tracks/python/exercises/forth/forth_test.py +107 -17
- data/tracks/python/exercises/gigasecond/README.md +15 -0
- data/tracks/python/exercises/go-counting/README.md +21 -3
- data/tracks/python/exercises/grade-school/README.md +15 -0
- data/tracks/python/exercises/grains/README.md +15 -0
- data/tracks/python/exercises/grains/grains_test.py +16 -6
- data/tracks/python/exercises/grep/README.md +15 -0
- data/tracks/python/exercises/hamming/README.md +15 -0
- data/tracks/python/exercises/hamming/hamming_test.py +12 -2
- data/tracks/python/exercises/hello-world/README.md +15 -0
- data/tracks/python/exercises/hexadecimal/README.md +15 -0
- data/tracks/python/exercises/hexadecimal/hexadecimal_test.py +11 -1
- data/tracks/python/exercises/house/README.md +16 -1
- data/tracks/python/exercises/isogram/README.md +15 -0
- data/tracks/python/exercises/kindergarten-garden/README.md +18 -3
- data/tracks/python/exercises/largest-series-product/README.md +15 -0
- data/tracks/python/exercises/largest-series-product/largest_series_product_test.py +14 -4
- data/tracks/python/exercises/leap/README.md +15 -0
- data/tracks/python/exercises/linked-list/README.md +15 -0
- data/tracks/python/exercises/list-ops/README.md +15 -0
- data/tracks/python/exercises/luhn/README.md +15 -0
- data/tracks/python/exercises/markdown/README.md +18 -0
- data/tracks/python/exercises/matrix/README.md +15 -0
- data/tracks/python/exercises/meetup/README.md +31 -12
- data/tracks/python/exercises/meetup/meetup_test.py +11 -1
- data/tracks/python/exercises/minesweeper/README.md +15 -0
- data/tracks/python/exercises/minesweeper/minesweeper_test.py +12 -2
- data/tracks/python/exercises/nth-prime/README.md +15 -0
- data/tracks/python/exercises/nth-prime/nth_prime_test.py +11 -1
- data/tracks/python/exercises/nucleotide-count/README.md +17 -2
- data/tracks/python/exercises/nucleotide-count/nucleotide_count_test.py +11 -1
- data/tracks/python/exercises/ocr-numbers/README.md +16 -1
- data/tracks/python/exercises/ocr-numbers/ocr_numbers_test.py +12 -2
- data/tracks/python/exercises/octal/README.md +15 -0
- data/tracks/python/exercises/octal/octal_test.py +16 -3
- data/tracks/python/exercises/palindrome-products/README.md +16 -1
- data/tracks/python/exercises/pangram/README.md +15 -0
- data/tracks/python/exercises/pascals-triangle/README.md +16 -1
- data/tracks/python/exercises/perfect-numbers/README.md +15 -0
- data/tracks/python/exercises/perfect-numbers/perfect_numbers_test.py +13 -3
- data/tracks/python/exercises/phone-number/README.md +16 -2
- data/tracks/python/exercises/phone-number/example.py +1 -1
- data/tracks/python/exercises/phone-number/phone_number_test.py +17 -7
- data/tracks/python/exercises/pig-latin/README.md +15 -0
- data/tracks/python/exercises/point-mutations/README.md +15 -0
- data/tracks/python/exercises/poker/README.md +15 -0
- data/tracks/python/exercises/pov/README.md +20 -2
- data/tracks/python/exercises/pov/example.py +2 -2
- data/tracks/python/exercises/pov/pov_test.py +15 -5
- data/tracks/python/exercises/prime-factors/README.md +15 -0
- data/tracks/python/exercises/protein-translation/README.md +15 -0
- data/tracks/python/exercises/protein-translation/protein_translation_test.py +10 -0
- data/tracks/python/exercises/proverb/README.md +14 -0
- data/tracks/python/exercises/pythagorean-triplet/README.md +15 -0
- data/tracks/python/exercises/pythagorean-triplet/pythagorean_triplet_test.py +11 -1
- data/tracks/python/exercises/queen-attack/README.md +15 -0
- data/tracks/python/exercises/queen-attack/queen_attack_test.py +17 -7
- data/tracks/python/exercises/rail-fence-cipher/README.md +15 -0
- data/tracks/python/exercises/raindrops/README.md +15 -0
- data/tracks/python/exercises/react/README.md +15 -1
- data/tracks/python/exercises/rectangles/README.md +24 -9
- data/tracks/python/exercises/rna-transcription/.meta/hints.md +1 -0
- data/tracks/python/exercises/rna-transcription/README.md +18 -5
- data/tracks/python/exercises/rna-transcription/rna_transcription_test.py +13 -3
- data/tracks/python/exercises/robot-name/README.md +15 -0
- data/tracks/python/exercises/robot-simulator/README.md +15 -0
- data/tracks/python/exercises/roman-numerals/README.md +15 -0
- data/tracks/python/exercises/rotational-cipher/README.md +15 -0
- data/tracks/python/exercises/run-length-encoding/README.md +15 -0
- data/tracks/python/exercises/saddle-points/README.md +15 -0
- data/tracks/python/exercises/saddle-points/saddle_points_test.py +11 -1
- data/tracks/python/exercises/say/README.md +15 -0
- data/tracks/python/exercises/say/say_test.py +12 -2
- data/tracks/python/exercises/scale-generator/README.md +15 -0
- data/tracks/python/exercises/scale-generator/example.py +3 -3
- data/tracks/python/exercises/scale-generator/scale_generator_test.py +11 -1
- data/tracks/python/exercises/scrabble-score/README.md +15 -0
- data/tracks/python/exercises/secret-handshake/README.md +16 -1
- data/tracks/python/exercises/series/README.md +15 -0
- data/tracks/python/exercises/series/series_test.py +12 -2
- data/tracks/python/exercises/sieve/README.md +15 -0
- data/tracks/python/exercises/simple-cipher/.meta/hints.md +6 -6
- data/tracks/python/exercises/simple-cipher/README.md +17 -1
- data/tracks/python/exercises/simple-cipher/simple_cipher_test.py +12 -2
- data/tracks/python/exercises/simple-linked-list/{hints.md → .meta/hints.md} +10 -10
- data/tracks/python/exercises/simple-linked-list/README.md +16 -0
- data/tracks/python/exercises/simple-linked-list/example.py +2 -2
- data/tracks/python/exercises/simple-linked-list/simple_linked_list_test.py +13 -3
- data/tracks/python/exercises/space-age/README.md +15 -0
- data/tracks/python/exercises/strain/README.md +16 -3
- data/tracks/python/exercises/sublist/README.md +15 -0
- data/tracks/python/exercises/sum-of-multiples/README.md +18 -3
- data/tracks/python/exercises/tournament/README.md +15 -0
- data/tracks/python/exercises/transpose/README.md +15 -0
- data/tracks/python/exercises/tree-building/README.md +30 -0
- data/tracks/python/exercises/tree-building/example.py +3 -5
- data/tracks/python/exercises/tree-building/tree_building_test.py +16 -6
- data/tracks/python/exercises/triangle/README.md +15 -0
- data/tracks/python/exercises/triangle/example.py +1 -1
- data/tracks/python/exercises/triangle/triangle_test.py +15 -5
- data/tracks/python/exercises/trinary/README.md +15 -0
- data/tracks/python/exercises/twelve-days/README.md +15 -0
- data/tracks/python/exercises/two-bucket/README.md +22 -7
- data/tracks/python/exercises/two-fer/README.md +16 -0
- data/tracks/python/exercises/variable-length-quantity/README.md +15 -0
- data/tracks/python/exercises/variable-length-quantity/variable_length_quantity_test.py +12 -2
- data/tracks/python/exercises/word-count/README.md +15 -0
- data/tracks/python/exercises/word-search/README.md +15 -0
- data/tracks/python/exercises/wordy/README.md +15 -0
- data/tracks/python/exercises/wordy/wordy_test.py +14 -4
- data/tracks/python/exercises/zebra-puzzle/README.md +15 -0
- data/tracks/python/exercises/zipper/README.md +16 -3
- data/tracks/rust/config.json +11 -0
- data/tracks/rust/exercises/saddle-points/.gitignore +8 -0
- data/tracks/rust/exercises/saddle-points/Cargo.toml +5 -0
- data/tracks/rust/exercises/saddle-points/README.md +66 -0
- data/tracks/rust/exercises/saddle-points/example.rs +24 -0
- data/tracks/rust/exercises/saddle-points/src/lib.rs +3 -0
- data/tracks/rust/exercises/saddle-points/tests/saddle-points.rs +60 -0
- metadata +38 -5
data/tracks/c/config.json
CHANGED
@@ -27,13 +27,39 @@
|
|
27
27
|
{
|
28
28
|
"core": false,
|
29
29
|
"difficulty": 1,
|
30
|
-
"slug": "
|
30
|
+
"slug": "acronym",
|
31
|
+
"topics": [
|
32
|
+
"control_flow_loops",
|
33
|
+
"memory_management",
|
34
|
+
"strings"
|
35
|
+
],
|
36
|
+
"unlocked_by": "isogram",
|
37
|
+
"uuid": "1a8ba121-d2c4-4994-8c6b-610d8987346d"
|
38
|
+
},
|
39
|
+
{
|
40
|
+
"core": false,
|
41
|
+
"difficulty": 3,
|
42
|
+
"slug": "word-count",
|
43
|
+
"topics": [
|
44
|
+
"filtering",
|
45
|
+
"memory_management",
|
46
|
+
"strings",
|
47
|
+
"structs"
|
48
|
+
],
|
49
|
+
"unlocked_by": "isogram",
|
50
|
+
"uuid": "1e4f4fcf-c32d-459f-8920-15ac56008666"
|
51
|
+
},
|
52
|
+
{
|
53
|
+
"core": false,
|
54
|
+
"difficulty": 3,
|
55
|
+
"slug": "pangram",
|
31
56
|
"topics": [
|
32
57
|
"control_flow_if_else_statements",
|
33
|
-
"
|
58
|
+
"control_flow_loops",
|
59
|
+
"strings"
|
34
60
|
],
|
35
|
-
"unlocked_by":
|
36
|
-
"uuid": "
|
61
|
+
"unlocked_by": "isogram",
|
62
|
+
"uuid": "6311b9f8-b438-4186-88b2-1e4f55275ccb"
|
37
63
|
},
|
38
64
|
{
|
39
65
|
"core": true,
|
@@ -44,6 +70,30 @@
|
|
44
70
|
],
|
45
71
|
"uuid": "000340f6-e30d-4d49-a255-016237d6fe60"
|
46
72
|
},
|
73
|
+
{
|
74
|
+
"core": false,
|
75
|
+
"difficulty": 1,
|
76
|
+
"slug": "space-age",
|
77
|
+
"topics": [
|
78
|
+
"functions"
|
79
|
+
],
|
80
|
+
"unlocked_by": "gigasecond",
|
81
|
+
"uuid": "fc03c7de-b0c6-4806-90bb-e9dda846e660"
|
82
|
+
},
|
83
|
+
{
|
84
|
+
"core": false,
|
85
|
+
"difficulty": 4,
|
86
|
+
"slug": "meetup",
|
87
|
+
"topics": [
|
88
|
+
"control_flow_if_statements",
|
89
|
+
"preprocessor_x_macros_in_test",
|
90
|
+
"strings",
|
91
|
+
"structs",
|
92
|
+
"time_functions"
|
93
|
+
],
|
94
|
+
"unlocked_by": "gigasecond",
|
95
|
+
"uuid": "a7baa53f-e828-457e-a456-ba3471494d80"
|
96
|
+
},
|
47
97
|
{
|
48
98
|
"core": true,
|
49
99
|
"difficulty": 2,
|
@@ -58,36 +108,27 @@
|
|
58
108
|
{
|
59
109
|
"core": false,
|
60
110
|
"difficulty": 2,
|
61
|
-
"slug": "
|
62
|
-
"topics": [
|
63
|
-
"control_flow_if_else_statements",
|
64
|
-
"strings"
|
65
|
-
],
|
66
|
-
"unlocked_by": null,
|
67
|
-
"uuid": "93acdd0d-9bd1-4dec-a572-fd12d0c66187"
|
68
|
-
},
|
69
|
-
{
|
70
|
-
"core": false,
|
71
|
-
"difficulty": 5,
|
72
|
-
"slug": "bob",
|
111
|
+
"slug": "rna-transcription",
|
73
112
|
"topics": [
|
74
|
-
"
|
113
|
+
"control_flow_case_statements",
|
114
|
+
"control_flow_loops",
|
75
115
|
"strings"
|
76
116
|
],
|
77
|
-
"unlocked_by": "
|
78
|
-
"uuid": "
|
117
|
+
"unlocked_by": "hamming",
|
118
|
+
"uuid": "d12fea98-bf4e-476d-a91c-799fc98a1690"
|
79
119
|
},
|
80
120
|
{
|
81
121
|
"core": false,
|
82
|
-
"difficulty":
|
83
|
-
"slug": "
|
122
|
+
"difficulty": 2,
|
123
|
+
"slug": "nucleotide-count",
|
84
124
|
"topics": [
|
85
|
-
"
|
125
|
+
"control_flow_loops_switch_if_statements",
|
86
126
|
"memory_management",
|
87
|
-
"strings"
|
127
|
+
"strings",
|
128
|
+
"text_formatting"
|
88
129
|
],
|
89
|
-
"unlocked_by": "
|
90
|
-
"uuid": "
|
130
|
+
"unlocked_by": "hamming",
|
131
|
+
"uuid": "38669990-e1e6-4486-a603-575a135d1f5c"
|
91
132
|
},
|
92
133
|
{
|
93
134
|
"core": true,
|
@@ -102,74 +143,47 @@
|
|
102
143
|
},
|
103
144
|
{
|
104
145
|
"core": false,
|
105
|
-
"difficulty":
|
106
|
-
"slug": "
|
146
|
+
"difficulty": 1,
|
147
|
+
"slug": "leap",
|
107
148
|
"topics": [
|
108
|
-
"
|
109
|
-
"
|
110
|
-
"strings"
|
149
|
+
"control_flow_if_else_statements",
|
150
|
+
"logic"
|
111
151
|
],
|
112
|
-
"unlocked_by": "
|
113
|
-
"uuid": "
|
152
|
+
"unlocked_by": "grains",
|
153
|
+
"uuid": "9b047dda-b85e-4378-9487-9f9cce086e4f"
|
114
154
|
},
|
115
155
|
{
|
116
|
-
"core":
|
117
|
-
"difficulty":
|
118
|
-
"slug": "
|
156
|
+
"core": true,
|
157
|
+
"difficulty": 2,
|
158
|
+
"slug": "beer-song",
|
119
159
|
"topics": [
|
120
160
|
"control_flow_if_else_statements",
|
121
161
|
"control_flow_loops",
|
122
162
|
"strings"
|
123
163
|
],
|
124
|
-
"
|
125
|
-
"uuid": "6311b9f8-b438-4186-88b2-1e4f55275ccb"
|
126
|
-
},
|
127
|
-
{
|
128
|
-
"core": false,
|
129
|
-
"difficulty": 3,
|
130
|
-
"slug": "all-your-base",
|
131
|
-
"topics": [
|
132
|
-
"arrays",
|
133
|
-
"control_flow_if_else_statements",
|
134
|
-
"control_flow_loops"
|
135
|
-
],
|
136
|
-
"unlocked_by": "binary",
|
137
|
-
"uuid": "e3574f75-89cb-4dda-8fce-14ce3141b595"
|
164
|
+
"uuid": "c06789cb-cdd6-44a7-bee5-16e0d85e913a"
|
138
165
|
},
|
139
166
|
{
|
140
167
|
"core": false,
|
141
|
-
"difficulty": 4,
|
142
|
-
"slug": "nth-prime",
|
143
|
-
"topics": [
|
144
|
-
"control_flow_if_else_statements",
|
145
|
-
"control_flow_loops",
|
146
|
-
"performance_optimizations"
|
147
|
-
],
|
148
|
-
"unlocked_by": "sieve",
|
149
|
-
"uuid": "a0a703b2-244b-4739-b318-b837618b1047"
|
150
|
-
},
|
151
|
-
{
|
152
|
-
"core": true,
|
153
168
|
"difficulty": 2,
|
154
|
-
"slug": "
|
169
|
+
"slug": "raindrops",
|
155
170
|
"topics": [
|
156
171
|
"control_flow_if_else_statements",
|
157
|
-
"control_flow_loops",
|
158
172
|
"strings"
|
159
173
|
],
|
160
|
-
"
|
174
|
+
"unlocked_by": "beer-song",
|
175
|
+
"uuid": "93acdd0d-9bd1-4dec-a572-fd12d0c66187"
|
161
176
|
},
|
162
177
|
{
|
163
178
|
"core": false,
|
164
|
-
"difficulty":
|
165
|
-
"slug": "
|
179
|
+
"difficulty": 5,
|
180
|
+
"slug": "bob",
|
166
181
|
"topics": [
|
167
|
-
"
|
168
|
-
"control_flow_loops",
|
182
|
+
"control_flow_if_else_statements",
|
169
183
|
"strings"
|
170
184
|
],
|
171
|
-
"unlocked_by": "
|
172
|
-
"uuid": "
|
185
|
+
"unlocked_by": "beer-song",
|
186
|
+
"uuid": "b0feb5e2-eb94-4393-b60d-cf8a275d1860"
|
173
187
|
},
|
174
188
|
{
|
175
189
|
"core": true,
|
@@ -204,30 +218,29 @@
|
|
204
218
|
"uuid": "db1771d2-afd8-4e01-9b6a-6be75029ef1d"
|
205
219
|
},
|
206
220
|
{
|
207
|
-
"core":
|
208
|
-
"difficulty":
|
209
|
-
"slug": "
|
221
|
+
"core": false,
|
222
|
+
"difficulty": 5,
|
223
|
+
"slug": "anagram",
|
210
224
|
"topics": [
|
211
|
-
"
|
212
|
-
"control_flow_loops",
|
213
|
-
"memory_management",
|
225
|
+
"filtering",
|
214
226
|
"strings",
|
215
227
|
"structs"
|
216
228
|
],
|
217
|
-
"
|
229
|
+
"unlocked_by": "binary-search",
|
230
|
+
"uuid": "0b64079a-7fec-42b4-bd2e-1b04dd4b7e6e"
|
218
231
|
},
|
219
232
|
{
|
220
|
-
"core":
|
233
|
+
"core": true,
|
221
234
|
"difficulty": 3,
|
222
|
-
"slug": "
|
235
|
+
"slug": "roman-numerals",
|
223
236
|
"topics": [
|
224
|
-
"
|
237
|
+
"arrays",
|
238
|
+
"control_flow_loops",
|
225
239
|
"memory_management",
|
226
240
|
"strings",
|
227
241
|
"structs"
|
228
242
|
],
|
229
|
-
"
|
230
|
-
"uuid": "1e4f4fcf-c32d-459f-8920-15ac56008666"
|
243
|
+
"uuid": "6cde608f-9819-46cd-884b-dbda39a4fa16"
|
231
244
|
},
|
232
245
|
{
|
233
246
|
"core": true,
|
@@ -241,18 +254,6 @@
|
|
241
254
|
],
|
242
255
|
"uuid": "871f1c41-debd-4807-8ee5-bde54c3918f8"
|
243
256
|
},
|
244
|
-
{
|
245
|
-
"core": false,
|
246
|
-
"difficulty": 5,
|
247
|
-
"slug": "anagram",
|
248
|
-
"topics": [
|
249
|
-
"filtering",
|
250
|
-
"strings",
|
251
|
-
"structs"
|
252
|
-
],
|
253
|
-
"unlocked_by": "acronym",
|
254
|
-
"uuid": "0b64079a-7fec-42b4-bd2e-1b04dd4b7e6e"
|
255
|
-
},
|
256
257
|
{
|
257
258
|
"core": true,
|
258
259
|
"difficulty": 5,
|
@@ -264,6 +265,30 @@
|
|
264
265
|
],
|
265
266
|
"uuid": "180f59f3-78ab-4368-9fa7-e3d98a9dca78"
|
266
267
|
},
|
268
|
+
{
|
269
|
+
"core": false,
|
270
|
+
"difficulty": 2,
|
271
|
+
"slug": "series",
|
272
|
+
"topics": [
|
273
|
+
"control_flow_if_statements",
|
274
|
+
"memory_management",
|
275
|
+
"strings",
|
276
|
+
"text_formatting"
|
277
|
+
],
|
278
|
+
"unlocked_by": "atbash-cipher",
|
279
|
+
"uuid": "40bcec79-7235-4ac6-b69f-8e3a6374188d"
|
280
|
+
},
|
281
|
+
{
|
282
|
+
"core": false,
|
283
|
+
"difficulty": 10,
|
284
|
+
"slug": "react",
|
285
|
+
"topics": [
|
286
|
+
"functions",
|
287
|
+
"memory_management"
|
288
|
+
],
|
289
|
+
"unlocked_by": "atbash-cipher",
|
290
|
+
"uuid": "929b651e-2017-4f98-b2cb-1dc46c609703"
|
291
|
+
},
|
267
292
|
{
|
268
293
|
"core": true,
|
269
294
|
"difficulty": 4,
|
@@ -298,45 +323,17 @@
|
|
298
323
|
],
|
299
324
|
"uuid": "fb2530a3-cbbf-4ba9-88d0-203faac03e96"
|
300
325
|
},
|
301
|
-
{
|
302
|
-
"core": false,
|
303
|
-
"difficulty": 2,
|
304
|
-
"slug": "series",
|
305
|
-
"topics": [
|
306
|
-
"control_flow_if_statements",
|
307
|
-
"memory_management",
|
308
|
-
"strings",
|
309
|
-
"text_formatting"
|
310
|
-
],
|
311
|
-
"unlocked_by": "atbash-cipher",
|
312
|
-
"uuid": "40bcec79-7235-4ac6-b69f-8e3a6374188d"
|
313
|
-
},
|
314
326
|
{
|
315
327
|
"core": false,
|
316
328
|
"difficulty": 4,
|
317
|
-
"slug": "
|
318
|
-
"topics": [
|
319
|
-
"control_flow_if_statements",
|
320
|
-
"preprocessor_x_macros_in_test",
|
321
|
-
"strings",
|
322
|
-
"structs",
|
323
|
-
"time_functions"
|
324
|
-
],
|
325
|
-
"unlocked_by": "gigasecond",
|
326
|
-
"uuid": "a7baa53f-e828-457e-a456-ba3471494d80"
|
327
|
-
},
|
328
|
-
{
|
329
|
-
"core": false,
|
330
|
-
"difficulty": 2,
|
331
|
-
"slug": "nucleotide-count",
|
329
|
+
"slug": "nth-prime",
|
332
330
|
"topics": [
|
333
|
-
"
|
334
|
-
"
|
335
|
-
"
|
336
|
-
"text_formatting"
|
331
|
+
"control_flow_if_else_statements",
|
332
|
+
"control_flow_loops",
|
333
|
+
"performance_optimizations"
|
337
334
|
],
|
338
|
-
"unlocked_by": "
|
339
|
-
"uuid": "
|
335
|
+
"unlocked_by": "sieve",
|
336
|
+
"uuid": "a0a703b2-244b-4739-b318-b837618b1047"
|
340
337
|
},
|
341
338
|
{
|
342
339
|
"core": true,
|
@@ -351,6 +348,17 @@
|
|
351
348
|
],
|
352
349
|
"uuid": "e665da31-fda2-4bce-94e9-7d79dffdef14"
|
353
350
|
},
|
351
|
+
{
|
352
|
+
"core": true,
|
353
|
+
"difficulty": 1,
|
354
|
+
"slug": "pascals-triangle",
|
355
|
+
"topics": [
|
356
|
+
"control_flow_if_else_statements",
|
357
|
+
"mathematics",
|
358
|
+
"memory_management"
|
359
|
+
],
|
360
|
+
"uuid": "be19352f-1b63-4673-9a2d-e763ee807741"
|
361
|
+
},
|
354
362
|
{
|
355
363
|
"core": false,
|
356
364
|
"difficulty": 1,
|
@@ -365,26 +373,26 @@
|
|
365
373
|
"uuid": "5c6bc8d2-2509-471a-993c-a5bf9d030ca7"
|
366
374
|
},
|
367
375
|
{
|
368
|
-
"core":
|
376
|
+
"core": false,
|
369
377
|
"difficulty": 1,
|
370
|
-
"slug": "
|
378
|
+
"slug": "perfect-numbers",
|
371
379
|
"topics": [
|
372
380
|
"control_flow_if_else_statements",
|
373
|
-
"mathematics"
|
374
|
-
"memory_management"
|
381
|
+
"mathematics"
|
375
382
|
],
|
376
|
-
"
|
383
|
+
"unlocked_by": "pascals-triangle",
|
384
|
+
"uuid": "a1168a15-d46f-4541-8b58-68bca0c54733"
|
377
385
|
},
|
378
386
|
{
|
379
387
|
"core": false,
|
380
|
-
"difficulty":
|
381
|
-
"slug": "
|
388
|
+
"difficulty": 2,
|
389
|
+
"slug": "collatz-conjecture",
|
382
390
|
"topics": [
|
383
|
-
"
|
391
|
+
"functions",
|
384
392
|
"mathematics"
|
385
393
|
],
|
386
394
|
"unlocked_by": "pascals-triangle",
|
387
|
-
"uuid": "
|
395
|
+
"uuid": "5a47f8a5-36a1-4479-bb77-ef5fbab4bae0"
|
388
396
|
},
|
389
397
|
{
|
390
398
|
"core": true,
|
@@ -397,49 +405,28 @@
|
|
397
405
|
"uuid": "8621177c-1068-4610-bf5b-26cf23340ae6"
|
398
406
|
},
|
399
407
|
{
|
400
|
-
"core":
|
401
|
-
"difficulty":
|
402
|
-
"slug": "
|
408
|
+
"core": false,
|
409
|
+
"difficulty": 3,
|
410
|
+
"slug": "all-your-base",
|
403
411
|
"topics": [
|
404
|
-
"
|
405
|
-
"
|
406
|
-
"
|
407
|
-
"structs"
|
412
|
+
"arrays",
|
413
|
+
"control_flow_if_else_statements",
|
414
|
+
"control_flow_loops"
|
408
415
|
],
|
409
|
-
"
|
416
|
+
"unlocked_by": "binary",
|
417
|
+
"uuid": "e3574f75-89cb-4dda-8fce-14ce3141b595"
|
410
418
|
},
|
411
419
|
{
|
412
420
|
"core": true,
|
413
|
-
"difficulty":
|
414
|
-
"slug": "
|
421
|
+
"difficulty": 2,
|
422
|
+
"slug": "palindrome-products",
|
415
423
|
"topics": [
|
424
|
+
"functions",
|
416
425
|
"pointers",
|
417
|
-
"searching",
|
418
426
|
"strings",
|
419
427
|
"structs"
|
420
428
|
],
|
421
|
-
"uuid": "
|
422
|
-
},
|
423
|
-
{
|
424
|
-
"core": false,
|
425
|
-
"difficulty": 1,
|
426
|
-
"slug": "space-age",
|
427
|
-
"topics": [
|
428
|
-
"functions"
|
429
|
-
],
|
430
|
-
"unlocked_by": "gigasecond",
|
431
|
-
"uuid": "fc03c7de-b0c6-4806-90bb-e9dda846e660"
|
432
|
-
},
|
433
|
-
{
|
434
|
-
"core": false,
|
435
|
-
"difficulty": 10,
|
436
|
-
"slug": "react",
|
437
|
-
"topics": [
|
438
|
-
"functions",
|
439
|
-
"memory_management"
|
440
|
-
],
|
441
|
-
"unlocked_by": "atbash-cipher",
|
442
|
-
"uuid": "929b651e-2017-4f98-b2cb-1dc46c609703"
|
429
|
+
"uuid": "8dd43f6c-37ba-42b1-bb85-9ad693e4ce03"
|
443
430
|
},
|
444
431
|
{
|
445
432
|
"core": false,
|
@@ -457,14 +444,27 @@
|
|
457
444
|
},
|
458
445
|
{
|
459
446
|
"core": false,
|
460
|
-
"difficulty":
|
461
|
-
"slug": "
|
447
|
+
"difficulty": 5,
|
448
|
+
"slug": "largest-series-product",
|
462
449
|
"topics": [
|
463
|
-
"
|
464
|
-
"
|
450
|
+
"control_flow_loops",
|
451
|
+
"performance_optimizations",
|
452
|
+
"strings"
|
465
453
|
],
|
466
|
-
"unlocked_by": "
|
467
|
-
"uuid": "
|
454
|
+
"unlocked_by": "palindrome-products",
|
455
|
+
"uuid": "4b5974fe-dcff-4542-ad3e-2782201cba1e"
|
456
|
+
},
|
457
|
+
{
|
458
|
+
"core": true,
|
459
|
+
"difficulty": 4,
|
460
|
+
"slug": "scrabble-score",
|
461
|
+
"topics": [
|
462
|
+
"pointers",
|
463
|
+
"searching",
|
464
|
+
"strings",
|
465
|
+
"structs"
|
466
|
+
],
|
467
|
+
"uuid": "8c631290-13b7-4d25-9ee7-ced2e534deb4"
|
468
468
|
},
|
469
469
|
{
|
470
470
|
"core": true,
|