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
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b43c5ab9a8adbe36a8157bf0d03a0f4bd4bbc684
|
4
|
+
data.tar.gz: 4109587f611e9fd046523c3c7efd0a5f6238f6d9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 13df901f2b0606aa96041dab598e441b5b846c88548917f2a877a7313e32ba6094eb15073646871a9966e33e9f2ee0854983fb20658341fcf5cd09f052e84c28
|
7
|
+
data.tar.gz: 7f8088e21b6c7351d45b1726fec99632032e0d0a365aaed9ec2085998378ca78883c7072d9cf40b86ea4d17deac200bac2d7e8fda04c127c74f0514be0544d44
|
data/lib/trackler/version.rb
CHANGED
@@ -0,0 +1,21 @@
|
|
1
|
+
MIT License
|
2
|
+
|
3
|
+
Copyright (c) 2018 Exercism, Inc
|
4
|
+
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
7
|
+
in the Software without restriction, including without limitation the rights
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
10
|
+
furnished to do so, subject to the following conditions:
|
11
|
+
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
13
|
+
copies or substantial portions of the Software.
|
14
|
+
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
21
|
+
SOFTWARE.
|
@@ -0,0 +1,67 @@
|
|
1
|
+
# Exercism Ballerina Track
|
2
|
+
|
3
|
+
![build status](https://travis-ci.org/exercism/ballerina.svg?branch=master)
|
4
|
+
|
5
|
+
Exercism exercises in Ballerina.
|
6
|
+
|
7
|
+
## Setup
|
8
|
+
|
9
|
+
The simplest way to install Ballerina is ...
|
10
|
+
|
11
|
+
## Contributing
|
12
|
+
|
13
|
+
Thank you so much for contributing! :tada:
|
14
|
+
|
15
|
+
Please read about how to [get involved in a track](https://github.com/exercism/docs/tree/master/contributing-to-language-tracks). Be sure to read the Exercism [Code of Conduct](https://github.com/exercism/exercism.io/blob/master/CODE_OF_CONDUCT.md).
|
16
|
+
|
17
|
+
We welcome pull requests of all kinds. No contribution is too small.
|
18
|
+
|
19
|
+
We encourage contributions that provide fixes and improvements to existing exercises. Please note that this track's exercises must conform to the Exercism-wide standards described in the [documentation](https://github.com/exercism/docs/tree/master/language-tracks/exercises). If you're unsure about how to make a change, then go ahead and open a GitHub issue, and we'll discuss it.
|
20
|
+
|
21
|
+
## Exercise Tests
|
22
|
+
|
23
|
+
At the most basic level, Exercism is all about the tests. You can read more about how we think about test suites in [the Exercism documentation](https://github.com/exercism/docs/blob/master/language-tracks/exercises/anatomy/test-suites.md).
|
24
|
+
|
25
|
+
Test files should use the following format:
|
26
|
+
|
27
|
+
```
|
28
|
+
# include the body of an example test
|
29
|
+
```
|
30
|
+
|
31
|
+
## Opening an Issue
|
32
|
+
|
33
|
+
If you plan to make significant or breaking changes, please open an issue so we can discuss it first. If this is a discussion that is relevant to more than just the Ballerina track, please open an issue in [exercism/discussions](https://github.com/exercism/discussions/issues).
|
34
|
+
|
35
|
+
## Submitting a Pull Request
|
36
|
+
|
37
|
+
Pull requests should be focused on a single exercise, issue, or conceptually cohesive change. Please refer to Exercism's [pull request guidelines](https://github.com/exercism/docs/blob/master/contributing/pull-request-guidelines.md).
|
38
|
+
|
39
|
+
Please follow the coding standards for Ballerina. (If there is a formatter for the track's language, add instructions for using it here.)
|
40
|
+
|
41
|
+
### Verifying Your Change
|
42
|
+
|
43
|
+
Before submitting your pull request, you'll want to verify the changes in two ways:
|
44
|
+
|
45
|
+
* Run all the tests for the Ballerina exercises
|
46
|
+
* Run an Exercism-specific linter to verify the track
|
47
|
+
|
48
|
+
All the tests for Ballerina exercises can be run from the top level of the repo with
|
49
|
+
|
50
|
+
```
|
51
|
+
# add this command
|
52
|
+
```
|
53
|
+
|
54
|
+
For the Exercism-specific linting, please see [the documentation](https://github.com/exercism/docs/blob/master/language-tracks/configuration/linting.md).
|
55
|
+
|
56
|
+
## Contributing a New Exercise
|
57
|
+
|
58
|
+
Please see the documentation about [adding new exercises](https://github.com/exercism/docs/blob/master/you-can-help/make-up-new-exercises.md).
|
59
|
+
|
60
|
+
Note that:
|
61
|
+
|
62
|
+
- Each exercise must stand on its own. Do not reference files outside the exercise directory. They will not be included when the user fetches the exercise.
|
63
|
+
- Exercises should use only the Ballerina core libraries.
|
64
|
+
- Exercises must conform to the Exercism-wide standards described in [the documentation](https://github.com/exercism/docs/tree/master/language-tracks/exercises).
|
65
|
+
- Each exercise should have a test suite, an example solution, a template file for the real implementation and ... (anything else that needs to go with each exercise for this track). The CI build expects files to be named using the following convention: (describe the Ballerina convention for naming the various files that make up an exercise).
|
66
|
+
- Please do not commit any configuration files or directories inside the exercise other than ...
|
67
|
+
- Be sure to add it to the appropriate place in the `config.json` file.
|
@@ -0,0 +1,32 @@
|
|
1
|
+
#!/bin/bash
|
2
|
+
|
3
|
+
LATEST=https://github.com/exercism/configlet/releases/latest
|
4
|
+
|
5
|
+
OS=$(
|
6
|
+
case $(uname) in
|
7
|
+
(Darwin*)
|
8
|
+
echo "mac";;
|
9
|
+
(Linux*)
|
10
|
+
echo "linux";;
|
11
|
+
(Windows*)
|
12
|
+
echo "windows";;
|
13
|
+
(*)
|
14
|
+
echo "linux";;
|
15
|
+
esac)
|
16
|
+
|
17
|
+
ARCH=$(
|
18
|
+
case $(uname -m) in
|
19
|
+
(*64*)
|
20
|
+
echo 64bit;;
|
21
|
+
(*686*)
|
22
|
+
echo 32bit;;
|
23
|
+
(*386*)
|
24
|
+
echo 32bit;;
|
25
|
+
(*)
|
26
|
+
echo 64bit;;
|
27
|
+
esac)
|
28
|
+
|
29
|
+
VERSION="$(curl --head --silent $LATEST | awk -v FS=/ '/Location:/{print $NF}' | tr -d '\r')"
|
30
|
+
URL=https://github.com/exercism/configlet/releases/download/$VERSION/configlet-$OS-${ARCH}.tgz
|
31
|
+
|
32
|
+
curl -s --location $URL | tar xz -C bin/
|
File without changes
|
@@ -0,0 +1,16 @@
|
|
1
|
+
# {{ .Spec.Name }}
|
2
|
+
|
3
|
+
{{ .Spec.Description -}}
|
4
|
+
{{- with .Hints }}
|
5
|
+
{{ . }}
|
6
|
+
{{ end }}
|
7
|
+
{{- with .TrackInsert }}
|
8
|
+
{{ . }}
|
9
|
+
{{ end }}
|
10
|
+
{{- with .Spec.Credits -}}
|
11
|
+
## Source
|
12
|
+
|
13
|
+
{{ . }}
|
14
|
+
{{ end }}
|
15
|
+
## Submitting Incomplete Solutions
|
16
|
+
It's possible to submit an incomplete solution so you can see how others have completed the exercise.
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
data/tracks/c/config.json
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
{
|
2
2
|
"language": "C",
|
3
3
|
"active": true,
|
4
|
-
"blurb": "",
|
4
|
+
"blurb": "C is a small, general-purpose, imperative programming language with a static type system, scopes, and structures. It's typically used as an alternative to assembly programming, such as in operating systems.",
|
5
5
|
"exercises": [
|
6
6
|
{
|
7
7
|
"slug": "hello-world",
|
data/tracks/kotlin/config.json
CHANGED
@@ -3,14 +3,18 @@
|
|
3
3
|
"active": true,
|
4
4
|
"blurb": "Kotlin is a pragmatic programming language for JVM and Android that combines OO and functional features and is focused on interoperability, safety, clarity and tooling support.",
|
5
5
|
"solution_pattern": "reference",
|
6
|
+
"forgone": [],
|
6
7
|
"exercises": [
|
7
8
|
{
|
8
9
|
"slug": "hello-world",
|
9
10
|
"uuid": "58c16459-348a-4536-8228-43379174735e",
|
10
|
-
"core":
|
11
|
+
"core": true,
|
11
12
|
"unlocked_by": null,
|
12
13
|
"difficulty": 1,
|
13
|
-
"topics":
|
14
|
+
"topics": [
|
15
|
+
"strings"
|
16
|
+
],
|
17
|
+
"auto_approve": true
|
14
18
|
},
|
15
19
|
{
|
16
20
|
"slug": "two-fer",
|
@@ -18,7 +22,21 @@
|
|
18
22
|
"core": false,
|
19
23
|
"unlocked_by": null,
|
20
24
|
"difficulty": 2,
|
21
|
-
"topics":
|
25
|
+
"topics": [
|
26
|
+
"conditionals",
|
27
|
+
"strings"
|
28
|
+
]
|
29
|
+
},
|
30
|
+
{
|
31
|
+
"slug": "leap",
|
32
|
+
"uuid": "639e59b6-84aa-4f13-9718-537606703c43",
|
33
|
+
"core": false,
|
34
|
+
"unlocked_by": null,
|
35
|
+
"difficulty": 2,
|
36
|
+
"topics": [
|
37
|
+
"control_flow_if_else_statements",
|
38
|
+
"integers"
|
39
|
+
]
|
22
40
|
},
|
23
41
|
{
|
24
42
|
"slug": "rna-transcription",
|
@@ -26,7 +44,11 @@
|
|
26
44
|
"core": false,
|
27
45
|
"unlocked_by": null,
|
28
46
|
"difficulty": 2,
|
29
|
-
"topics":
|
47
|
+
"topics": [
|
48
|
+
"loops",
|
49
|
+
"maps",
|
50
|
+
"strings"
|
51
|
+
]
|
30
52
|
},
|
31
53
|
{
|
32
54
|
"slug": "pangram",
|
@@ -34,7 +56,11 @@
|
|
34
56
|
"core": false,
|
35
57
|
"unlocked_by": null,
|
36
58
|
"difficulty": 3,
|
37
|
-
"topics":
|
59
|
+
"topics": [
|
60
|
+
"pattern_matching",
|
61
|
+
"regular_expressions",
|
62
|
+
"strings"
|
63
|
+
]
|
38
64
|
},
|
39
65
|
{
|
40
66
|
"slug": "hamming",
|
@@ -42,7 +68,11 @@
|
|
42
68
|
"core": false,
|
43
69
|
"unlocked_by": null,
|
44
70
|
"difficulty": 3,
|
45
|
-
"topics":
|
71
|
+
"topics": [
|
72
|
+
"integers",
|
73
|
+
"loops",
|
74
|
+
"strings"
|
75
|
+
]
|
46
76
|
},
|
47
77
|
{
|
48
78
|
"slug": "gigasecond",
|
@@ -50,7 +80,11 @@
|
|
50
80
|
"core": false,
|
51
81
|
"unlocked_by": null,
|
52
82
|
"difficulty": 3,
|
53
|
-
"topics":
|
83
|
+
"topics": [
|
84
|
+
"dates",
|
85
|
+
"integers",
|
86
|
+
"time"
|
87
|
+
]
|
54
88
|
},
|
55
89
|
{
|
56
90
|
"slug": "space-age",
|
@@ -58,7 +92,11 @@
|
|
58
92
|
"core": false,
|
59
93
|
"unlocked_by": null,
|
60
94
|
"difficulty": 3,
|
61
|
-
"topics":
|
95
|
+
"topics": [
|
96
|
+
"conditionals",
|
97
|
+
"floating_point_numbers",
|
98
|
+
"mathematics"
|
99
|
+
]
|
62
100
|
},
|
63
101
|
{
|
64
102
|
"slug": "acronym",
|
@@ -66,7 +104,12 @@
|
|
66
104
|
"core": false,
|
67
105
|
"unlocked_by": null,
|
68
106
|
"difficulty": 3,
|
69
|
-
"topics":
|
107
|
+
"topics": [
|
108
|
+
"loops",
|
109
|
+
"parsing",
|
110
|
+
"searching",
|
111
|
+
"strings"
|
112
|
+
]
|
70
113
|
},
|
71
114
|
{
|
72
115
|
"slug": "scrabble-score",
|
@@ -74,7 +117,13 @@
|
|
74
117
|
"core": false,
|
75
118
|
"unlocked_by": null,
|
76
119
|
"difficulty": 3,
|
77
|
-
"topics":
|
120
|
+
"topics": [
|
121
|
+
"games",
|
122
|
+
"loops",
|
123
|
+
"pattern_matching",
|
124
|
+
"strings",
|
125
|
+
"transforming"
|
126
|
+
]
|
78
127
|
},
|
79
128
|
{
|
80
129
|
"slug": "raindrops",
|
@@ -82,7 +131,12 @@
|
|
82
131
|
"core": false,
|
83
132
|
"unlocked_by": null,
|
84
133
|
"difficulty": 3,
|
85
|
-
"topics":
|
134
|
+
"topics": [
|
135
|
+
"conditionals",
|
136
|
+
"integers",
|
137
|
+
"mathematics",
|
138
|
+
"strings"
|
139
|
+
]
|
86
140
|
},
|
87
141
|
{
|
88
142
|
"slug": "difference-of-squares",
|
@@ -90,7 +144,11 @@
|
|
90
144
|
"core": false,
|
91
145
|
"unlocked_by": null,
|
92
146
|
"difficulty": 3,
|
93
|
-
"topics":
|
147
|
+
"topics": [
|
148
|
+
"integers",
|
149
|
+
"loops",
|
150
|
+
"mathematics"
|
151
|
+
]
|
94
152
|
},
|
95
153
|
{
|
96
154
|
"slug": "secret-handshake",
|
@@ -98,7 +156,16 @@
|
|
98
156
|
"core": false,
|
99
157
|
"unlocked_by": null,
|
100
158
|
"difficulty": 3,
|
101
|
-
"topics":
|
159
|
+
"topics": [
|
160
|
+
"bitwise_operations",
|
161
|
+
"conditionals",
|
162
|
+
"cryptography",
|
163
|
+
"enumerations",
|
164
|
+
"integers",
|
165
|
+
"loops",
|
166
|
+
"mathematics",
|
167
|
+
"transforming"
|
168
|
+
]
|
102
169
|
},
|
103
170
|
{
|
104
171
|
"slug": "perfect-numbers",
|
@@ -106,7 +173,13 @@
|
|
106
173
|
"core": false,
|
107
174
|
"unlocked_by": null,
|
108
175
|
"difficulty": 3,
|
109
|
-
"topics":
|
176
|
+
"topics": [
|
177
|
+
"enumerations",
|
178
|
+
"exception_handling",
|
179
|
+
"filtering",
|
180
|
+
"integers",
|
181
|
+
"mathematics"
|
182
|
+
]
|
110
183
|
},
|
111
184
|
{
|
112
185
|
"slug": "sum-of-multiples",
|
@@ -115,9 +188,11 @@
|
|
115
188
|
"unlocked_by": null,
|
116
189
|
"difficulty": 4,
|
117
190
|
"topics": [
|
118
|
-
"
|
119
|
-
"
|
120
|
-
"
|
191
|
+
"arrays",
|
192
|
+
"conditionals",
|
193
|
+
"integers",
|
194
|
+
"loops",
|
195
|
+
"mathematics"
|
121
196
|
]
|
122
197
|
},
|
123
198
|
{
|
@@ -126,7 +201,14 @@
|
|
126
201
|
"core": false,
|
127
202
|
"unlocked_by": null,
|
128
203
|
"difficulty": 4,
|
129
|
-
"topics":
|
204
|
+
"topics": [
|
205
|
+
"algorithms",
|
206
|
+
"booleans",
|
207
|
+
"loops",
|
208
|
+
"mathematics",
|
209
|
+
"strings",
|
210
|
+
"type_conversion"
|
211
|
+
]
|
130
212
|
},
|
131
213
|
{
|
132
214
|
"slug": "triangle",
|
@@ -134,7 +216,13 @@
|
|
134
216
|
"core": false,
|
135
217
|
"unlocked_by": null,
|
136
218
|
"difficulty": 4,
|
137
|
-
"topics":
|
219
|
+
"topics": [
|
220
|
+
"conditionals",
|
221
|
+
"exception_handling",
|
222
|
+
"integers",
|
223
|
+
"mathematics",
|
224
|
+
"recursion"
|
225
|
+
]
|
138
226
|
},
|
139
227
|
{
|
140
228
|
"slug": "largest-series-product",
|
@@ -142,7 +230,13 @@
|
|
142
230
|
"core": false,
|
143
231
|
"unlocked_by": null,
|
144
232
|
"difficulty": 4,
|
145
|
-
"topics":
|
233
|
+
"topics": [
|
234
|
+
"integers",
|
235
|
+
"loops",
|
236
|
+
"mathematics",
|
237
|
+
"strings",
|
238
|
+
"type_conversion"
|
239
|
+
]
|
146
240
|
},
|
147
241
|
{
|
148
242
|
"slug": "grains",
|
@@ -150,7 +244,9 @@
|
|
150
244
|
"core": false,
|
151
245
|
"unlocked_by": null,
|
152
246
|
"difficulty": 4,
|
153
|
-
"topics":
|
247
|
+
"topics": [
|
248
|
+
"integers"
|
249
|
+
]
|
154
250
|
},
|
155
251
|
{
|
156
252
|
"slug": "sieve",
|
@@ -158,7 +254,13 @@
|
|
158
254
|
"core": false,
|
159
255
|
"unlocked_by": null,
|
160
256
|
"difficulty": 4,
|
161
|
-
"topics":
|
257
|
+
"topics": [
|
258
|
+
"algorithms",
|
259
|
+
"integers",
|
260
|
+
"lists",
|
261
|
+
"loops",
|
262
|
+
"mathematics"
|
263
|
+
]
|
162
264
|
},
|
163
265
|
{
|
164
266
|
"slug": "collatz-conjecture",
|
@@ -166,7 +268,13 @@
|
|
166
268
|
"core": false,
|
167
269
|
"unlocked_by": null,
|
168
270
|
"difficulty": 4,
|
169
|
-
"topics":
|
271
|
+
"topics": [
|
272
|
+
"conditionals",
|
273
|
+
"exception_handling",
|
274
|
+
"integers",
|
275
|
+
"mathematics",
|
276
|
+
"recursion"
|
277
|
+
]
|
170
278
|
},
|
171
279
|
{
|
172
280
|
"slug": "atbash-cipher",
|
@@ -174,7 +282,11 @@
|
|
174
282
|
"core": false,
|
175
283
|
"unlocked_by": null,
|
176
284
|
"difficulty": 4,
|
177
|
-
"topics":
|
285
|
+
"topics": [
|
286
|
+
"cryptography",
|
287
|
+
"security",
|
288
|
+
"strings"
|
289
|
+
]
|
178
290
|
},
|
179
291
|
{
|
180
292
|
"slug": "nth-prime",
|
@@ -182,7 +294,13 @@
|
|
182
294
|
"core": false,
|
183
295
|
"unlocked_by": null,
|
184
296
|
"difficulty": 4,
|
185
|
-
"topics":
|
297
|
+
"topics": [
|
298
|
+
"arrays",
|
299
|
+
"exception_handling",
|
300
|
+
"integers",
|
301
|
+
"lists",
|
302
|
+
"loops"
|
303
|
+
]
|
186
304
|
},
|
187
305
|
{
|
188
306
|
"slug": "saddle-points",
|
@@ -190,7 +308,14 @@
|
|
190
308
|
"core": false,
|
191
309
|
"unlocked_by": null,
|
192
310
|
"difficulty": 4,
|
193
|
-
"topics":
|
311
|
+
"topics": [
|
312
|
+
"arrays",
|
313
|
+
"conditionals",
|
314
|
+
"exception_handling",
|
315
|
+
"integers",
|
316
|
+
"loops",
|
317
|
+
"mathematics"
|
318
|
+
]
|
194
319
|
},
|
195
320
|
{
|
196
321
|
"slug": "diamond",
|
@@ -198,7 +323,13 @@
|
|
198
323
|
"core": false,
|
199
324
|
"unlocked_by": null,
|
200
325
|
"difficulty": 4,
|
201
|
-
"topics":
|
326
|
+
"topics": [
|
327
|
+
"arrays",
|
328
|
+
"lists",
|
329
|
+
"loops",
|
330
|
+
"strings",
|
331
|
+
"text_formatting"
|
332
|
+
]
|
202
333
|
},
|
203
334
|
{
|
204
335
|
"slug": "isogram",
|
@@ -206,7 +337,12 @@
|
|
206
337
|
"core": false,
|
207
338
|
"unlocked_by": null,
|
208
339
|
"difficulty": 4,
|
209
|
-
"topics":
|
340
|
+
"topics": [
|
341
|
+
"conditionals",
|
342
|
+
"loops",
|
343
|
+
"parsing",
|
344
|
+
"strings"
|
345
|
+
]
|
210
346
|
},
|
211
347
|
{
|
212
348
|
"slug": "flatten-array",
|
@@ -214,7 +350,10 @@
|
|
214
350
|
"core": false,
|
215
351
|
"unlocked_by": null,
|
216
352
|
"difficulty": 5,
|
217
|
-
"topics":
|
353
|
+
"topics": [
|
354
|
+
"stacks",
|
355
|
+
"strings"
|
356
|
+
]
|
218
357
|
},
|
219
358
|
{
|
220
359
|
"slug": "pig-latin",
|
@@ -222,7 +361,12 @@
|
|
222
361
|
"core": false,
|
223
362
|
"unlocked_by": null,
|
224
363
|
"difficulty": 5,
|
225
|
-
"topics":
|
364
|
+
"topics": [
|
365
|
+
"arrays",
|
366
|
+
"lists",
|
367
|
+
"strings",
|
368
|
+
"transforming"
|
369
|
+
]
|
226
370
|
},
|
227
371
|
{
|
228
372
|
"slug": "phone-number",
|
@@ -230,7 +374,12 @@
|
|
230
374
|
"core": false,
|
231
375
|
"unlocked_by": null,
|
232
376
|
"difficulty": 5,
|
233
|
-
"topics":
|
377
|
+
"topics": [
|
378
|
+
"conditionals",
|
379
|
+
"pattern_matching",
|
380
|
+
"regular_expressions",
|
381
|
+
"strings"
|
382
|
+
]
|
234
383
|
},
|
235
384
|
{
|
236
385
|
"slug": "nucleotide-count",
|
@@ -238,7 +387,15 @@
|
|
238
387
|
"core": false,
|
239
388
|
"unlocked_by": null,
|
240
389
|
"difficulty": 5,
|
241
|
-
"topics":
|
390
|
+
"topics": [
|
391
|
+
"conditionals",
|
392
|
+
"exception_handling",
|
393
|
+
"integers",
|
394
|
+
"maps",
|
395
|
+
"parsing",
|
396
|
+
"searching",
|
397
|
+
"strings"
|
398
|
+
]
|
242
399
|
},
|
243
400
|
{
|
244
401
|
"slug": "word-count",
|
@@ -246,7 +403,13 @@
|
|
246
403
|
"core": false,
|
247
404
|
"unlocked_by": null,
|
248
405
|
"difficulty": 5,
|
249
|
-
"topics":
|
406
|
+
"topics": [
|
407
|
+
"conditionals",
|
408
|
+
"integers",
|
409
|
+
"loops",
|
410
|
+
"maps",
|
411
|
+
"strings"
|
412
|
+
]
|
250
413
|
},
|
251
414
|
{
|
252
415
|
"slug": "spiral-matrix",
|
@@ -254,7 +417,13 @@
|
|
254
417
|
"core": false,
|
255
418
|
"unlocked_by": null,
|
256
419
|
"difficulty": 5,
|
257
|
-
"topics":
|
420
|
+
"topics": [
|
421
|
+
"arrays",
|
422
|
+
"integers",
|
423
|
+
"loops",
|
424
|
+
"mathematics",
|
425
|
+
"matrices"
|
426
|
+
]
|
258
427
|
},
|
259
428
|
{
|
260
429
|
"slug": "robot-name",
|
@@ -262,7 +431,13 @@
|
|
262
431
|
"core": false,
|
263
432
|
"unlocked_by": null,
|
264
433
|
"difficulty": 5,
|
265
|
-
"topics":
|
434
|
+
"topics": [
|
435
|
+
"pattern_matching",
|
436
|
+
"randomness",
|
437
|
+
"regular_expressions",
|
438
|
+
"strings",
|
439
|
+
"text_formatting"
|
440
|
+
]
|
266
441
|
},
|
267
442
|
{
|
268
443
|
"slug": "prime-factors",
|
@@ -270,7 +445,14 @@
|
|
270
445
|
"core": false,
|
271
446
|
"unlocked_by": null,
|
272
447
|
"difficulty": 5,
|
273
|
-
"topics":
|
448
|
+
"topics": [
|
449
|
+
"arrays",
|
450
|
+
"conditionals",
|
451
|
+
"integers",
|
452
|
+
"lists",
|
453
|
+
"loops",
|
454
|
+
"mathematics"
|
455
|
+
]
|
274
456
|
},
|
275
457
|
{
|
276
458
|
"slug": "allergies",
|
@@ -278,7 +460,14 @@
|
|
278
460
|
"core": false,
|
279
461
|
"unlocked_by": null,
|
280
462
|
"difficulty": 5,
|
281
|
-
"topics":
|
463
|
+
"topics": [
|
464
|
+
"booleans",
|
465
|
+
"conditionals",
|
466
|
+
"enumerations",
|
467
|
+
"integers",
|
468
|
+
"lists",
|
469
|
+
"loops"
|
470
|
+
]
|
282
471
|
},
|
283
472
|
{
|
284
473
|
"slug": "bob",
|
@@ -286,7 +475,11 @@
|
|
286
475
|
"core": false,
|
287
476
|
"unlocked_by": null,
|
288
477
|
"difficulty": 5,
|
289
|
-
"topics":
|
478
|
+
"topics": [
|
479
|
+
"booleans",
|
480
|
+
"conditionals",
|
481
|
+
"strings"
|
482
|
+
]
|
290
483
|
},
|
291
484
|
{
|
292
485
|
"slug": "pascals-triangle",
|
@@ -294,7 +487,14 @@
|
|
294
487
|
"core": false,
|
295
488
|
"unlocked_by": null,
|
296
489
|
"difficulty": 5,
|
297
|
-
"topics":
|
490
|
+
"topics": [
|
491
|
+
"algorithms",
|
492
|
+
"arrays",
|
493
|
+
"exception_handling",
|
494
|
+
"integers",
|
495
|
+
"mathematics",
|
496
|
+
"matrices"
|
497
|
+
]
|
298
498
|
},
|
299
499
|
{
|
300
500
|
"slug": "bracket-push",
|
@@ -302,7 +502,10 @@
|
|
302
502
|
"core": false,
|
303
503
|
"unlocked_by": null,
|
304
504
|
"difficulty": 5,
|
305
|
-
"topics":
|
505
|
+
"topics": [
|
506
|
+
"stacks",
|
507
|
+
"strings"
|
508
|
+
]
|
306
509
|
},
|
307
510
|
{
|
308
511
|
"slug": "series",
|
@@ -310,7 +513,13 @@
|
|
310
513
|
"core": false,
|
311
514
|
"unlocked_by": null,
|
312
515
|
"difficulty": 5,
|
313
|
-
"topics":
|
516
|
+
"topics": [
|
517
|
+
"conditionals",
|
518
|
+
"lists",
|
519
|
+
"loops",
|
520
|
+
"strings",
|
521
|
+
"type_conversion"
|
522
|
+
]
|
314
523
|
},
|
315
524
|
{
|
316
525
|
"slug": "rotational-cipher",
|
@@ -318,7 +527,23 @@
|
|
318
527
|
"core": false,
|
319
528
|
"unlocked_by": null,
|
320
529
|
"difficulty": 5,
|
321
|
-
"topics":
|
530
|
+
"topics": [
|
531
|
+
"cryptography",
|
532
|
+
"integers",
|
533
|
+
"strings"
|
534
|
+
]
|
535
|
+
},
|
536
|
+
{
|
537
|
+
"slug": "bank-account",
|
538
|
+
"uuid": "12e1d685-32be-4b2c-a40b-c68e5b60de1d",
|
539
|
+
"core": false,
|
540
|
+
"unlocked_by": null,
|
541
|
+
"difficulty": 6,
|
542
|
+
"topics": [
|
543
|
+
"concurrency",
|
544
|
+
"exception_handling",
|
545
|
+
"integers"
|
546
|
+
]
|
322
547
|
},
|
323
548
|
{
|
324
549
|
"slug": "roman-numerals",
|
@@ -326,7 +551,14 @@
|
|
326
551
|
"core": false,
|
327
552
|
"unlocked_by": null,
|
328
553
|
"difficulty": 6,
|
329
|
-
"topics":
|
554
|
+
"topics": [
|
555
|
+
"integers",
|
556
|
+
"logic",
|
557
|
+
"loops",
|
558
|
+
"maps",
|
559
|
+
"mathematics",
|
560
|
+
"strings"
|
561
|
+
]
|
330
562
|
},
|
331
563
|
{
|
332
564
|
"slug": "beer-song",
|
@@ -334,7 +566,13 @@
|
|
334
566
|
"core": false,
|
335
567
|
"unlocked_by": null,
|
336
568
|
"difficulty": 6,
|
337
|
-
"topics":
|
569
|
+
"topics": [
|
570
|
+
"conditionals",
|
571
|
+
"loops",
|
572
|
+
"strings",
|
573
|
+
"text_formatting",
|
574
|
+
"variables"
|
575
|
+
]
|
338
576
|
},
|
339
577
|
{
|
340
578
|
"slug": "etl",
|
@@ -342,7 +580,11 @@
|
|
342
580
|
"core": false,
|
343
581
|
"unlocked_by": null,
|
344
582
|
"difficulty": 6,
|
345
|
-
"topics":
|
583
|
+
"topics": [
|
584
|
+
"lists",
|
585
|
+
"maps",
|
586
|
+
"transforming"
|
587
|
+
]
|
346
588
|
},
|
347
589
|
{
|
348
590
|
"slug": "linked-list",
|
@@ -350,7 +592,11 @@
|
|
350
592
|
"core": false,
|
351
593
|
"unlocked_by": null,
|
352
594
|
"difficulty": 6,
|
353
|
-
"topics":
|
595
|
+
"topics": [
|
596
|
+
"algorithms",
|
597
|
+
"generics",
|
598
|
+
"lists"
|
599
|
+
]
|
354
600
|
},
|
355
601
|
{
|
356
602
|
"slug": "grade-school",
|
@@ -358,7 +604,13 @@
|
|
358
604
|
"core": false,
|
359
605
|
"unlocked_by": null,
|
360
606
|
"difficulty": 6,
|
361
|
-
"topics":
|
607
|
+
"topics": [
|
608
|
+
"conditionals",
|
609
|
+
"lists",
|
610
|
+
"maps",
|
611
|
+
"sorting",
|
612
|
+
"strings"
|
613
|
+
]
|
362
614
|
},
|
363
615
|
{
|
364
616
|
"slug": "robot-simulator",
|
@@ -366,7 +618,12 @@
|
|
366
618
|
"core": false,
|
367
619
|
"unlocked_by": null,
|
368
620
|
"difficulty": 6,
|
369
|
-
"topics":
|
621
|
+
"topics": [
|
622
|
+
"classes",
|
623
|
+
"enumerations",
|
624
|
+
"logic",
|
625
|
+
"loops"
|
626
|
+
]
|
370
627
|
},
|
371
628
|
{
|
372
629
|
"slug": "binary-search",
|
@@ -374,7 +631,12 @@
|
|
374
631
|
"core": false,
|
375
632
|
"unlocked_by": null,
|
376
633
|
"difficulty": 6,
|
377
|
-
"topics":
|
634
|
+
"topics": [
|
635
|
+
"arrays",
|
636
|
+
"generics",
|
637
|
+
"recursion",
|
638
|
+
"searching"
|
639
|
+
]
|
378
640
|
},
|
379
641
|
{
|
380
642
|
"slug": "minesweeper",
|
@@ -382,7 +644,14 @@
|
|
382
644
|
"core": false,
|
383
645
|
"unlocked_by": null,
|
384
646
|
"difficulty": 6,
|
385
|
-
"topics":
|
647
|
+
"topics": [
|
648
|
+
"conditionals",
|
649
|
+
"games",
|
650
|
+
"integers",
|
651
|
+
"lists",
|
652
|
+
"matrices",
|
653
|
+
"strings"
|
654
|
+
]
|
386
655
|
},
|
387
656
|
{
|
388
657
|
"slug": "all-your-base",
|
@@ -390,7 +659,14 @@
|
|
390
659
|
"core": false,
|
391
660
|
"unlocked_by": null,
|
392
661
|
"difficulty": 6,
|
393
|
-
"topics":
|
662
|
+
"topics": [
|
663
|
+
"arrays",
|
664
|
+
"conditionals",
|
665
|
+
"exception_handling",
|
666
|
+
"integers",
|
667
|
+
"loops",
|
668
|
+
"mathematics"
|
669
|
+
]
|
394
670
|
},
|
395
671
|
{
|
396
672
|
"slug": "say",
|
@@ -398,7 +674,10 @@
|
|
398
674
|
"core": false,
|
399
675
|
"unlocked_by": null,
|
400
676
|
"difficulty": 6,
|
401
|
-
"topics":
|
677
|
+
"topics": [
|
678
|
+
"strings",
|
679
|
+
"transforming"
|
680
|
+
]
|
402
681
|
},
|
403
682
|
{
|
404
683
|
"slug": "anagram",
|
@@ -406,7 +685,14 @@
|
|
406
685
|
"core": false,
|
407
686
|
"unlocked_by": null,
|
408
687
|
"difficulty": 7,
|
409
|
-
"topics":
|
688
|
+
"topics": [
|
689
|
+
"arrays",
|
690
|
+
"conditionals",
|
691
|
+
"equality",
|
692
|
+
"lists",
|
693
|
+
"loops",
|
694
|
+
"strings"
|
695
|
+
]
|
410
696
|
},
|
411
697
|
{
|
412
698
|
"slug": "sublist",
|
@@ -414,7 +700,13 @@
|
|
414
700
|
"core": false,
|
415
701
|
"unlocked_by": null,
|
416
702
|
"difficulty": 7,
|
417
|
-
"topics":
|
703
|
+
"topics": [
|
704
|
+
"enumeration",
|
705
|
+
"generics",
|
706
|
+
"lists",
|
707
|
+
"loops",
|
708
|
+
"searching"
|
709
|
+
]
|
418
710
|
},
|
419
711
|
{
|
420
712
|
"slug": "meetup",
|
@@ -422,7 +714,12 @@
|
|
422
714
|
"core": false,
|
423
715
|
"unlocked_by": null,
|
424
716
|
"difficulty": 7,
|
425
|
-
"topics":
|
717
|
+
"topics": [
|
718
|
+
"conditionals",
|
719
|
+
"dates",
|
720
|
+
"enumerations",
|
721
|
+
"loops"
|
722
|
+
]
|
426
723
|
},
|
427
724
|
{
|
428
725
|
"slug": "clock",
|
@@ -430,7 +727,28 @@
|
|
430
727
|
"core": false,
|
431
728
|
"unlocked_by": null,
|
432
729
|
"difficulty": 7,
|
433
|
-
"topics":
|
730
|
+
"topics": [
|
731
|
+
"equality",
|
732
|
+
"integers",
|
733
|
+
"logic",
|
734
|
+
"object_oriented_programming",
|
735
|
+
"strings",
|
736
|
+
"time"
|
737
|
+
]
|
738
|
+
},
|
739
|
+
{
|
740
|
+
"slug": "list-ops",
|
741
|
+
"uuid": "34f1d5bf-f31f-415e-9905-4d48e6205d28",
|
742
|
+
"core": false,
|
743
|
+
"unlocked_by": null,
|
744
|
+
"difficulty": 8,
|
745
|
+
"topics": [
|
746
|
+
"filtering",
|
747
|
+
"functional_programming",
|
748
|
+
"generics",
|
749
|
+
"lists",
|
750
|
+
"loops"
|
751
|
+
]
|
434
752
|
},
|
435
753
|
{
|
436
754
|
"slug": "simple-cipher",
|
@@ -438,7 +756,14 @@
|
|
438
756
|
"core": false,
|
439
757
|
"unlocked_by": null,
|
440
758
|
"difficulty": 8,
|
441
|
-
"topics":
|
759
|
+
"topics": [
|
760
|
+
"cryptography",
|
761
|
+
"exception_handling",
|
762
|
+
"mathematics",
|
763
|
+
"randomness",
|
764
|
+
"security",
|
765
|
+
"strings"
|
766
|
+
]
|
442
767
|
},
|
443
768
|
{
|
444
769
|
"slug": "complex-numbers",
|
@@ -446,7 +771,10 @@
|
|
446
771
|
"core": false,
|
447
772
|
"unlocked_by": null,
|
448
773
|
"difficulty": 8,
|
449
|
-
"topics":
|
774
|
+
"topics": [
|
775
|
+
"floating_point_numbers",
|
776
|
+
"mathematics"
|
777
|
+
]
|
450
778
|
},
|
451
779
|
{
|
452
780
|
"slug": "change",
|
@@ -454,7 +782,12 @@
|
|
454
782
|
"core": false,
|
455
783
|
"unlocked_by": null,
|
456
784
|
"difficulty": 8,
|
457
|
-
"topics":
|
785
|
+
"topics": [
|
786
|
+
"algorithms",
|
787
|
+
"exception_handling",
|
788
|
+
"integers",
|
789
|
+
"lists"
|
790
|
+
]
|
458
791
|
},
|
459
792
|
{
|
460
793
|
"slug": "forth",
|
@@ -462,7 +795,14 @@
|
|
462
795
|
"core": false,
|
463
796
|
"unlocked_by": null,
|
464
797
|
"difficulty": 9,
|
465
|
-
"topics":
|
798
|
+
"topics": [
|
799
|
+
"exception_handling",
|
800
|
+
"lists",
|
801
|
+
"logic",
|
802
|
+
"parsing",
|
803
|
+
"stacks",
|
804
|
+
"strings"
|
805
|
+
]
|
466
806
|
},
|
467
807
|
{
|
468
808
|
"slug": "react",
|
@@ -477,32 +817,6 @@
|
|
477
817
|
"reactive_programming"
|
478
818
|
]
|
479
819
|
},
|
480
|
-
{
|
481
|
-
"slug": "leap",
|
482
|
-
"uuid": "639e59b6-84aa-4f13-9718-537606703c43",
|
483
|
-
"core": false,
|
484
|
-
"unlocked_by": null,
|
485
|
-
"difficulty": 1,
|
486
|
-
"topics": null
|
487
|
-
},
|
488
|
-
{
|
489
|
-
"slug": "list-ops",
|
490
|
-
"uuid": "34f1d5bf-f31f-415e-9905-4d48e6205d28",
|
491
|
-
"core": false,
|
492
|
-
"unlocked_by": null,
|
493
|
-
"difficulty": 1,
|
494
|
-
"topics": null
|
495
|
-
},
|
496
|
-
{
|
497
|
-
"slug": "bank-account",
|
498
|
-
"uuid": "12e1d685-32be-4b2c-a40b-c68e5b60de1d",
|
499
|
-
"core": false,
|
500
|
-
"unlocked_by": null,
|
501
|
-
"difficulty": 1,
|
502
|
-
"topics": [
|
503
|
-
"concurrency"
|
504
|
-
]
|
505
|
-
},
|
506
820
|
{
|
507
821
|
"slug": "accumulate",
|
508
822
|
"uuid": "86015770-603b-44cf-aedf-f2a7cf79c841",
|