trackler 2.2.1.6 → 2.2.1.7
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/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",
|