trackler 2.1.0.32 → 2.1.0.33
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/common/CONTRIBUTING.md +1 -24
- data/fixtures/tracks/animal/config.json +6 -2
- data/fixtures/tracks/fake/config.json +0 -5
- data/fixtures/tracks/fruit/config.json +16 -4
- data/fixtures/tracks/jewels/config.json +6 -2
- data/fixtures/tracks/shoes/config.json +6 -2
- data/fixtures/tracks/snowflake/config.json +21 -5
- data/lib/trackler/track.rb +0 -11
- data/lib/trackler/version.rb +1 -1
- data/tracks/c/config.json +281 -245
- data/tracks/c/{SETUP.md → docs/EXERCISE_README_INSERT.md} +0 -0
- data/tracks/ceylon/config.json +0 -5
- data/tracks/ceylon/{exercises/TRACK_HINTS.md → docs/EXERCISE_README_INSERT.md} +0 -0
- data/tracks/cpp/config.json +9 -13
- data/tracks/cpp/{SETUP.md → docs/EXERCISE_README_INSERT.md} +0 -0
- data/tracks/cpp/exercises/grade-school/grade_school_test.cpp +1 -0
- data/tracks/cpp/exercises/nucleotide-count/nucleotide_count_test.cpp +1 -0
- data/tracks/crystal/{SETUP.md → docs/EXERCISE_README_INSERT.md} +0 -0
- data/tracks/csharp/config.json +4 -9
- data/tracks/csharp/{SETUP.md → docs/EXERCISE_README_INSERT.md} +0 -0
- data/tracks/delphi/config.json +31 -36
- data/tracks/delphi/{SETUP.md → docs/EXERCISE_README_INSERT.md} +0 -0
- data/tracks/ecmascript/config.json +65 -7
- data/tracks/ecmascript/{SETUP.md → docs/EXERCISE_README_INSERT.md} +0 -0
- data/tracks/elixir/{SETUP.md → docs/EXERCISE_README_INSERT.md} +0 -0
- data/tracks/elm/{SETUP.md → docs/EXERCISE_README_INSERT.md} +0 -0
- data/tracks/erlang/_test/bootstrap.sh +3 -5
- data/tracks/erlang/config.json +108 -40
- data/tracks/erlang/{SETUP.md → docs/EXERCISE_README_INSERT.md} +0 -0
- data/tracks/factor/config.json +6 -14
- data/tracks/factor/{SETUP.md → docs/EXERCISE_README_INSERT.md} +0 -0
- data/tracks/fsharp/config.json +1 -1
- data/tracks/fsharp/{SETUP.md → docs/EXERCISE_README_INSERT.md} +0 -0
- data/tracks/go/{exercises/TRACK_HINTS.md → docs/EXERCISE_README_INSERT.md} +0 -0
- data/tracks/haskell/config.json +0 -4
- data/tracks/haskell/{exercises/TRACK_HINTS.md → docs/EXERCISE_README_INSERT.md} +0 -0
- data/tracks/idris/{SETUP.md → docs/EXERCISE_README_INSERT.md} +0 -0
- data/tracks/java/{TRACK_HINTS.md → docs/EXERCISE_README_INSERT.md} +0 -0
- data/tracks/java/exercises/isogram/HINT.md +10 -0
- data/tracks/javascript/config.json +57 -6
- data/tracks/javascript/{SETUP.md → docs/EXERCISE_README_INSERT.md} +0 -0
- data/tracks/julia/{SETUP.md → docs/EXERCISE_README_INSERT.md} +0 -0
- data/tracks/kotlin/{TRACK_HINTS.md → docs/EXERCISE_README_INSERT.md} +0 -0
- data/tracks/lfe/{SETUP.md → docs/EXERCISE_README_INSERT.md} +0 -0
- data/tracks/lisp/{SETUP.md → docs/EXERCISE_README_INSERT.md} +0 -0
- data/tracks/lua/config.json +684 -611
- data/tracks/lua/{exercises/TRACK_HINTS.md → docs/EXERCISE_README_INSERT.md} +0 -0
- data/tracks/objective-c/config.json +235 -241
- data/tracks/objective-c/{SETUP.md → docs/EXERCISE_README_INSERT.md} +0 -0
- data/tracks/ocaml/{SETUP.md → docs/EXERCISE_README_INSERT.md} +0 -0
- data/tracks/perl6/config.json +70 -32
- data/tracks/php/{SETUP.md → docs/EXERCISE_README_INSERT.md} +0 -0
- data/tracks/r/config.json +72 -24
- data/tracks/r/{exercises/TRACK_HINTS.md → docs/EXERCISE_README_INSERT.md} +0 -0
- data/tracks/racket/{SETUP.md → docs/EXERCISE_README_INSERT.md} +0 -0
- data/tracks/ruby/exercises/bob/.meta/.version +1 -0
- data/tracks/ruby/exercises/bob/.meta/generator/bob_case.rb +9 -0
- data/tracks/ruby/exercises/bob/.meta/solutions/bob.rb +4 -0
- data/tracks/ruby/exercises/bob/bob_test.rb +95 -50
- data/tracks/rust/config.json +0 -5
- data/tracks/rust/{exercises/TRACK_HINTS.md → docs/EXERCISE_README_INSERT.md} +0 -0
- data/tracks/scala/config.json +758 -758
- data/tracks/scala/{SETUP.md → docs/EXERCISE_README_INSERT.md} +0 -0
- data/tracks/scheme/docs/EXERCISE_README_INSERT.md +0 -0
- data/tracks/swift/config.json +468 -478
- data/tracks/swift/{SETUP.md → docs/EXERCISE_README_INSERT.md} +0 -0
- data/tracks/typescript/{SETUP.md → docs/EXERCISE_README_INSERT.md} +0 -0
- data/tracks/vbnet/config.json +21 -7
- metadata +37 -33
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: cd2031328b448784bbbb25c3474429115b197b0c
|
|
4
|
+
data.tar.gz: ce0d2fa5e4a4eb542e8d38d9490be58cacd9b063
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 45ceeca0c9754f51c01f619ac22a7efc4af9c0d97945fee6c01f936d2d44561feaa012adb5b2133aaa4817f0578a20fa86b77182b4d662ff85b31f03cf6f99fa
|
|
7
|
+
data.tar.gz: c459730635818484f75dfd170b5c4a96871edc6039330fd1e742a2c1adb549f3f309855d03157dd1a4bb27efa0569601bf49321ad55cdad1cdb292118f7d7e33
|
data/common/CONTRIBUTING.md
CHANGED
|
@@ -335,30 +335,7 @@ scenarios in this guide.
|
|
|
335
335
|
|
|
336
336
|
### Pull Request Guidelines
|
|
337
337
|
|
|
338
|
-
|
|
339
|
-
E.g. `hamming: Add test case for strands of unequal length`
|
|
340
|
-
1. The subject line should be a one-sentence summary, and should not include
|
|
341
|
-
the word *and* (explicitly or implied).
|
|
342
|
-
1. Any extra detail should be provided in the body of the PR.
|
|
343
|
-
1. Don't submit unrelated changes in the same pull request.
|
|
344
|
-
1. If you had a bit of churn in the process of getting the change right,
|
|
345
|
-
squash your commits.
|
|
346
|
-
1. If you had to refactor in order to add your change, then we'd love to
|
|
347
|
-
see two commits: First the refactoring, then the added behavior. It's
|
|
348
|
-
fine to put this in the same pull request, unless the refactoring is
|
|
349
|
-
huge and would make it hard to review both at the same time.
|
|
350
|
-
1. If you are referencing another issue or pull-request, for instance
|
|
351
|
-
*closes #XXX* or *see #XXX*, please include the reference in the body of the PR,
|
|
352
|
-
rather than the subject line. This is simply because the subject line doesn't
|
|
353
|
-
support markdown, and so these don't get turned into clickable links. It makes
|
|
354
|
-
it harder to follow and to go look at the related issue or PR.
|
|
355
|
-
1. Please also refer to the guidelines for [commit messages](#commit-messages).
|
|
356
|
-
|
|
357
|
-
Once you've submitted a pull request, one or more of the track maintainers
|
|
358
|
-
will review it. Some tracks are less active and might not have someone
|
|
359
|
-
checking in every day. If you don't get a response within a couple of days,
|
|
360
|
-
feel free to ping us in the [support
|
|
361
|
-
chat](https://gitter.im/exercism/support).
|
|
338
|
+
See the [pull request guidelines](https://github.com/exercism/docs/blob/master/contributing-to-language-tracks/pull-request-guidelines.md) in the docs repository.
|
|
362
339
|
|
|
363
340
|
### Exercise Versioning
|
|
364
341
|
|
|
@@ -6,10 +6,22 @@
|
|
|
6
6
|
"active": true,
|
|
7
7
|
"test_pattern": "\\.tst$",
|
|
8
8
|
"gitter": "xfruit",
|
|
9
|
-
"
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
9
|
+
"exercises": [
|
|
10
|
+
{
|
|
11
|
+
"slug": "apple",
|
|
12
|
+
"difficulty": 1,
|
|
13
|
+
"topics": []
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
"slug": "banana",
|
|
17
|
+
"difficulty": 1,
|
|
18
|
+
"topics": []
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
"slug": "cherry",
|
|
22
|
+
"difficulty": 1,
|
|
23
|
+
"topics": []
|
|
24
|
+
}
|
|
13
25
|
],
|
|
14
26
|
"deprecated": [
|
|
15
27
|
"four"
|
|
@@ -3,8 +3,12 @@
|
|
|
3
3
|
"language": "Fancy Stones",
|
|
4
4
|
"repository": "https://github.com/exercism/xjewels",
|
|
5
5
|
"active": true,
|
|
6
|
-
"
|
|
7
|
-
|
|
6
|
+
"exercises": [
|
|
7
|
+
{
|
|
8
|
+
"slug": "hello-world",
|
|
9
|
+
"difficulty": 1,
|
|
10
|
+
"topics": []
|
|
11
|
+
}
|
|
8
12
|
],
|
|
9
13
|
"deprecated": [],
|
|
10
14
|
"foregone": []
|
|
@@ -3,8 +3,12 @@
|
|
|
3
3
|
"language": "Shoes & Boots",
|
|
4
4
|
"repository": "https://github.com/exercism/xshoes",
|
|
5
5
|
"active": false,
|
|
6
|
-
"
|
|
7
|
-
|
|
6
|
+
"exercises": [
|
|
7
|
+
{
|
|
8
|
+
"slug": "hello-world",
|
|
9
|
+
"difficulty": 1,
|
|
10
|
+
"topics": []
|
|
11
|
+
}
|
|
8
12
|
],
|
|
9
13
|
"deprecated": [],
|
|
10
14
|
"foregone": []
|
|
@@ -4,11 +4,27 @@
|
|
|
4
4
|
"repository": "https://example.com/exercism/xsnowflake",
|
|
5
5
|
"active": true,
|
|
6
6
|
"test_pattern": "\\.tst$",
|
|
7
|
-
"
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
7
|
+
"exercises": [
|
|
8
|
+
{
|
|
9
|
+
"slug": "apple",
|
|
10
|
+
"difficulty": 1,
|
|
11
|
+
"topics": []
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
"slug": "banana",
|
|
15
|
+
"difficulty": 1,
|
|
16
|
+
"topics": []
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
"slug": "cherry",
|
|
20
|
+
"difficulty": 1,
|
|
21
|
+
"topics": []
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
"slug": "snowflake-only",
|
|
25
|
+
"difficulty": 1,
|
|
26
|
+
"topics": []
|
|
27
|
+
}
|
|
12
28
|
],
|
|
13
29
|
"deprecated": [
|
|
14
30
|
],
|
data/lib/trackler/track.rb
CHANGED
|
@@ -136,21 +136,10 @@ module Trackler
|
|
|
136
136
|
filepaths.find(-> { '' }) { |filepath| File.exist? filepath }
|
|
137
137
|
end
|
|
138
138
|
|
|
139
|
-
# The slugs for the problems that are currently in the track.
|
|
140
|
-
# We deprecated the old array of problem slugs in favor of an array
|
|
141
|
-
# containing richer metadata about a given exercise.
|
|
142
139
|
def active_slugs
|
|
143
|
-
__active_slugs__.empty? ? __active_slugs_deprecated_key__ : __active_slugs__
|
|
144
|
-
end
|
|
145
|
-
|
|
146
|
-
def __active_slugs__
|
|
147
140
|
(config["exercises"] || []).map { |ex| ex["slug"] }
|
|
148
141
|
end
|
|
149
142
|
|
|
150
|
-
def __active_slugs_deprecated_key__
|
|
151
|
-
config["problems"] || []
|
|
152
|
-
end
|
|
153
|
-
|
|
154
143
|
def foregone_slugs
|
|
155
144
|
config["foregone"] || []
|
|
156
145
|
end
|
data/lib/trackler/version.rb
CHANGED
data/tracks/c/config.json
CHANGED
|
@@ -4,290 +4,326 @@
|
|
|
4
4
|
"repository": "https://github.com/exercism/xc",
|
|
5
5
|
"checklist_issue": 8,
|
|
6
6
|
"active": false,
|
|
7
|
-
"exercises": [
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
"
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
"
|
|
20
|
-
"
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
"
|
|
29
|
-
"
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
"
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
"
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
"
|
|
88
|
-
"
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
"
|
|
96
|
-
"
|
|
97
|
-
"
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
"
|
|
105
|
-
"
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
"
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
"
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
"
|
|
170
|
-
"
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
7
|
+
"exercises": [
|
|
8
|
+
{
|
|
9
|
+
"slug": "hello-world",
|
|
10
|
+
"difficulty": 1,
|
|
11
|
+
"topics": [
|
|
12
|
+
"control-flow (if-statements)",
|
|
13
|
+
"optional values",
|
|
14
|
+
"text formatting"
|
|
15
|
+
]
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
"difficulty": 5,
|
|
19
|
+
"slug": "anagram",
|
|
20
|
+
"topics": [
|
|
21
|
+
"strings",
|
|
22
|
+
"filtering",
|
|
23
|
+
"structs",
|
|
24
|
+
"memory management"
|
|
25
|
+
]
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
"difficulty": 1,
|
|
29
|
+
"slug": "leap",
|
|
30
|
+
"topics": [
|
|
31
|
+
"logic",
|
|
32
|
+
"control-flow (if-else statements)"
|
|
33
|
+
]
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
"difficulty": 1,
|
|
37
|
+
"slug": "gigasecond",
|
|
38
|
+
"topics": [
|
|
39
|
+
"dates"
|
|
40
|
+
]
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
"difficulty": 2,
|
|
44
|
+
"slug": "hamming",
|
|
45
|
+
"topics": [
|
|
46
|
+
"arrays",
|
|
47
|
+
"strings",
|
|
48
|
+
"control-flow (loops)"
|
|
49
|
+
]
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
"difficulty": 2,
|
|
53
|
+
"slug": "raindrops",
|
|
54
|
+
"topics": [
|
|
55
|
+
"strings",
|
|
56
|
+
"control-flow (if-else statements)"
|
|
57
|
+
]
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
"difficulty": 10,
|
|
61
|
+
"slug": "bob",
|
|
62
|
+
"topics": [
|
|
63
|
+
"strings",
|
|
64
|
+
"control-flow (if-else statements)"
|
|
65
|
+
]
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
"difficulty": 1,
|
|
69
|
+
"slug": "grains",
|
|
70
|
+
"topics": [
|
|
71
|
+
"control-flow (loops)",
|
|
72
|
+
"bitwise operations",
|
|
73
|
+
"performance optimizations"
|
|
74
|
+
]
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
"difficulty": 5,
|
|
78
|
+
"slug": "largest-series-product",
|
|
79
|
+
"topics": [
|
|
80
|
+
"control-flow (loops)",
|
|
81
|
+
"strings",
|
|
82
|
+
"performance optimizations"
|
|
83
|
+
]
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
"difficulty": 3,
|
|
87
|
+
"slug": "pangram",
|
|
88
|
+
"topics": [
|
|
89
|
+
"strings",
|
|
90
|
+
"control-flow (if-else statements)",
|
|
91
|
+
"control-flow (loops)"
|
|
92
|
+
]
|
|
93
|
+
},
|
|
94
|
+
{
|
|
95
|
+
"difficulty": 4,
|
|
96
|
+
"slug": "nth-prime",
|
|
97
|
+
"topics": [
|
|
98
|
+
"control-flow (if-else statements)",
|
|
99
|
+
"control-flow (loops)",
|
|
100
|
+
"performance optimizations"
|
|
101
|
+
]
|
|
102
|
+
},
|
|
103
|
+
{
|
|
104
|
+
"difficulty": 2,
|
|
105
|
+
"slug": "beer-song",
|
|
106
|
+
"topics": [
|
|
107
|
+
"strings",
|
|
108
|
+
"control-flow (if-else statements)",
|
|
109
|
+
"control-flow (loops)"
|
|
110
|
+
]
|
|
111
|
+
},
|
|
112
|
+
{
|
|
113
|
+
"difficulty": 2,
|
|
114
|
+
"slug": "rna-transcription",
|
|
115
|
+
"topics": [
|
|
116
|
+
"strings",
|
|
117
|
+
"control-flow (case statements)",
|
|
118
|
+
"control-flow (loops)"
|
|
119
|
+
]
|
|
120
|
+
},
|
|
121
|
+
{
|
|
122
|
+
"difficulty": 1,
|
|
123
|
+
"slug": "difference-of-squares",
|
|
124
|
+
"topics": [
|
|
125
|
+
"control-flow (loops)"
|
|
126
|
+
]
|
|
127
|
+
},
|
|
128
|
+
{
|
|
129
|
+
"difficulty": 4,
|
|
130
|
+
"slug": "sum-of-multiples",
|
|
131
|
+
"topics": [
|
|
132
|
+
"control-flow (case statements)",
|
|
133
|
+
"control-flow (loops)"
|
|
134
|
+
]
|
|
135
|
+
},
|
|
136
|
+
{
|
|
137
|
+
"difficulty": 2,
|
|
138
|
+
"slug": "binary-search",
|
|
139
|
+
"topics": [
|
|
140
|
+
"arrays",
|
|
141
|
+
"control-flow (if-else statements)",
|
|
142
|
+
"control-flow (loops)",
|
|
143
|
+
"searching"
|
|
144
|
+
]
|
|
145
|
+
},
|
|
146
|
+
{
|
|
147
|
+
"difficulty": 3,
|
|
148
|
+
"slug": "roman-numerals",
|
|
149
|
+
"topics": [
|
|
150
|
+
"arrays",
|
|
151
|
+
"memory management",
|
|
152
|
+
"structs",
|
|
153
|
+
"control-flow (loops)",
|
|
154
|
+
"strings"
|
|
155
|
+
]
|
|
156
|
+
},
|
|
157
|
+
{
|
|
158
|
+
"difficulty": 3,
|
|
159
|
+
"slug": "word-count",
|
|
160
|
+
"topics": [
|
|
161
|
+
"strings",
|
|
162
|
+
"filtering",
|
|
163
|
+
"structs",
|
|
164
|
+
"memory management"
|
|
165
|
+
]
|
|
166
|
+
},
|
|
167
|
+
{
|
|
168
|
+
"difficulty": 4,
|
|
169
|
+
"slug": "allergies",
|
|
170
|
+
"topics": [
|
|
171
|
+
"control-flow (if-statements)",
|
|
172
|
+
"control-flow (loops)",
|
|
173
|
+
"structs",
|
|
174
|
+
"memory management"
|
|
175
|
+
]
|
|
176
|
+
},
|
|
177
|
+
{
|
|
178
|
+
"difficulty": 5,
|
|
179
|
+
"slug": "atbash-cipher",
|
|
180
|
+
"topics": [
|
|
181
|
+
"control-flow (loops)",
|
|
182
|
+
"control-flow (if-else statements)",
|
|
183
|
+
"strings"
|
|
184
|
+
]
|
|
185
|
+
},
|
|
186
|
+
{
|
|
187
|
+
"difficulty": 4,
|
|
188
|
+
"slug": "phone-number",
|
|
189
|
+
"topics": [
|
|
190
|
+
"strings",
|
|
191
|
+
"memory management",
|
|
192
|
+
"control-flow (loops)",
|
|
193
|
+
"control-flow (if-else statements)"
|
|
194
|
+
]
|
|
195
|
+
},
|
|
196
|
+
{
|
|
197
|
+
"difficulty": 2,
|
|
198
|
+
"slug": "clock",
|
|
199
|
+
"topics": [
|
|
178
200
|
"control-flow (if-statements)",
|
|
179
201
|
"strings",
|
|
180
202
|
"text formatting",
|
|
181
203
|
"preprocessor (x-macros in test)"
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
204
|
+
]
|
|
205
|
+
},
|
|
206
|
+
{
|
|
207
|
+
"difficulty": 2,
|
|
208
|
+
"slug": "sieve",
|
|
209
|
+
"topics": [
|
|
210
|
+
"control-flow (if-statements)",
|
|
211
|
+
"memory management"
|
|
212
|
+
]
|
|
213
|
+
},
|
|
214
|
+
{
|
|
215
|
+
"difficulty": 2,
|
|
216
|
+
"slug": "series",
|
|
217
|
+
"topics": [
|
|
194
218
|
"control-flow (if-statements)",
|
|
195
219
|
"strings",
|
|
196
220
|
"text formatting",
|
|
197
221
|
"memory management"
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
222
|
+
]
|
|
223
|
+
},
|
|
224
|
+
{
|
|
225
|
+
"difficulty": 4,
|
|
226
|
+
"slug": "meetup",
|
|
227
|
+
"topics": [
|
|
203
228
|
"control-flow (if-statements)",
|
|
204
229
|
"strings",
|
|
205
230
|
"structs",
|
|
206
231
|
"time functions",
|
|
207
232
|
"preprocessor (x-macros in test)"
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
233
|
+
]
|
|
234
|
+
},
|
|
235
|
+
{
|
|
236
|
+
"difficulty": 2,
|
|
237
|
+
"slug": "nucleotide-count",
|
|
238
|
+
"topics": [
|
|
213
239
|
"control-flow (loops, switch, if-statements)",
|
|
214
240
|
"strings",
|
|
215
241
|
"text formatting",
|
|
216
242
|
"memory management"
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
243
|
+
]
|
|
244
|
+
},
|
|
245
|
+
{
|
|
246
|
+
"difficulty": 2,
|
|
247
|
+
"slug": "robot-simulator",
|
|
248
|
+
"topics": [
|
|
222
249
|
"strings",
|
|
223
250
|
"control-flow (if-statements)",
|
|
224
251
|
"structs",
|
|
225
252
|
"variable argument lists",
|
|
226
253
|
"pointers"
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
254
|
+
]
|
|
255
|
+
},
|
|
256
|
+
{
|
|
257
|
+
"difficulty": 1,
|
|
258
|
+
"slug": "triangle",
|
|
259
|
+
"topics": [
|
|
232
260
|
"control-flow (if-else statements)",
|
|
233
261
|
"Booleans",
|
|
234
262
|
"Structs",
|
|
235
263
|
"Mathematics"
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
264
|
+
]
|
|
265
|
+
},
|
|
266
|
+
{
|
|
267
|
+
"difficulty": 1,
|
|
268
|
+
"slug": "pascals-triangle",
|
|
269
|
+
"topics": [
|
|
270
|
+
"control-flow (if-else statements)",
|
|
271
|
+
"memory management",
|
|
272
|
+
"Mathematics"
|
|
273
|
+
]
|
|
274
|
+
},
|
|
275
|
+
{
|
|
276
|
+
"difficulty": 1,
|
|
277
|
+
"slug": "perfect-numbers",
|
|
278
|
+
"topics": [
|
|
279
|
+
"control-flow (if-else statements)",
|
|
280
|
+
"Mathematics"
|
|
281
|
+
]
|
|
282
|
+
},
|
|
283
|
+
{
|
|
284
|
+
"difficulty": 1,
|
|
285
|
+
"slug": "binary",
|
|
286
|
+
"topics": [
|
|
256
287
|
"control-flow (loops)",
|
|
257
288
|
"control-flow (if-statements)"
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
289
|
+
]
|
|
290
|
+
},
|
|
291
|
+
{
|
|
292
|
+
"difficulty": 2,
|
|
293
|
+
"slug": "palindrome-products",
|
|
294
|
+
"topics": [
|
|
263
295
|
"strings",
|
|
264
296
|
"structs",
|
|
265
297
|
"pointers",
|
|
266
298
|
"Functions"
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
299
|
+
]
|
|
300
|
+
},
|
|
301
|
+
{
|
|
302
|
+
"difficulty": 4,
|
|
303
|
+
"slug": "scrabble-score",
|
|
304
|
+
"topics": [
|
|
272
305
|
"structs",
|
|
273
306
|
"pointers",
|
|
274
307
|
"strings",
|
|
275
308
|
"searching"
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
309
|
+
]
|
|
310
|
+
},
|
|
311
|
+
{
|
|
312
|
+
"difficulty": 1,
|
|
313
|
+
"slug": "space-age",
|
|
314
|
+
"topics": [
|
|
281
315
|
"Functions"
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
316
|
+
]
|
|
317
|
+
},
|
|
318
|
+
{
|
|
319
|
+
"difficulty": 10,
|
|
320
|
+
"slug": "react",
|
|
321
|
+
"topics": [
|
|
287
322
|
"memory management",
|
|
288
323
|
"Functions"
|
|
289
|
-
|
|
290
|
-
|
|
324
|
+
]
|
|
325
|
+
}
|
|
326
|
+
],
|
|
291
327
|
"deprecated": [
|
|
292
328
|
|
|
293
329
|
],
|