trackler 2.2.1.6 → 2.2.1.7
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/trackler/version.rb +1 -1
- data/tracks/c/README.md +27 -0
- data/tracks/coffeescript/config.json +1 -0
- data/tracks/coldfusion/config.json +1 -1
- data/tracks/crystal/README.md +27 -7
- data/tracks/crystal/config/maintainers.json +25 -0
- data/tracks/crystal/generator/spec/remote_data_file_spec.cr +1 -1
- data/tracks/crystal/generator/src/exercise_generator.cr +1 -1
- data/tracks/crystal/generator/src/remote_data_file.cr +2 -2
- data/tracks/csharp/config.json +1 -2
- data/tracks/csharp/config/maintainers.json +55 -0
- data/tracks/csharp/docs/EXERCISE_README_INSERT.md +1 -1
- data/tracks/csharp/exercises/accumulate/README.md +1 -1
- data/tracks/csharp/exercises/acronym/README.md +1 -1
- data/tracks/csharp/exercises/all-your-base/README.md +1 -1
- data/tracks/csharp/exercises/allergies/README.md +1 -1
- data/tracks/csharp/exercises/alphametics/README.md +1 -1
- data/tracks/csharp/exercises/anagram/README.md +1 -1
- data/tracks/csharp/exercises/atbash-cipher/README.md +1 -1
- data/tracks/csharp/exercises/bank-account/README.md +1 -1
- data/tracks/csharp/exercises/beer-song/README.md +1 -1
- data/tracks/csharp/exercises/binary-search-tree/README.md +1 -1
- data/tracks/csharp/exercises/binary-search/README.md +1 -1
- data/tracks/csharp/exercises/bob/README.md +1 -1
- data/tracks/csharp/exercises/book-store/README.md +1 -1
- data/tracks/csharp/exercises/bowling/README.md +1 -1
- data/tracks/csharp/exercises/bracket-push/README.md +1 -1
- data/tracks/csharp/exercises/change/README.md +1 -1
- data/tracks/csharp/exercises/circular-buffer/README.md +1 -1
- data/tracks/csharp/exercises/clock/README.md +1 -1
- data/tracks/csharp/exercises/connect/README.md +1 -1
- data/tracks/csharp/exercises/crypto-square/README.md +1 -1
- data/tracks/csharp/exercises/custom-set/README.md +1 -1
- data/tracks/csharp/exercises/diamond/README.md +1 -1
- data/tracks/csharp/exercises/difference-of-squares/README.md +1 -1
- data/tracks/csharp/exercises/diffie-hellman/README.md +1 -1
- data/tracks/csharp/exercises/dominoes/README.md +1 -1
- data/tracks/csharp/exercises/dot-dsl/README.md +1 -1
- data/tracks/csharp/exercises/error-handling/README.md +1 -1
- data/tracks/csharp/exercises/etl/README.md +1 -1
- data/tracks/csharp/exercises/flatten-array/README.md +1 -1
- data/tracks/csharp/exercises/food-chain/README.md +1 -1
- data/tracks/csharp/exercises/forth/README.md +1 -1
- data/tracks/csharp/exercises/gigasecond/README.md +1 -1
- data/tracks/csharp/exercises/go-counting/README.md +1 -1
- data/tracks/csharp/exercises/grade-school/README.md +1 -1
- data/tracks/csharp/exercises/grains/README.md +1 -1
- data/tracks/csharp/exercises/grep/README.md +1 -1
- data/tracks/csharp/exercises/hamming/README.md +1 -1
- data/tracks/csharp/exercises/hangman/README.md +1 -1
- data/tracks/csharp/exercises/hello-world/README.md +1 -1
- data/tracks/csharp/exercises/house/README.md +1 -1
- data/tracks/csharp/exercises/isogram/README.md +1 -1
- data/tracks/csharp/exercises/kindergarten-garden/README.md +1 -1
- data/tracks/csharp/exercises/largest-series-product/README.md +1 -1
- data/tracks/csharp/exercises/leap/README.md +1 -1
- data/tracks/csharp/exercises/ledger/README.md +1 -1
- data/tracks/csharp/exercises/linked-list/README.md +1 -1
- data/tracks/csharp/exercises/list-ops/README.md +1 -1
- data/tracks/csharp/exercises/luhn/README.md +1 -1
- data/tracks/csharp/exercises/markdown/README.md +1 -1
- data/tracks/csharp/exercises/matrix/README.md +1 -1
- data/tracks/csharp/exercises/meetup/README.md +1 -1
- data/tracks/csharp/exercises/minesweeper/README.md +1 -1
- data/tracks/csharp/exercises/nth-prime/README.md +1 -1
- data/tracks/csharp/exercises/nucleotide-count/README.md +1 -1
- data/tracks/csharp/exercises/ocr-numbers/README.md +1 -1
- data/tracks/csharp/exercises/palindrome-products/README.md +1 -1
- data/tracks/csharp/exercises/pangram/README.md +1 -1
- data/tracks/csharp/exercises/parallel-letter-frequency/README.md +1 -1
- data/tracks/csharp/exercises/pascals-triangle/README.md +1 -1
- data/tracks/csharp/exercises/perfect-numbers/README.md +1 -1
- data/tracks/csharp/exercises/phone-number/README.md +1 -1
- data/tracks/csharp/exercises/pig-latin/README.md +1 -1
- data/tracks/csharp/exercises/poker/README.md +1 -1
- data/tracks/csharp/exercises/pov/README.md +1 -1
- data/tracks/csharp/exercises/prime-factors/README.md +1 -1
- data/tracks/csharp/exercises/protein-translation/README.md +1 -1
- data/tracks/csharp/exercises/proverb/README.md +1 -1
- data/tracks/csharp/exercises/pythagorean-triplet/README.md +1 -1
- data/tracks/csharp/exercises/queen-attack/README.md +1 -1
- data/tracks/csharp/exercises/rail-fence-cipher/README.md +1 -1
- data/tracks/csharp/exercises/raindrops/README.md +1 -1
- data/tracks/csharp/exercises/react/README.md +1 -1
- data/tracks/csharp/exercises/rectangles/README.md +1 -1
- data/tracks/csharp/exercises/rna-transcription/README.md +1 -1
- data/tracks/csharp/exercises/robot-name/README.md +1 -1
- data/tracks/csharp/exercises/robot-simulator/README.md +1 -1
- data/tracks/csharp/exercises/roman-numerals/README.md +1 -1
- data/tracks/csharp/exercises/rotational-cipher/README.md +1 -1
- data/tracks/csharp/exercises/run-length-encoding/README.md +1 -1
- data/tracks/csharp/exercises/saddle-points/README.md +1 -1
- data/tracks/csharp/exercises/say/README.md +1 -1
- data/tracks/csharp/exercises/scale-generator/README.md +1 -1
- data/tracks/csharp/exercises/scrabble-score/README.md +1 -1
- data/tracks/csharp/exercises/secret-handshake/README.md +1 -1
- data/tracks/csharp/exercises/series/README.md +1 -1
- data/tracks/csharp/exercises/sgf-parsing/README.md +1 -1
- data/tracks/csharp/exercises/sieve/README.md +1 -1
- data/tracks/csharp/exercises/simple-cipher/README.md +1 -1
- data/tracks/csharp/exercises/simple-linked-list/README.md +1 -1
- data/tracks/csharp/exercises/space-age/README.md +1 -1
- data/tracks/csharp/exercises/strain/README.md +1 -1
- data/tracks/csharp/exercises/sublist/README.md +1 -1
- data/tracks/csharp/exercises/sum-of-multiples/README.md +1 -1
- data/tracks/csharp/exercises/tournament/README.md +1 -1
- data/tracks/csharp/exercises/transpose/README.md +1 -1
- data/tracks/csharp/exercises/tree-building/README.md +1 -1
- data/tracks/csharp/exercises/triangle/README.md +1 -1
- data/tracks/csharp/exercises/twelve-days/README.md +1 -1
- data/tracks/csharp/exercises/two-bucket/README.md +1 -1
- data/tracks/csharp/exercises/variable-length-quantity/README.md +1 -1
- data/tracks/csharp/exercises/word-count/README.md +1 -1
- data/tracks/csharp/exercises/word-search/README.md +1 -1
- data/tracks/csharp/exercises/wordy/README.md +1 -1
- data/tracks/csharp/exercises/zebra-puzzle/README.md +1 -1
- data/tracks/csharp/exercises/zipper/README.md +1 -1
- data/tracks/d/config.json +1 -0
- data/tracks/dart/config/maintainers.json +15 -0
- data/tracks/ecmascript/config.json +76 -193
- data/tracks/ecmascript/exercises/twelve-days/README.md +66 -0
- data/tracks/ecmascript/exercises/twelve-days/example.js +53 -0
- data/tracks/ecmascript/exercises/twelve-days/package.json +68 -0
- data/tracks/ecmascript/exercises/twelve-days/twelve-days.spec.js +106 -0
- data/tracks/factor/config.json +1 -1
- data/tracks/fsharp/config/maintainers.json +35 -0
- data/tracks/go/config.json +82 -38
- data/tracks/go/config/maintainers.json +13 -22
- data/tracks/go/exercises/bowling/cases_test.go +11 -11
- data/tracks/go/exercises/forth/cases_test.go +7 -7
- data/tracks/go/exercises/forth/example.go +1 -1
- data/tracks/go/exercises/forth/forth_test.go +1 -1
- data/tracks/go/exercises/hamming/cases_test.go +7 -7
- data/tracks/go/exercises/hamming/hamming.go +1 -1
- data/tracks/go/exercises/phone-number/cases_test.go +2 -7
- data/tracks/go/exercises/phone-number/example.go +1 -1
- data/tracks/go/exercises/phone-number/phone_number_test.go +1 -1
- data/tracks/go/exercises/rna-transcription/cases_test.go +7 -7
- data/tracks/go/exercises/secret-handshake/cases_test.go +1 -1
- data/tracks/groovy/config.json +1 -0
- data/tracks/haxe/config.json +1 -1
- data/tracks/java/.travis.yml +1 -1
- data/tracks/java/config/maintainers.json +20 -0
- data/tracks/java/exercises/custom-set/src/test/java/CustomSetTest.java +1 -1
- data/tracks/java/exercises/word-count/src/test/java/WordCountTest.java +1 -1
- data/tracks/javascript/config.json +229 -247
- data/tracks/kotlin/config/maintainers.json +35 -0
- data/tracks/lfe/config/maintainers.json +15 -0
- data/tracks/lisp/config/maintainers.json +55 -0
- data/tracks/ocaml/config.json +0 -5
- data/tracks/ocaml/config/maintainers.json +25 -0
- data/tracks/perl5/config/maintainers.json +25 -0
- data/tracks/perl6/config/maintainers.json +25 -0
- data/tracks/pony/config/maintainers.json +15 -0
- data/tracks/pony/exercises/atbash-cipher/example.pony +2 -2
- data/tracks/pony/exercises/beer-song/example.pony +1 -1
- data/tracks/pony/exercises/bob/example.pony +1 -1
- data/tracks/pony/exercises/difference-of-squares/example.pony +1 -1
- data/tracks/pony/exercises/hamming/test.pony +12 -12
- data/tracks/pony/exercises/pascals-triangle/example.pony +1 -1
- data/tracks/pony/exercises/pascals-triangle/test.pony +6 -6
- data/tracks/pony/exercises/rna-transcription/test.pony +3 -3
- data/tracks/pony/exercises/roman-numerals/test.pony +3 -3
- data/tracks/purescript/config/maintainers.json +35 -0
- data/tracks/r/config.json +140 -81
- data/tracks/r/exercises/collatz-conjecture/README.md +43 -0
- data/tracks/r/exercises/collatz-conjecture/collatz-conjecture.R +3 -0
- data/tracks/r/exercises/collatz-conjecture/example.R +13 -0
- data/tracks/r/exercises/collatz-conjecture/test_collatz-conjecture.R +28 -0
- data/tracks/r/exercises/nucleotide-count/README.md +43 -0
- data/tracks/r/exercises/nucleotide-count/example.R +17 -0
- data/tracks/r/exercises/nucleotide-count/nucleotide-count.R +3 -0
- data/tracks/r/exercises/nucleotide-count/test_nucleotide-count.R +51 -0
- data/tracks/r/exercises/pangram/README.md +25 -0
- data/tracks/r/exercises/pangram/example.R +14 -0
- data/tracks/r/exercises/pangram/pangram.R +3 -0
- data/tracks/r/exercises/pangram/test_pangram.R +42 -0
- data/tracks/r/exercises/triangle/.meta/hints.md +4 -0
- data/tracks/r/exercises/triangle/README.md +41 -0
- data/tracks/r/exercises/triangle/example.R +23 -0
- data/tracks/r/exercises/triangle/test_triangle.R +72 -0
- data/tracks/r/exercises/triangle/triangle.R +3 -0
- data/tracks/rust/config.json +32 -1
- data/tracks/rust/config/maintainers.json +1 -6
- data/tracks/rust/exercises/acronym/tests/acronym.rs +1 -1
- data/tracks/rust/exercises/beer-song/example.rs +1 -1
- data/tracks/rust/exercises/circular-buffer/example.rs +8 -10
- data/tracks/rust/exercises/circular-buffer/tests/circular-buffer.rs +2 -2
- data/tracks/rust/exercises/clock/.meta/hints.md +10 -0
- data/tracks/rust/exercises/clock/Cargo.lock +4 -0
- data/tracks/rust/exercises/clock/Cargo.toml +6 -0
- data/tracks/rust/exercises/clock/README.md +57 -0
- data/tracks/rust/exercises/clock/example.rs +32 -0
- data/tracks/{ocaml/exercises/point-mutations/example.ml → rust/exercises/clock/src/lib.rs} +0 -0
- data/tracks/rust/exercises/clock/tests/clock.rs +331 -0
- data/tracks/rust/exercises/custom-set/tests/custom-set.rs +3 -3
- data/tracks/rust/exercises/dominoes/example.rs +1 -1
- data/tracks/rust/exercises/grade-school/example.rs +1 -1
- data/tracks/rust/exercises/hamming/example.rs +1 -1
- data/tracks/rust/exercises/nth-prime/Cargo.lock +4 -0
- data/tracks/rust/exercises/nth-prime/Cargo.toml +6 -0
- data/tracks/rust/exercises/nth-prime/README.md +47 -0
- data/tracks/rust/exercises/nth-prime/example.rs +28 -0
- data/tracks/rust/exercises/nth-prime/src/lib.rs +0 -0
- data/tracks/rust/exercises/nth-prime/tests/nth-prime.rs +30 -0
- data/tracks/rust/exercises/parallel-letter-frequency/example.rs +1 -1
- data/tracks/rust/exercises/phone-number/example.rs +1 -1
- data/tracks/rust/exercises/pythagorean-triplet/Cargo.lock +4 -0
- data/tracks/rust/exercises/pythagorean-triplet/Cargo.toml +6 -0
- data/tracks/rust/exercises/pythagorean-triplet/README.md +56 -0
- data/tracks/rust/exercises/pythagorean-triplet/example.rs +11 -0
- data/tracks/rust/exercises/pythagorean-triplet/src/lib.rs +0 -0
- data/tracks/rust/exercises/pythagorean-triplet/tests/pythagorean-triplet.rs +6 -0
- data/tracks/rust/exercises/rna-transcription/tests/rna-transcription.rs +1 -1
- data/tracks/rust/exercises/robot-name/tests/robot-name.rs +2 -2
- data/tracks/rust/exercises/say/example.rs +4 -4
- data/tracks/rust/exercises/say/tests/say.rs +4 -4
- data/tracks/rust/exercises/tournament/example.rs +2 -2
- data/tracks/scala/config/maintainers.json +10 -6
- data/tracks/scala/exercises/bracket-push/example.scala +2 -2
- data/tracks/scala/exercises/bracket-push/src/test/scala/BracketPushTest.scala +74 -0
- data/tracks/scala/exercises/crypto-square/example.scala +9 -9
- data/tracks/scala/exercises/crypto-square/src/test/scala/CryptoSquareTest.scala +33 -41
- data/tracks/scala/testgen/src/main/scala/BracketPushTestGenerator.scala +9 -38
- data/tracks/scala/testgen/src/main/scala/CryptoSquareTestGenerator.scala +17 -0
- data/tracks/sml/config.json +1 -1
- data/tracks/swift/config/maintainers.json +35 -0
- data/tracks/swift/docs/ABOUT.md +15 -5
- data/tracks/vimscript/config/maintainers.json +35 -0
- metadata +58 -8
- data/tracks/ocaml/exercises/point-mutations/Makefile +0 -8
- data/tracks/ocaml/exercises/point-mutations/README.md +0 -81
- data/tracks/ocaml/exercises/point-mutations/dna.mli +0 -6
- data/tracks/scala/exercises/bracket-push/src/test/scala/BracketsTest.scala +0 -68
- data/tracks/scala/exercises/crypto-square/src/main/scala/CryptoSquare.scala +0 -11
@@ -12,13 +12,7 @@
|
|
12
12
|
},
|
13
13
|
{
|
14
14
|
"github_username": "kytrinyx",
|
15
|
-
"
|
16
|
-
"alumnus": false,
|
17
|
-
"name": null,
|
18
|
-
"bio": null,
|
19
|
-
"link_text": null,
|
20
|
-
"link_url": null,
|
21
|
-
"avatar_url": null
|
15
|
+
"alumnus": true
|
22
16
|
},
|
23
17
|
{
|
24
18
|
"github_username": "petertseng",
|
@@ -42,13 +36,10 @@
|
|
42
36
|
},
|
43
37
|
{
|
44
38
|
"github_username": "tleen",
|
45
|
-
"show_on_website":
|
46
|
-
"
|
47
|
-
"
|
48
|
-
"
|
49
|
-
"link_text": null,
|
50
|
-
"link_url": null,
|
51
|
-
"avatar_url": null
|
39
|
+
"show_on_website": true,
|
40
|
+
"name": "Tom Leen",
|
41
|
+
"link_text": "thomasleen.com",
|
42
|
+
"link_url": "http://www.thomasleen.com"
|
52
43
|
},
|
53
44
|
{
|
54
45
|
"github_username": "soniakeys",
|
@@ -62,20 +53,20 @@
|
|
62
53
|
},
|
63
54
|
{
|
64
55
|
"github_username": "robphoenix",
|
65
|
-
"show_on_website":
|
56
|
+
"show_on_website": true,
|
66
57
|
"alumnus": false,
|
67
|
-
"name":
|
68
|
-
"bio":
|
69
|
-
"link_text":
|
70
|
-
"link_url":
|
58
|
+
"name": "Rob Phoenix",
|
59
|
+
"bio": "I used to be an artist, and am now a software engineer, using Go to build tools for network engineers. Maintaining Exercism's Go track has opened up the world of open source to me.",
|
60
|
+
"link_text": "robphoenix.com",
|
61
|
+
"link_url": "https://blog.robphoenix.com/",
|
71
62
|
"avatar_url": null
|
72
63
|
},
|
73
64
|
{
|
74
65
|
"github_username": "leenipper",
|
75
|
-
"show_on_website":
|
66
|
+
"show_on_website": true,
|
76
67
|
"alumnus": false,
|
77
|
-
"name":
|
78
|
-
"bio":
|
68
|
+
"name": "Lee Nipper",
|
69
|
+
"bio": "Firmware Engineer by day. I like Go a lot, and I'm optimistic about its adoption. Helping on Exercism track allows me to learn more. My focus is adding exercise solutions and test case generators.",
|
79
70
|
"link_text": null,
|
80
71
|
"link_url": null,
|
81
72
|
"avatar_url": null
|
@@ -1,8 +1,8 @@
|
|
1
1
|
package bowling
|
2
2
|
|
3
3
|
// Source: exercism/x-common
|
4
|
-
// Commit:
|
5
|
-
// x-common version: 1.0.
|
4
|
+
// Commit: 26e345e [Bowling] Fix case descriptions (#832)
|
5
|
+
// x-common version: 1.0.1
|
6
6
|
|
7
7
|
var scoreTestCases = []struct {
|
8
8
|
description string
|
@@ -119,14 +119,14 @@ var scoreTestCases = []struct {
|
|
119
119
|
},
|
120
120
|
|
121
121
|
{
|
122
|
-
"an unstarted game
|
122
|
+
"an unstarted game cannot be scored",
|
123
123
|
[]int{},
|
124
124
|
false,
|
125
125
|
0,
|
126
126
|
"Score cannot be taken until the end of the game",
|
127
127
|
},
|
128
128
|
{
|
129
|
-
"an incomplete game
|
129
|
+
"an incomplete game cannot be scored",
|
130
130
|
[]int{0, 0},
|
131
131
|
false,
|
132
132
|
0,
|
@@ -165,35 +165,35 @@ var rollTestCases = []struct {
|
|
165
165
|
}{
|
166
166
|
|
167
167
|
{
|
168
|
-
"rolls
|
168
|
+
"rolls cannot score negative points",
|
169
169
|
[]int{},
|
170
170
|
false,
|
171
171
|
-1,
|
172
172
|
"Negative roll is invalid",
|
173
173
|
},
|
174
174
|
{
|
175
|
-
"a roll
|
175
|
+
"a roll cannot score more than 10 points",
|
176
176
|
[]int{},
|
177
177
|
false,
|
178
178
|
11,
|
179
179
|
"Pin count exceeds pins on the lane",
|
180
180
|
},
|
181
181
|
{
|
182
|
-
"two rolls in a frame
|
182
|
+
"two rolls in a frame cannot score more than 10 points",
|
183
183
|
[]int{5},
|
184
184
|
false,
|
185
185
|
6,
|
186
186
|
"Pin count exceeds pins on the lane",
|
187
187
|
},
|
188
188
|
{
|
189
|
-
"bonus roll after a strike in the last frame
|
189
|
+
"bonus roll after a strike in the last frame cannot score more than 10 points",
|
190
190
|
[]int{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10},
|
191
191
|
false,
|
192
192
|
11,
|
193
193
|
"Pin count exceeds pins on the lane",
|
194
194
|
},
|
195
195
|
{
|
196
|
-
"two bonus rolls after a strike in the last frame
|
196
|
+
"two bonus rolls after a strike in the last frame cannot score more than 10 points",
|
197
197
|
[]int{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 5},
|
198
198
|
false,
|
199
199
|
6,
|
@@ -201,14 +201,14 @@ var rollTestCases = []struct {
|
|
201
201
|
},
|
202
202
|
|
203
203
|
{
|
204
|
-
"the second bonus rolls after a strike in the last frame
|
204
|
+
"the second bonus rolls after a strike in the last frame cannot be a strike if the first one is not a strike",
|
205
205
|
[]int{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 6},
|
206
206
|
false,
|
207
207
|
10,
|
208
208
|
"Pin count exceeds pins on the lane",
|
209
209
|
},
|
210
210
|
{
|
211
|
-
"second bonus roll after a strike in the last frame
|
211
|
+
"second bonus roll after a strike in the last frame cannot score more than 10 points",
|
212
212
|
[]int{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 10},
|
213
213
|
false,
|
214
214
|
11,
|
@@ -1,8 +1,8 @@
|
|
1
1
|
package forth
|
2
2
|
|
3
3
|
// Source: exercism/x-common
|
4
|
-
// Commit:
|
5
|
-
// x-common version: 1.
|
4
|
+
// Commit: 1b4165d Add test for Forth that an operator can be overridden.
|
5
|
+
// x-common version: 1.2.0
|
6
6
|
|
7
7
|
type testGroup struct {
|
8
8
|
group string
|
@@ -29,11 +29,6 @@ var testGroups = []testGroup{
|
|
29
29
|
[]string{"1 2 3 4 5"},
|
30
30
|
[]int{1, 2, 3, 4, 5},
|
31
31
|
},
|
32
|
-
{
|
33
|
-
"all non-word characters are separators",
|
34
|
-
[]string{"1\x002\x133\n4\r5 6\t7"},
|
35
|
-
[]int{1, 2, 3, 4, 5, 6, 7},
|
36
|
-
},
|
37
32
|
},
|
38
33
|
},
|
39
34
|
{
|
@@ -254,6 +249,11 @@ var testGroups = []testGroup{
|
|
254
249
|
[]string{": swap dup ;", "1 swap"},
|
255
250
|
[]int{1, 1},
|
256
251
|
},
|
252
|
+
{
|
253
|
+
"can override built-in operators",
|
254
|
+
[]string{": + * ;", "3 4 +"},
|
255
|
+
[]int{12},
|
256
|
+
},
|
257
257
|
{
|
258
258
|
"cannot redefine numbers",
|
259
259
|
[]string{": 1 2 ;"},
|
@@ -1,14 +1,19 @@
|
|
1
1
|
package hamming
|
2
2
|
|
3
3
|
// Source: exercism/x-common
|
4
|
-
// Commit:
|
5
|
-
// x-common version: 1.
|
4
|
+
// Commit: ebe9bbf fix versioning (#845)
|
5
|
+
// x-common version: 1.1.0
|
6
6
|
|
7
7
|
var testCases = []struct {
|
8
8
|
s1 string
|
9
9
|
s2 string
|
10
10
|
want int
|
11
11
|
}{
|
12
|
+
{ // empty strands
|
13
|
+
"",
|
14
|
+
"",
|
15
|
+
0,
|
16
|
+
},
|
12
17
|
{ // identical strands
|
13
18
|
"A",
|
14
19
|
"A",
|
@@ -69,11 +74,6 @@ var testCases = []struct {
|
|
69
74
|
"AGGACGGATTCT",
|
70
75
|
9,
|
71
76
|
},
|
72
|
-
{ // empty strands
|
73
|
-
"",
|
74
|
-
"",
|
75
|
-
0,
|
76
|
-
},
|
77
77
|
{ // disallow first strand longer
|
78
78
|
"AATG",
|
79
79
|
"AAA",
|
@@ -1,8 +1,8 @@
|
|
1
1
|
package phonenumber
|
2
2
|
|
3
3
|
// Source: exercism/x-common
|
4
|
-
// Commit:
|
5
|
-
// x-common version: 1.
|
4
|
+
// Commit: 39cba0d phone-number: Remove test using malformed input. (#772)
|
5
|
+
// x-common version: 1.2.0
|
6
6
|
|
7
7
|
// Cleanup user-entered phone numbers
|
8
8
|
var numberTests = []struct {
|
@@ -73,11 +73,6 @@ var numberTests = []struct {
|
|
73
73
|
input: "123-@:!-7890",
|
74
74
|
expectErr: true,
|
75
75
|
},
|
76
|
-
{
|
77
|
-
description: "invalid with right number of digits but letters mixed in",
|
78
|
-
input: "1a2b3c4d5e6f7g8h9i0j",
|
79
|
-
expectErr: true,
|
80
|
-
},
|
81
76
|
{
|
82
77
|
description: "invalid if area code does not start with 2-9",
|
83
78
|
input: "(123) 456-7890",
|
@@ -1,25 +1,25 @@
|
|
1
1
|
package strand
|
2
2
|
|
3
3
|
// Source: exercism/x-common
|
4
|
-
// Commit:
|
5
|
-
// x-common version: 1.0.
|
4
|
+
// Commit: cb1fd3a rna-transcription: rephrase negative test descriptions
|
5
|
+
// x-common version: 1.0.1
|
6
6
|
|
7
7
|
var rnaTests = []struct {
|
8
8
|
input string
|
9
9
|
expected string
|
10
10
|
}{
|
11
|
-
//
|
11
|
+
// RNA complement of cytosine is guanine
|
12
12
|
{"C", "G"},
|
13
13
|
|
14
|
-
//
|
14
|
+
// RNA complement of guanine is cytosine
|
15
15
|
{"G", "C"},
|
16
16
|
|
17
|
-
//
|
17
|
+
// RNA complement of thymine is adenine
|
18
18
|
{"T", "A"},
|
19
19
|
|
20
|
-
//
|
20
|
+
// RNA complement of adenine is uracil
|
21
21
|
{"A", "U"},
|
22
22
|
|
23
|
-
//
|
23
|
+
// RNA complement
|
24
24
|
{"ACGTGGTCTTAA", "UGCACCAGAAUU"},
|
25
25
|
}
|
data/tracks/groovy/config.json
CHANGED
data/tracks/haxe/config.json
CHANGED
data/tracks/java/.travis.yml
CHANGED
@@ -42,7 +42,7 @@ cache:
|
|
42
42
|
notifications:
|
43
43
|
webhooks:
|
44
44
|
urls:
|
45
|
-
- https://webhooks.gitter.im/e/
|
45
|
+
- https://webhooks.gitter.im/e/9a8514b96052a7155b59
|
46
46
|
on_success: change # options: [always|never|change] default: always
|
47
47
|
on_failure: always # options: [always|never|change] default: always
|
48
48
|
on_start: never # options: [always|never|change] default: always
|
@@ -1,5 +1,25 @@
|
|
1
1
|
{
|
2
2
|
"maintainers": [
|
3
|
+
{
|
4
|
+
"github_username": "jtigger",
|
5
|
+
"show_on_website": false,
|
6
|
+
"alumnus": true,
|
7
|
+
"name": null,
|
8
|
+
"bio": null,
|
9
|
+
"link_text": null,
|
10
|
+
"link_url": null,
|
11
|
+
"avatar_url": null
|
12
|
+
},
|
13
|
+
{
|
14
|
+
"github_username": "matthewmorgan",
|
15
|
+
"show_on_website": false,
|
16
|
+
"alumnus": true,
|
17
|
+
"name": null,
|
18
|
+
"bio": null,
|
19
|
+
"link_text": null,
|
20
|
+
"link_url": null,
|
21
|
+
"avatar_url": null
|
22
|
+
},
|
3
23
|
{
|
4
24
|
"github_username": "sit",
|
5
25
|
"show_on_website": false,
|
@@ -47,7 +47,7 @@ public class WordCountTest {
|
|
47
47
|
|
48
48
|
@Ignore("Remove to run test")
|
49
49
|
@Test
|
50
|
-
public void
|
50
|
+
public void countMultipleOccurrences() {
|
51
51
|
expectedWordCount.put("one", 1);
|
52
52
|
expectedWordCount.put("fish", 4);
|
53
53
|
expectedWordCount.put("two", 1);
|
@@ -6,8 +6,7 @@
|
|
6
6
|
{
|
7
7
|
"uuid": "4756cfc9-7509-4783-8be7-60e3376b8256",
|
8
8
|
"slug": "hello-world",
|
9
|
-
"core":
|
10
|
-
"unlocked_by": null,
|
9
|
+
"core": true,
|
11
10
|
"difficulty": 1,
|
12
11
|
"topics": [
|
13
12
|
"Control-flow (conditionals)",
|
@@ -19,8 +18,7 @@
|
|
19
18
|
{
|
20
19
|
"uuid": "0c231a1c-55f7-47b6-8a54-ccae4ab0c65b",
|
21
20
|
"slug": "leap",
|
22
|
-
"core":
|
23
|
-
"unlocked_by": null,
|
21
|
+
"core": true,
|
24
22
|
"difficulty": 1,
|
25
23
|
"topics": [
|
26
24
|
"Booleans",
|
@@ -29,34 +27,35 @@
|
|
29
27
|
]
|
30
28
|
},
|
31
29
|
{
|
32
|
-
"uuid": "
|
33
|
-
"slug": "
|
34
|
-
"core":
|
35
|
-
"
|
36
|
-
"difficulty": 2,
|
30
|
+
"uuid": "d7f57ab9-2edb-44cb-a04e-c575c0f4be4c",
|
31
|
+
"slug": "rna-transcription",
|
32
|
+
"core": true,
|
33
|
+
"difficulty": 1,
|
37
34
|
"topics": [
|
38
|
-
"
|
39
|
-
"
|
40
|
-
"Equality",
|
41
|
-
"Strings"
|
35
|
+
"Strings",
|
36
|
+
"Transforming"
|
42
37
|
]
|
43
38
|
},
|
44
39
|
{
|
45
|
-
"uuid": "
|
46
|
-
"slug": "
|
47
|
-
"core":
|
48
|
-
"unlocked_by": null,
|
40
|
+
"uuid": "fff57c49-cde9-4a0c-b70b-2903cef212af",
|
41
|
+
"slug": "simple-cipher",
|
42
|
+
"core": true,
|
49
43
|
"difficulty": 1,
|
50
44
|
"topics": [
|
45
|
+
"Control flow (conditionals)",
|
46
|
+
"Control flow (loops)",
|
47
|
+
"Algorithms",
|
48
|
+
"Mathematics",
|
51
49
|
"Strings",
|
50
|
+
"Randomness",
|
51
|
+
"Text formatting",
|
52
52
|
"Transforming"
|
53
53
|
]
|
54
54
|
},
|
55
55
|
{
|
56
56
|
"uuid": "c57bf909-130f-46e6-97ca-aeed58df1a15",
|
57
57
|
"slug": "pangram",
|
58
|
-
"core":
|
59
|
-
"unlocked_by": null,
|
58
|
+
"core": true,
|
60
59
|
"difficulty": 2,
|
61
60
|
"topics": [
|
62
61
|
"Control flow (conditionals)",
|
@@ -71,8 +70,7 @@
|
|
71
70
|
{
|
72
71
|
"uuid": "246be5d9-b361-4893-9707-f218ede2bed6",
|
73
72
|
"slug": "bob",
|
74
|
-
"core":
|
75
|
-
"unlocked_by": null,
|
73
|
+
"core": true,
|
76
74
|
"difficulty": 2,
|
77
75
|
"topics": [
|
78
76
|
"Control flow (conditionals)",
|
@@ -86,18 +84,191 @@
|
|
86
84
|
{
|
87
85
|
"uuid": "49e4874b-d7e2-4305-a9bc-627fab4ada44",
|
88
86
|
"slug": "gigasecond",
|
87
|
+
"core": true,
|
88
|
+
"difficulty": 2,
|
89
|
+
"topics": [
|
90
|
+
"Time"
|
91
|
+
]
|
92
|
+
},
|
93
|
+
{
|
94
|
+
"uuid": "b668e11a-a8ce-4e94-ba68-3a1f0fa3f6c8",
|
95
|
+
"slug": "space-age",
|
96
|
+
"core": true,
|
97
|
+
"difficulty": 3,
|
98
|
+
"topics": [
|
99
|
+
"Classes",
|
100
|
+
"Floating-point numbers",
|
101
|
+
"Mathematics"
|
102
|
+
]
|
103
|
+
},
|
104
|
+
{
|
105
|
+
"uuid": "c3035180-ff4c-4afe-8019-f8364158b74e",
|
106
|
+
"slug": "binary",
|
107
|
+
"core": true,
|
108
|
+
"difficulty": 4,
|
109
|
+
"topics": [
|
110
|
+
"Control flow (conditionals)",
|
111
|
+
"Control flow (loops)",
|
112
|
+
"Mathematics",
|
113
|
+
"Integers",
|
114
|
+
"Strings",
|
115
|
+
"Regular expressions",
|
116
|
+
"Exception handling"
|
117
|
+
]
|
118
|
+
},
|
119
|
+
{
|
120
|
+
"uuid": "73ecd6c2-e59b-4354-b305-64e28a60433f",
|
121
|
+
"slug": "prime-factors",
|
122
|
+
"core": true,
|
123
|
+
"difficulty": 4,
|
124
|
+
"topics": [
|
125
|
+
"Control flow (conditionals)",
|
126
|
+
"Control flow (loops)",
|
127
|
+
"Mathematics",
|
128
|
+
"Algorithms",
|
129
|
+
"Integers"
|
130
|
+
]
|
131
|
+
},
|
132
|
+
{
|
133
|
+
"uuid": "fbfe6032-c209-40bd-b485-8b2881638166",
|
134
|
+
"slug": "matrix",
|
135
|
+
"core": true,
|
136
|
+
"difficulty": 4,
|
137
|
+
"topics": [
|
138
|
+
"Control flow (conditionals)",
|
139
|
+
"Control flow (loops)",
|
140
|
+
"Data structures",
|
141
|
+
"Arrays",
|
142
|
+
"Matrices",
|
143
|
+
"Text formatting"
|
144
|
+
]
|
145
|
+
},
|
146
|
+
{
|
147
|
+
"uuid": "ecc41237-f629-458f-873e-2cc51ba1a385",
|
148
|
+
"slug": "linked-list",
|
149
|
+
"core": true,
|
150
|
+
"difficulty": 5,
|
151
|
+
"topics": [
|
152
|
+
"Control flow (conditionals)",
|
153
|
+
"Control flow (loops)",
|
154
|
+
"Algorithms",
|
155
|
+
"Data structures",
|
156
|
+
"Arrays",
|
157
|
+
"Lists",
|
158
|
+
"Optional values"
|
159
|
+
]
|
160
|
+
},
|
161
|
+
{
|
162
|
+
"uuid": "a96ab45d-10a0-42cf-a754-c2466037ceaf",
|
163
|
+
"slug": "pascals-triangle",
|
164
|
+
"core": true,
|
165
|
+
"difficulty": 5,
|
166
|
+
"topics": [
|
167
|
+
"Control flow (conditionals)",
|
168
|
+
"Control flow (loops)",
|
169
|
+
"Mathematics",
|
170
|
+
"Strings",
|
171
|
+
"Text formatting"
|
172
|
+
]
|
173
|
+
},
|
174
|
+
{
|
175
|
+
"uuid": "0a3a452c-f734-47eb-8e65-34c8ae710ef0",
|
176
|
+
"slug": "secret-handshake",
|
177
|
+
"core": true,
|
178
|
+
"difficulty": 6,
|
179
|
+
"topics": [
|
180
|
+
"Control flow (conditionals)",
|
181
|
+
"Control flow (loops)",
|
182
|
+
"Algorithms",
|
183
|
+
"Games",
|
184
|
+
"Bitwise operations",
|
185
|
+
"Arrays"
|
186
|
+
]
|
187
|
+
},
|
188
|
+
{
|
189
|
+
"uuid": "029bc3ed-772d-439b-bd0a-1ba1196a79ec",
|
190
|
+
"slug": "grade-school",
|
191
|
+
"core": true,
|
192
|
+
"difficulty": 6,
|
193
|
+
"topics": [
|
194
|
+
"Arrays",
|
195
|
+
"Maps",
|
196
|
+
"Sorting"
|
197
|
+
]
|
198
|
+
},
|
199
|
+
{
|
200
|
+
"uuid": "3005340b-a8d6-46ac-9075-125f9adccc2a",
|
201
|
+
"slug": "robot-name",
|
202
|
+
"core": true,
|
203
|
+
"difficulty": 6,
|
204
|
+
"topics": [
|
205
|
+
"Control flow (conditionals)",
|
206
|
+
"Exception handling",
|
207
|
+
"Sets",
|
208
|
+
"Randomness",
|
209
|
+
"Regular expressions"
|
210
|
+
]
|
211
|
+
},
|
212
|
+
{
|
213
|
+
"uuid": "bb54bf08-24ba-45e1-bdf7-08db161e5843",
|
214
|
+
"slug": "wordy",
|
215
|
+
"core": true,
|
216
|
+
"difficulty": 7,
|
217
|
+
"topics": [
|
218
|
+
"Control flow (conditionals)",
|
219
|
+
"Control flow (loops)",
|
220
|
+
"Regular expressions",
|
221
|
+
"Exception handling",
|
222
|
+
"Strings",
|
223
|
+
"Pattern recognition",
|
224
|
+
"Parsing"
|
225
|
+
]
|
226
|
+
},
|
227
|
+
{
|
228
|
+
"uuid": "e70defe4-5944-4392-956c-63cb92e7fd9c",
|
229
|
+
"slug": "list-ops",
|
230
|
+
"core": true,
|
231
|
+
"difficulty": 8,
|
232
|
+
"topics": [
|
233
|
+
"Data structures",
|
234
|
+
"Lists",
|
235
|
+
"Recursion"
|
236
|
+
]
|
237
|
+
},
|
238
|
+
{
|
239
|
+
"uuid": "3e1358c8-2bea-41f9-bc9e-8277f354a4e0",
|
240
|
+
"slug": "hamming",
|
241
|
+
"core": false,
|
242
|
+
"unlocked_by": "rna-transcription",
|
243
|
+
"difficulty": 2,
|
244
|
+
"topics": [
|
245
|
+
"Control-flow (loops)",
|
246
|
+
"Control-flow (conditionals)",
|
247
|
+
"Equality",
|
248
|
+
"Strings"
|
249
|
+
]
|
250
|
+
},
|
251
|
+
{
|
252
|
+
"uuid": "d66c2b56-b465-4922-af35-ae78944c0aac",
|
253
|
+
"slug": "run-length-encoding",
|
89
254
|
"core": false,
|
90
255
|
"unlocked_by": null,
|
91
256
|
"difficulty": 2,
|
92
257
|
"topics": [
|
93
|
-
"
|
258
|
+
"Control flow (conditionals)",
|
259
|
+
"Exception handling",
|
260
|
+
"Parsing",
|
261
|
+
"Text formatting",
|
262
|
+
"Regular expressions",
|
263
|
+
"Pattern recognition",
|
264
|
+
"Strings"
|
94
265
|
]
|
95
266
|
},
|
96
267
|
{
|
97
268
|
"uuid": "35821375-5c94-4d4b-aa56-e3b079a45ca0",
|
98
269
|
"slug": "isogram",
|
99
270
|
"core": false,
|
100
|
-
"unlocked_by":
|
271
|
+
"unlocked_by": "pangram",
|
101
272
|
"difficulty": 2,
|
102
273
|
"topics": [
|
103
274
|
"Strings",
|
@@ -108,7 +279,7 @@
|
|
108
279
|
"uuid": "6f315fc3-095a-4387-aefb-cc5fee97110a",
|
109
280
|
"slug": "beer-song",
|
110
281
|
"core": false,
|
111
|
-
"unlocked_by":
|
282
|
+
"unlocked_by": "bob",
|
112
283
|
"difficulty": 5,
|
113
284
|
"topics": [
|
114
285
|
"Control flow (conditionals)",
|
@@ -120,7 +291,7 @@
|
|
120
291
|
"uuid": "347f9f54-a0d9-469d-babf-b3edb34d9d70",
|
121
292
|
"slug": "phone-number",
|
122
293
|
"core": false,
|
123
|
-
"unlocked_by":
|
294
|
+
"unlocked_by": "pangram",
|
124
295
|
"difficulty": 3,
|
125
296
|
"topics": [
|
126
297
|
"Parsing",
|
@@ -131,7 +302,7 @@
|
|
131
302
|
"uuid": "432ec2ce-c919-4142-aea2-389b67503252",
|
132
303
|
"slug": "anagram",
|
133
304
|
"core": false,
|
134
|
-
"unlocked_by":
|
305
|
+
"unlocked_by": "pangram",
|
135
306
|
"difficulty": 1,
|
136
307
|
"topics": [
|
137
308
|
"Strings",
|
@@ -142,44 +313,18 @@
|
|
142
313
|
"uuid": "a717745f-da00-4a5f-8bf3-6876e20cdf17",
|
143
314
|
"slug": "food-chain",
|
144
315
|
"core": false,
|
145
|
-
"unlocked_by":
|
316
|
+
"unlocked_by": "bob",
|
146
317
|
"difficulty": 4,
|
147
318
|
"topics": [
|
148
319
|
"Text formatting",
|
149
320
|
"Algorithms"
|
150
321
|
]
|
151
322
|
},
|
152
|
-
{
|
153
|
-
"uuid": "029bc3ed-772d-439b-bd0a-1ba1196a79ec",
|
154
|
-
"slug": "grade-school",
|
155
|
-
"core": false,
|
156
|
-
"unlocked_by": null,
|
157
|
-
"difficulty": 6,
|
158
|
-
"topics": [
|
159
|
-
"Arrays",
|
160
|
-
"Maps",
|
161
|
-
"Sorting"
|
162
|
-
]
|
163
|
-
},
|
164
|
-
{
|
165
|
-
"uuid": "3005340b-a8d6-46ac-9075-125f9adccc2a",
|
166
|
-
"slug": "robot-name",
|
167
|
-
"core": false,
|
168
|
-
"unlocked_by": null,
|
169
|
-
"difficulty": 6,
|
170
|
-
"topics": [
|
171
|
-
"Control flow (conditionals)",
|
172
|
-
"Exception handling",
|
173
|
-
"Sets",
|
174
|
-
"Randomness",
|
175
|
-
"Regular expressions"
|
176
|
-
]
|
177
|
-
},
|
178
323
|
{
|
179
324
|
"uuid": "a2a19f61-62ba-447a-8f57-537c8baa2e7a",
|
180
325
|
"slug": "etl",
|
181
326
|
"core": false,
|
182
|
-
"unlocked_by":
|
327
|
+
"unlocked_by": "rna-transcription",
|
183
328
|
"difficulty": 2,
|
184
329
|
"topics": [
|
185
330
|
"Control flow (loops)",
|
@@ -199,23 +344,11 @@
|
|
199
344
|
"Arrays"
|
200
345
|
]
|
201
346
|
},
|
202
|
-
{
|
203
|
-
"uuid": "b668e11a-a8ce-4e94-ba68-3a1f0fa3f6c8",
|
204
|
-
"slug": "space-age",
|
205
|
-
"core": false,
|
206
|
-
"unlocked_by": null,
|
207
|
-
"difficulty": 3,
|
208
|
-
"topics": [
|
209
|
-
"Classes",
|
210
|
-
"Floating-point numbers",
|
211
|
-
"Mathematics"
|
212
|
-
]
|
213
|
-
},
|
214
347
|
{
|
215
348
|
"uuid": "c5be6908-f45c-4278-ba99-3701024f4eda",
|
216
349
|
"slug": "grains",
|
217
350
|
"core": false,
|
218
|
-
"unlocked_by":
|
351
|
+
"unlocked_by": "space-age",
|
219
352
|
"difficulty": 5,
|
220
353
|
"topics": [
|
221
354
|
"Control flow (loops)",
|
@@ -227,7 +360,7 @@
|
|
227
360
|
"uuid": "fde792fa-84e9-4b86-8ecb-8466ad92a99d",
|
228
361
|
"slug": "triangle",
|
229
362
|
"core": false,
|
230
|
-
"unlocked_by":
|
363
|
+
"unlocked_by": "leap",
|
231
364
|
"difficulty": 3,
|
232
365
|
"topics": [
|
233
366
|
"Control flow (loops)",
|
@@ -241,7 +374,7 @@
|
|
241
374
|
"uuid": "1ff85150-6c51-4758-af02-4484cf35658e",
|
242
375
|
"slug": "clock",
|
243
376
|
"core": false,
|
244
|
-
"unlocked_by":
|
377
|
+
"unlocked_by": "gigasecond",
|
245
378
|
"difficulty": 5,
|
246
379
|
"topics": [
|
247
380
|
"Dates",
|
@@ -253,7 +386,7 @@
|
|
253
386
|
"uuid": "51aa5429-b2db-43ad-83cf-84e2ead22cb6",
|
254
387
|
"slug": "perfect-numbers",
|
255
388
|
"core": false,
|
256
|
-
"unlocked_by":
|
389
|
+
"unlocked_by": "space-age",
|
257
390
|
"difficulty": 3,
|
258
391
|
"topics": [
|
259
392
|
"Control flow (conditionals)",
|
@@ -267,7 +400,7 @@
|
|
267
400
|
"uuid": "9a4ea3da-ad43-4850-bdf3-2c578c5de838",
|
268
401
|
"slug": "word-count",
|
269
402
|
"core": false,
|
270
|
-
"unlocked_by":
|
403
|
+
"unlocked_by": "pangram",
|
271
404
|
"difficulty": 1,
|
272
405
|
"topics": [
|
273
406
|
"Control flow (loops)",
|
@@ -281,7 +414,7 @@
|
|
281
414
|
"uuid": "0c1c4788-0372-42e7-81c1-b090bb7ebc8b",
|
282
415
|
"slug": "acronym",
|
283
416
|
"core": false,
|
284
|
-
"unlocked_by":
|
417
|
+
"unlocked_by": "pangram",
|
285
418
|
"difficulty": 2,
|
286
419
|
"topics": [
|
287
420
|
"Strings",
|
@@ -294,7 +427,7 @@
|
|
294
427
|
"uuid": "a6bd8126-3879-4593-8380-39ebfa87801b",
|
295
428
|
"slug": "scrabble-score",
|
296
429
|
"core": false,
|
297
|
-
"unlocked_by":
|
430
|
+
"unlocked_by": "rna-transcription",
|
298
431
|
"difficulty": 5,
|
299
432
|
"topics": [
|
300
433
|
"Control flow (conditionals)",
|
@@ -332,41 +465,11 @@
|
|
332
465
|
"Exception handling"
|
333
466
|
]
|
334
467
|
},
|
335
|
-
{
|
336
|
-
"uuid": "c3035180-ff4c-4afe-8019-f8364158b74e",
|
337
|
-
"slug": "binary",
|
338
|
-
"core": false,
|
339
|
-
"unlocked_by": null,
|
340
|
-
"difficulty": 4,
|
341
|
-
"topics": [
|
342
|
-
"Control flow (conditionals)",
|
343
|
-
"Control flow (loops)",
|
344
|
-
"Mathematics",
|
345
|
-
"Integers",
|
346
|
-
"Strings",
|
347
|
-
"Regular expressions",
|
348
|
-
"Exception handling"
|
349
|
-
]
|
350
|
-
},
|
351
|
-
{
|
352
|
-
"uuid": "73ecd6c2-e59b-4354-b305-64e28a60433f",
|
353
|
-
"slug": "prime-factors",
|
354
|
-
"core": false,
|
355
|
-
"unlocked_by": null,
|
356
|
-
"difficulty": 4,
|
357
|
-
"topics": [
|
358
|
-
"Control flow (conditionals)",
|
359
|
-
"Control flow (loops)",
|
360
|
-
"Mathematics",
|
361
|
-
"Algorithms",
|
362
|
-
"Integers"
|
363
|
-
]
|
364
|
-
},
|
365
468
|
{
|
366
469
|
"uuid": "86b1acf1-9e2d-4b04-b8b0-e9ae6beb5f3d",
|
367
470
|
"slug": "raindrops",
|
368
471
|
"core": false,
|
369
|
-
"unlocked_by":
|
472
|
+
"unlocked_by": "rna-transcription",
|
370
473
|
"difficulty": 2,
|
371
474
|
"topics": [
|
372
475
|
"Control flow (conditionals)",
|
@@ -379,7 +482,7 @@
|
|
379
482
|
"uuid": "23210e9e-81f6-4279-a776-00459c7ccd02",
|
380
483
|
"slug": "allergies",
|
381
484
|
"core": false,
|
382
|
-
"unlocked_by":
|
485
|
+
"unlocked_by": "rna-transcription",
|
383
486
|
"difficulty": 6,
|
384
487
|
"topics": [
|
385
488
|
"Control flow (conditionals)",
|
@@ -392,7 +495,7 @@
|
|
392
495
|
"uuid": "e61f3d54-55d2-4d32-9d2a-e7d6af3a3247",
|
393
496
|
"slug": "strain",
|
394
497
|
"core": false,
|
395
|
-
"unlocked_by":
|
498
|
+
"unlocked_by": "list-ops",
|
396
499
|
"difficulty": 4,
|
397
500
|
"topics": [
|
398
501
|
"Control flow (conditionals)",
|
@@ -423,7 +526,7 @@
|
|
423
526
|
"uuid": "dc9b2598-9757-4b20-82f9-8049ad081ac9",
|
424
527
|
"slug": "accumulate",
|
425
528
|
"core": false,
|
426
|
-
"unlocked_by":
|
529
|
+
"unlocked_by": "list-ops",
|
427
530
|
"difficulty": 5,
|
428
531
|
"topics": [
|
429
532
|
"Control flow (loops)",
|
@@ -478,23 +581,6 @@
|
|
478
581
|
"Recursion"
|
479
582
|
]
|
480
583
|
},
|
481
|
-
{
|
482
|
-
"uuid": "fff57c49-cde9-4a0c-b70b-2903cef212af",
|
483
|
-
"slug": "simple-cipher",
|
484
|
-
"core": false,
|
485
|
-
"unlocked_by": null,
|
486
|
-
"difficulty": 1,
|
487
|
-
"topics": [
|
488
|
-
"Control flow (conditionals)",
|
489
|
-
"Control flow (loops)",
|
490
|
-
"Algorithms",
|
491
|
-
"Mathematics",
|
492
|
-
"Strings",
|
493
|
-
"Randomness",
|
494
|
-
"Text formatting",
|
495
|
-
"Transforming"
|
496
|
-
]
|
497
|
-
},
|
498
584
|
{
|
499
585
|
"uuid": "9892d47d-97a0-4a2f-8284-6f84c86559e8",
|
500
586
|
"slug": "octal",
|
@@ -514,7 +600,7 @@
|
|
514
600
|
"uuid": "bb46e832-8c37-45ee-9ee7-5037015b965c",
|
515
601
|
"slug": "luhn",
|
516
602
|
"core": false,
|
517
|
-
"unlocked_by":
|
603
|
+
"unlocked_by": "space-age",
|
518
604
|
"difficulty": 4,
|
519
605
|
"topics": [
|
520
606
|
"Control flow (conditionals)",
|
@@ -528,7 +614,7 @@
|
|
528
614
|
"uuid": "9a515ad0-34c7-4191-8784-5c4cd6385b38",
|
529
615
|
"slug": "pig-latin",
|
530
616
|
"core": false,
|
531
|
-
"unlocked_by":
|
617
|
+
"unlocked_by": "bob",
|
532
618
|
"difficulty": 4,
|
533
619
|
"topics": [
|
534
620
|
"Control flow (conditionals)",
|
@@ -543,7 +629,7 @@
|
|
543
629
|
"uuid": "26a973dd-d72e-40fb-abeb-0ba306356ed6",
|
544
630
|
"slug": "pythagorean-triplet",
|
545
631
|
"core": false,
|
546
|
-
"unlocked_by":
|
632
|
+
"unlocked_by": "space-age",
|
547
633
|
"difficulty": 5,
|
548
634
|
"topics": [
|
549
635
|
"Control flow (conditionals)",
|
@@ -557,7 +643,7 @@
|
|
557
643
|
"uuid": "06afdb06-8d2a-4cb0-baf1-48ae997cf1f5",
|
558
644
|
"slug": "series",
|
559
645
|
"core": false,
|
560
|
-
"unlocked_by":
|
646
|
+
"unlocked_by": "pangram",
|
561
647
|
"difficulty": 3,
|
562
648
|
"topics": [
|
563
649
|
"Control flow (loops)",
|
@@ -570,7 +656,7 @@
|
|
570
656
|
"uuid": "07110dd5-b879-40b9-9485-685cb0963d8f",
|
571
657
|
"slug": "difference-of-squares",
|
572
658
|
"core": false,
|
573
|
-
"unlocked_by":
|
659
|
+
"unlocked_by": "space-age",
|
574
660
|
"difficulty": 3,
|
575
661
|
"topics": [
|
576
662
|
"Control flow (loops)",
|
@@ -579,26 +665,11 @@
|
|
579
665
|
"Integers"
|
580
666
|
]
|
581
667
|
},
|
582
|
-
{
|
583
|
-
"uuid": "0a3a452c-f734-47eb-8e65-34c8ae710ef0",
|
584
|
-
"slug": "secret-handshake",
|
585
|
-
"core": false,
|
586
|
-
"unlocked_by": null,
|
587
|
-
"difficulty": 6,
|
588
|
-
"topics": [
|
589
|
-
"Control flow (conditionals)",
|
590
|
-
"Control flow (loops)",
|
591
|
-
"Algorithms",
|
592
|
-
"Games",
|
593
|
-
"Bitwise operations",
|
594
|
-
"Arrays"
|
595
|
-
]
|
596
|
-
},
|
597
668
|
{
|
598
669
|
"uuid": "8786d591-077b-49bc-be8d-d014dc9dc308",
|
599
670
|
"slug": "proverb",
|
600
671
|
"core": false,
|
601
|
-
"unlocked_by":
|
672
|
+
"unlocked_by": "bob",
|
602
673
|
"difficulty": 4,
|
603
674
|
"topics": [
|
604
675
|
"Control flow (conditionals)",
|
@@ -609,43 +680,11 @@
|
|
609
680
|
"Optional values"
|
610
681
|
]
|
611
682
|
},
|
612
|
-
{
|
613
|
-
"uuid": "ecc41237-f629-458f-873e-2cc51ba1a385",
|
614
|
-
"slug": "linked-list",
|
615
|
-
"core": false,
|
616
|
-
"unlocked_by": null,
|
617
|
-
"difficulty": 5,
|
618
|
-
"topics": [
|
619
|
-
"Control flow (conditionals)",
|
620
|
-
"Control flow (loops)",
|
621
|
-
"Algorithms",
|
622
|
-
"Data structures",
|
623
|
-
"Arrays",
|
624
|
-
"Lists",
|
625
|
-
"Optional values"
|
626
|
-
]
|
627
|
-
},
|
628
|
-
{
|
629
|
-
"uuid": "bb54bf08-24ba-45e1-bdf7-08db161e5843",
|
630
|
-
"slug": "wordy",
|
631
|
-
"core": false,
|
632
|
-
"unlocked_by": null,
|
633
|
-
"difficulty": 7,
|
634
|
-
"topics": [
|
635
|
-
"Control flow (conditionals)",
|
636
|
-
"Control flow (loops)",
|
637
|
-
"Regular expressions",
|
638
|
-
"Exception handling",
|
639
|
-
"Strings",
|
640
|
-
"Pattern recognition",
|
641
|
-
"Parsing"
|
642
|
-
]
|
643
|
-
},
|
644
683
|
{
|
645
684
|
"uuid": "32a0a5fa-c7de-470c-beff-118b448b3916",
|
646
685
|
"slug": "flatten-array",
|
647
686
|
"core": false,
|
648
|
-
"unlocked_by":
|
687
|
+
"unlocked_by": "list-ops",
|
649
688
|
"difficulty": 1,
|
650
689
|
"topics": [
|
651
690
|
"Arrays",
|
@@ -671,7 +710,7 @@
|
|
671
710
|
"uuid": "44bd02a7-0e3a-4441-ab76-524e36d4661c",
|
672
711
|
"slug": "largest-series-product",
|
673
712
|
"core": false,
|
674
|
-
"unlocked_by":
|
713
|
+
"unlocked_by": "pangram",
|
675
714
|
"difficulty": 7,
|
676
715
|
"topics": [
|
677
716
|
"Control flow (conditionals)",
|
@@ -687,7 +726,7 @@
|
|
687
726
|
"uuid": "2702ac90-0be2-43a2-91b6-7256a25fec87",
|
688
727
|
"slug": "kindergarten-garden",
|
689
728
|
"core": false,
|
690
|
-
"unlocked_by":
|
729
|
+
"unlocked_by": "wordy",
|
691
730
|
"difficulty": 7,
|
692
731
|
"topics": [
|
693
732
|
"Control flow (conditionals)",
|
@@ -724,27 +763,12 @@
|
|
724
763
|
"Algorithms"
|
725
764
|
]
|
726
765
|
},
|
727
|
-
{
|
728
|
-
"uuid": "fbfe6032-c209-40bd-b485-8b2881638166",
|
729
|
-
"slug": "matrix",
|
730
|
-
"core": false,
|
731
|
-
"unlocked_by": null,
|
732
|
-
"difficulty": 4,
|
733
|
-
"topics": [
|
734
|
-
"Control flow (conditionals)",
|
735
|
-
"Control flow (loops)",
|
736
|
-
"Data structures",
|
737
|
-
"Arrays",
|
738
|
-
"Matrices",
|
739
|
-
"Text formatting"
|
740
|
-
]
|
741
|
-
},
|
742
766
|
{
|
743
767
|
"uuid": "00002977-ea1e-45e2-b66e-09d793b5c1ad",
|
744
768
|
"slug": "robot-simulator",
|
745
769
|
"core": false,
|
746
|
-
"unlocked_by":
|
747
|
-
"difficulty":
|
770
|
+
"unlocked_by": "wordy",
|
771
|
+
"difficulty": 5,
|
748
772
|
"topics": [
|
749
773
|
"Control flow (conditionals)",
|
750
774
|
"Control flow (loops)",
|
@@ -784,25 +808,11 @@
|
|
784
808
|
"Integers"
|
785
809
|
]
|
786
810
|
},
|
787
|
-
{
|
788
|
-
"uuid": "a96ab45d-10a0-42cf-a754-c2466037ceaf",
|
789
|
-
"slug": "pascals-triangle",
|
790
|
-
"core": false,
|
791
|
-
"unlocked_by": null,
|
792
|
-
"difficulty": 5,
|
793
|
-
"topics": [
|
794
|
-
"Control flow (conditionals)",
|
795
|
-
"Control flow (loops)",
|
796
|
-
"Mathematics",
|
797
|
-
"Strings",
|
798
|
-
"Text formatting"
|
799
|
-
]
|
800
|
-
},
|
801
811
|
{
|
802
812
|
"uuid": "01d286f6-5f29-4d4b-a4de-e217a4833bfa",
|
803
813
|
"slug": "say",
|
804
814
|
"core": false,
|
805
|
-
"unlocked_by":
|
815
|
+
"unlocked_by": "bob",
|
806
816
|
"difficulty": 6,
|
807
817
|
"topics": [
|
808
818
|
"Control flow (conditionals)",
|
@@ -882,7 +892,7 @@
|
|
882
892
|
"uuid": "759618b1-7ccc-46cd-889d-aea58ec88756",
|
883
893
|
"slug": "ocr-numbers",
|
884
894
|
"core": false,
|
885
|
-
"unlocked_by":
|
895
|
+
"unlocked_by": "matrix",
|
886
896
|
"difficulty": 5,
|
887
897
|
"topics": [
|
888
898
|
"Control flow (conditionals)",
|
@@ -898,7 +908,7 @@
|
|
898
908
|
"uuid": "86b1b6ba-c1fe-492d-a7ec-c22c525b4da8",
|
899
909
|
"slug": "meetup",
|
900
910
|
"core": false,
|
901
|
-
"unlocked_by":
|
911
|
+
"unlocked_by": "gigasecond",
|
902
912
|
"difficulty": 7,
|
903
913
|
"topics": [
|
904
914
|
"Control flow (conditionals)",
|
@@ -913,7 +923,7 @@
|
|
913
923
|
"uuid": "25099f87-5c3b-4a8a-b648-4639d1e9fa84",
|
914
924
|
"slug": "bracket-push",
|
915
925
|
"core": false,
|
916
|
-
"unlocked_by":
|
926
|
+
"unlocked_by": "pangram",
|
917
927
|
"difficulty": 3,
|
918
928
|
"topics": [
|
919
929
|
"Control flow (conditionals)",
|
@@ -927,7 +937,7 @@
|
|
927
937
|
"uuid": "4c857b17-33b0-47fa-b981-6b2fe4e394a1",
|
928
938
|
"slug": "two-bucket",
|
929
939
|
"core": false,
|
930
|
-
"unlocked_by":
|
940
|
+
"unlocked_by": "grade-school",
|
931
941
|
"difficulty": 6,
|
932
942
|
"topics": [
|
933
943
|
"Control flow (conditionals)",
|
@@ -943,7 +953,7 @@
|
|
943
953
|
"uuid": "c168fe1f-f84e-46e6-91fc-7553d048a4e9",
|
944
954
|
"slug": "bowling",
|
945
955
|
"core": false,
|
946
|
-
"unlocked_by":
|
956
|
+
"unlocked_by": "grade-school",
|
947
957
|
"difficulty": 8,
|
948
958
|
"topics": [
|
949
959
|
"Control flow (conditionals)",
|
@@ -986,27 +996,11 @@
|
|
986
996
|
"Integers"
|
987
997
|
]
|
988
998
|
},
|
989
|
-
{
|
990
|
-
"uuid": "d66c2b56-b465-4922-af35-ae78944c0aac",
|
991
|
-
"slug": "run-length-encoding",
|
992
|
-
"core": false,
|
993
|
-
"unlocked_by": null,
|
994
|
-
"difficulty": 2,
|
995
|
-
"topics": [
|
996
|
-
"Control flow (conditionals)",
|
997
|
-
"Exception handling",
|
998
|
-
"Parsing",
|
999
|
-
"Text formatting",
|
1000
|
-
"Regular expressions",
|
1001
|
-
"Pattern recognition",
|
1002
|
-
"Strings"
|
1003
|
-
]
|
1004
|
-
},
|
1005
999
|
{
|
1006
1000
|
"uuid": "22fa5ab4-935b-44cc-b055-9803214ae5f3",
|
1007
1001
|
"slug": "minesweeper",
|
1008
1002
|
"core": false,
|
1009
|
-
"unlocked_by":
|
1003
|
+
"unlocked_by": null,
|
1010
1004
|
"difficulty": 7,
|
1011
1005
|
"topics": [
|
1012
1006
|
"Games",
|
@@ -1018,7 +1012,7 @@
|
|
1018
1012
|
"uuid": "42a7fd83-4508-403c-8b5e-f0a3126fac8a",
|
1019
1013
|
"slug": "alphametics",
|
1020
1014
|
"core": false,
|
1021
|
-
"unlocked_by":
|
1015
|
+
"unlocked_by": "grade-school",
|
1022
1016
|
"difficulty": 7,
|
1023
1017
|
"topics": [
|
1024
1018
|
"Games",
|
@@ -1037,18 +1031,6 @@
|
|
1037
1031
|
"Lists"
|
1038
1032
|
]
|
1039
1033
|
},
|
1040
|
-
{
|
1041
|
-
"uuid": "e70defe4-5944-4392-956c-63cb92e7fd9c",
|
1042
|
-
"slug": "list-ops",
|
1043
|
-
"core": false,
|
1044
|
-
"unlocked_by": null,
|
1045
|
-
"difficulty": 8,
|
1046
|
-
"topics": [
|
1047
|
-
"Data structures",
|
1048
|
-
"Lists",
|
1049
|
-
"Recursion"
|
1050
|
-
]
|
1051
|
-
},
|
1052
1034
|
{
|
1053
1035
|
"uuid": "1b53340d-ea40-44ee-bf2e-42e516704e7c",
|
1054
1036
|
"slug": "nucleotide-count",
|