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
@@ -0,0 +1,66 @@
|
|
1
|
+
# Twelve Days
|
2
|
+
|
3
|
+
Output the lyrics to 'The Twelve Days of Christmas'.
|
4
|
+
|
5
|
+
```
|
6
|
+
On the first day of Christmas my true love gave to me, a Partridge in a Pear Tree.
|
7
|
+
|
8
|
+
On the second day of Christmas my true love gave to me, two Turtle Doves, and a Partridge in a Pear Tree.
|
9
|
+
|
10
|
+
On the third day of Christmas my true love gave to me, three French Hens, two Turtle Doves, and a Partridge in a Pear Tree.
|
11
|
+
|
12
|
+
On the fourth day of Christmas my true love gave to me, four Calling Birds, three French Hens, two Turtle Doves, and a Partridge in a Pear Tree.
|
13
|
+
|
14
|
+
On the fifth day of Christmas my true love gave to me, five Gold Rings, four Calling Birds, three French Hens, two Turtle Doves, and a Partridge in a Pear Tree.
|
15
|
+
|
16
|
+
On the sixth day of Christmas my true love gave to me, six Geese-a-Laying, five Gold Rings, four Calling Birds, three French Hens, two Turtle Doves, and a Partridge in a Pear Tree.
|
17
|
+
|
18
|
+
On the seventh day of Christmas my true love gave to me, seven Swans-a-Swimming, six Geese-a-Laying, five Gold Rings, four Calling Birds, three French Hens, two Turtle Doves, and a Partridge in a Pear Tree.
|
19
|
+
|
20
|
+
On the eighth day of Christmas my true love gave to me, eight Maids-a-Milking, seven Swans-a-Swimming, six Geese-a-Laying, five Gold Rings, four Calling Birds, three French Hens, two Turtle Doves, and a Partridge in a Pear Tree.
|
21
|
+
|
22
|
+
On the ninth day of Christmas my true love gave to me, nine Ladies Dancing, eight Maids-a-Milking, seven Swans-a-Swimming, six Geese-a-Laying, five Gold Rings, four Calling Birds, three French Hens, two Turtle Doves, and a Partridge in a Pear Tree.
|
23
|
+
|
24
|
+
On the tenth day of Christmas my true love gave to me, ten Lords-a-Leaping, nine Ladies Dancing, eight Maids-a-Milking, seven Swans-a-Swimming, six Geese-a-Laying, five Gold Rings, four Calling Birds, three French Hens, two Turtle Doves, and a Partridge in a Pear Tree.
|
25
|
+
|
26
|
+
On the eleventh day of Christmas my true love gave to me, eleven Pipers Piping, ten Lords-a-Leaping, nine Ladies Dancing, eight Maids-a-Milking, seven Swans-a-Swimming, six Geese-a-Laying, five Gold Rings, four Calling Birds, three French Hens, two Turtle Doves, and a Partridge in a Pear Tree.
|
27
|
+
|
28
|
+
On the twelfth day of Christmas my true love gave to me, twelve Drummers Drumming, eleven Pipers Piping, ten Lords-a-Leaping, nine Ladies Dancing, eight Maids-a-Milking, seven Swans-a-Swimming, six Geese-a-Laying, five Gold Rings, four Calling Birds, three French Hens, two Turtle Doves, and a Partridge in a Pear Tree.
|
29
|
+
```
|
30
|
+
|
31
|
+
|
32
|
+
## Setup
|
33
|
+
|
34
|
+
Go through the setup instructions for ECMAScript to
|
35
|
+
install the necessary dependencies:
|
36
|
+
|
37
|
+
http://exercism.io/languages/ecmascript
|
38
|
+
|
39
|
+
## Requirements
|
40
|
+
|
41
|
+
Install assignment dependencies:
|
42
|
+
|
43
|
+
```bash
|
44
|
+
$ npm install
|
45
|
+
```
|
46
|
+
|
47
|
+
## Making the test suite pass
|
48
|
+
|
49
|
+
Execute the tests with:
|
50
|
+
|
51
|
+
```bash
|
52
|
+
$ npm test
|
53
|
+
```
|
54
|
+
|
55
|
+
In the test suites all tests but the first have been skipped.
|
56
|
+
|
57
|
+
Once you get a test passing, you can enable the next one by
|
58
|
+
changing `xtest` to `test`.
|
59
|
+
|
60
|
+
|
61
|
+
## Source
|
62
|
+
|
63
|
+
Wikipedia [http://en.wikipedia.org/wiki/The_Twelve_Days_of_Christmas_(song)](http://en.wikipedia.org/wiki/The_Twelve_Days_of_Christmas_(song))
|
64
|
+
|
65
|
+
## Submitting Incomplete Solutions
|
66
|
+
It's possible to submit an incomplete solution so you can see how others have completed the exercise.
|
@@ -0,0 +1,53 @@
|
|
1
|
+
class TwelveDays {
|
2
|
+
constructor() {
|
3
|
+
this.verseList = [
|
4
|
+
'On the first day of Christmas my true love gave to me, a Partridge in a Pear Tree.',
|
5
|
+
'On the second day of Christmas my true love gave to me, two Turtle Doves, and a Partridge in a Pear Tree.',
|
6
|
+
'On the third day of Christmas my true love gave to me, three French Hens, two Turtle Doves, and a Partridge in a Pear Tree.',
|
7
|
+
'On the fourth day of Christmas my true love gave to me, four Calling Birds, three French Hens, two Turtle Doves, and a Partridge in a Pear Tree.',
|
8
|
+
'On the fifth day of Christmas my true love gave to me, five Gold Rings, four Calling Birds, three French Hens, two Turtle Doves, and a Partridge in a Pear Tree.',
|
9
|
+
'On the sixth day of Christmas my true love gave to me, six Geese-a-Laying, five Gold Rings, four Calling Birds, three French Hens, two Turtle Doves, and a Partridge in a Pear Tree.',
|
10
|
+
'On the seventh day of Christmas my true love gave to me, seven Swans-a-Swimming, six Geese-a-Laying, five Gold Rings, four Calling Birds, three French Hens, two Turtle Doves, and a Partridge in a Pear Tree.',
|
11
|
+
'On the eighth day of Christmas my true love gave to me, eight Maids-a-Milking, seven Swans-a-Swimming, six Geese-a-Laying, five Gold Rings, four Calling Birds, three French Hens, two Turtle Doves, and a Partridge in a Pear Tree.',
|
12
|
+
'On the ninth day of Christmas my true love gave to me, nine Ladies Dancing, eight Maids-a-Milking, seven Swans-a-Swimming, six Geese-a-Laying, five Gold Rings, four Calling Birds, three French Hens, two Turtle Doves, and a Partridge in a Pear Tree.',
|
13
|
+
'On the tenth day of Christmas my true love gave to me, ten Lords-a-Leaping, nine Ladies Dancing, eight Maids-a-Milking, seven Swans-a-Swimming, six Geese-a-Laying, five Gold Rings, four Calling Birds, three French Hens, two Turtle Doves, and a Partridge in a Pear Tree.',
|
14
|
+
'On the eleventh day of Christmas my true love gave to me, eleven Pipers Piping, ten Lords-a-Leaping, nine Ladies Dancing, eight Maids-a-Milking, seven Swans-a-Swimming, six Geese-a-Laying, five Gold Rings, four Calling Birds, three French Hens, two Turtle Doves, and a Partridge in a Pear Tree.',
|
15
|
+
'On the twelfth day of Christmas my true love gave to me, twelve Drummers Drumming, eleven Pipers Piping, ten Lords-a-Leaping, nine Ladies Dancing, eight Maids-a-Milking, seven Swans-a-Swimming, six Geese-a-Laying, five Gold Rings, four Calling Birds, three French Hens, two Turtle Doves, and a Partridge in a Pear Tree.',
|
16
|
+
];
|
17
|
+
}
|
18
|
+
|
19
|
+
startFromZero(oneIndexArray) {
|
20
|
+
const newArray = oneIndexArray.map(item => item - 1);
|
21
|
+
return newArray;
|
22
|
+
}
|
23
|
+
|
24
|
+
singleVerse(verseIndex) {
|
25
|
+
const verse = this.verseList[verseIndex].concat('\n');
|
26
|
+
return verse;
|
27
|
+
}
|
28
|
+
|
29
|
+
multiVerse(startIndex, endIndex) {
|
30
|
+
const filteredList = this.verseList.filter((verse, index) => {
|
31
|
+
if (index >= startIndex && index <= endIndex) {
|
32
|
+
return verse;
|
33
|
+
}
|
34
|
+
});
|
35
|
+
return filteredList.join('\n\n').concat('\n');
|
36
|
+
}
|
37
|
+
|
38
|
+
verse(...args) {
|
39
|
+
const indexArray = this.startFromZero(args);
|
40
|
+
|
41
|
+
if (args.length === 2) {
|
42
|
+
return this.multiVerse(indexArray[0], indexArray[1]);
|
43
|
+
}
|
44
|
+
return this.singleVerse(indexArray[0]);
|
45
|
+
}
|
46
|
+
|
47
|
+
sing() {
|
48
|
+
const song = this.verseList.join('\n\n').concat('\n');
|
49
|
+
return song;
|
50
|
+
}
|
51
|
+
}
|
52
|
+
|
53
|
+
export default TwelveDays;
|
@@ -0,0 +1,68 @@
|
|
1
|
+
{
|
2
|
+
"name": "xecmascript",
|
3
|
+
"version": "0.0.0",
|
4
|
+
"description": "Exercism exercises in ECMAScript 6.",
|
5
|
+
"author": "Katrina Owen",
|
6
|
+
"private": true,
|
7
|
+
"repository": {
|
8
|
+
"type": "git",
|
9
|
+
"url": "https://github.com/exercism/xecmascript"
|
10
|
+
},
|
11
|
+
"devDependencies": {
|
12
|
+
"babel-jest": "^20.0.1",
|
13
|
+
"babel-plugin-transform-builtin-extend": "^1.1.2",
|
14
|
+
"babel-preset-env": "^1.4.0",
|
15
|
+
"eslint": "^3.19.0",
|
16
|
+
"eslint-config-airbnb": "^15.0.1",
|
17
|
+
"eslint-plugin-import": "^2.2.0",
|
18
|
+
"eslint-plugin-jsx-a11y": "^5.0.1",
|
19
|
+
"eslint-plugin-react": "^7.0.1",
|
20
|
+
"jest": "^20.0.1"
|
21
|
+
},
|
22
|
+
"jest": {
|
23
|
+
"modulePathIgnorePatterns": [
|
24
|
+
"package.json"
|
25
|
+
]
|
26
|
+
},
|
27
|
+
"babel": {
|
28
|
+
"presets": [
|
29
|
+
"env"
|
30
|
+
],
|
31
|
+
"plugins": [
|
32
|
+
[
|
33
|
+
"babel-plugin-transform-builtin-extend",
|
34
|
+
{
|
35
|
+
"globals": [
|
36
|
+
"Error"
|
37
|
+
]
|
38
|
+
}
|
39
|
+
]
|
40
|
+
]
|
41
|
+
},
|
42
|
+
"scripts": {
|
43
|
+
"test": "jest --no-cache ./*",
|
44
|
+
"watch": "jest --no-cache --watch ./*",
|
45
|
+
"lint": "eslint .",
|
46
|
+
"lint-test": "eslint . && jest --no-cache ./* "
|
47
|
+
},
|
48
|
+
"eslintConfig": {
|
49
|
+
"parserOptions": {
|
50
|
+
"ecmaVersion": 6,
|
51
|
+
"sourceType": "module"
|
52
|
+
},
|
53
|
+
"env": {
|
54
|
+
"es6": true,
|
55
|
+
"node": true,
|
56
|
+
"jest": true
|
57
|
+
},
|
58
|
+
"extends": "airbnb",
|
59
|
+
"rules": {
|
60
|
+
"import/no-unresolved": "off",
|
61
|
+
"import/extensions": "off"
|
62
|
+
}
|
63
|
+
},
|
64
|
+
"licenses": [
|
65
|
+
"MIT"
|
66
|
+
],
|
67
|
+
"dependencies": {}
|
68
|
+
}
|
@@ -0,0 +1,106 @@
|
|
1
|
+
import TwelveDays from './twelve-days.js';
|
2
|
+
|
3
|
+
describe('TwelveDays', () => {
|
4
|
+
let twelveDaysObject;
|
5
|
+
|
6
|
+
beforeEach(() => {
|
7
|
+
twelveDaysObject = new TwelveDays();
|
8
|
+
});
|
9
|
+
|
10
|
+
test('test verse one', () => {
|
11
|
+
const expectedVerseOne =
|
12
|
+
'On the first day of Christmas my true love gave to me, a Partridge in a Pear Tree.\n';
|
13
|
+
expect(twelveDaysObject.verse(1)).toEqual(expectedVerseOne);
|
14
|
+
});
|
15
|
+
|
16
|
+
xtest('test verse two', () => {
|
17
|
+
const expectedVerseTwo =
|
18
|
+
'On the second day of Christmas my true love gave to me, two Turtle Doves, and a Partridge in a Pear Tree.\n';
|
19
|
+
expect(twelveDaysObject.verse(2)).toEqual(expectedVerseTwo);
|
20
|
+
});
|
21
|
+
|
22
|
+
xtest('test verse three', () => {
|
23
|
+
const expectedVerseThree =
|
24
|
+
'On the third day of Christmas my true love gave to me, three French Hens, two Turtle Doves, and a Partridge in a Pear Tree.\n';
|
25
|
+
expect(twelveDaysObject.verse(3)).toEqual(expectedVerseThree);
|
26
|
+
});
|
27
|
+
|
28
|
+
xtest('test verse four', () => {
|
29
|
+
const expectedVerseFour =
|
30
|
+
'On the fourth day of Christmas my true love gave to me, four Calling Birds, three French Hens, two Turtle Doves, and a Partridge in a Pear Tree.\n';
|
31
|
+
expect(twelveDaysObject.verse(4)).toEqual(expectedVerseFour);
|
32
|
+
});
|
33
|
+
|
34
|
+
xtest('test verse five', () => {
|
35
|
+
const expectedVerseFive =
|
36
|
+
'On the fifth day of Christmas my true love gave to me, five Gold Rings, four Calling Birds, three French Hens, two Turtle Doves, and a Partridge in a Pear Tree.\n';
|
37
|
+
expect(twelveDaysObject.verse(5)).toEqual(expectedVerseFive);
|
38
|
+
});
|
39
|
+
|
40
|
+
xtest('test verse six', () => {
|
41
|
+
const expectedVerseSix =
|
42
|
+
'On the sixth day of Christmas my true love gave to me, six Geese-a-Laying, five Gold Rings, four Calling Birds, three French Hens, two Turtle Doves, and a Partridge in a Pear Tree.\n';
|
43
|
+
expect(twelveDaysObject.verse(6)).toEqual(expectedVerseSix);
|
44
|
+
});
|
45
|
+
|
46
|
+
xtest('test verse seven', () => {
|
47
|
+
const expectedVerseSeven =
|
48
|
+
'On the seventh day of Christmas my true love gave to me, seven Swans-a-Swimming, six Geese-a-Laying, five Gold Rings, four Calling Birds, three French Hens, two Turtle Doves, and a Partridge in a Pear Tree.\n';
|
49
|
+
expect(twelveDaysObject.verse(7)).toEqual(expectedVerseSeven);
|
50
|
+
});
|
51
|
+
|
52
|
+
xtest('test verse eight', () => {
|
53
|
+
const expectedVerseEight =
|
54
|
+
'On the eighth day of Christmas my true love gave to me, eight Maids-a-Milking, seven Swans-a-Swimming, six Geese-a-Laying, five Gold Rings, four Calling Birds, three French Hens, two Turtle Doves, and a Partridge in a Pear Tree.\n';
|
55
|
+
expect(twelveDaysObject.verse(8)).toEqual(expectedVerseEight);
|
56
|
+
});
|
57
|
+
|
58
|
+
xtest('test verse nine', () => {
|
59
|
+
const expectedVerseNine =
|
60
|
+
'On the ninth day of Christmas my true love gave to me, nine Ladies Dancing, eight Maids-a-Milking, seven Swans-a-Swimming, six Geese-a-Laying, five Gold Rings, four Calling Birds, three French Hens, two Turtle Doves, and a Partridge in a Pear Tree.\n';
|
61
|
+
expect(twelveDaysObject.verse(9)).toEqual(expectedVerseNine);
|
62
|
+
});
|
63
|
+
|
64
|
+
xtest('test verse ten', () => {
|
65
|
+
const expectedVerseTen =
|
66
|
+
'On the tenth day of Christmas my true love gave to me, ten Lords-a-Leaping, nine Ladies Dancing, eight Maids-a-Milking, seven Swans-a-Swimming, six Geese-a-Laying, five Gold Rings, four Calling Birds, three French Hens, two Turtle Doves, and a Partridge in a Pear Tree.\n';
|
67
|
+
expect(twelveDaysObject.verse(10)).toEqual(expectedVerseTen);
|
68
|
+
});
|
69
|
+
|
70
|
+
xtest('test verse eleven', () => {
|
71
|
+
const expectedVerseEleven =
|
72
|
+
'On the eleventh day of Christmas my true love gave to me, eleven Pipers Piping, ten Lords-a-Leaping, nine Ladies Dancing, eight Maids-a-Milking, seven Swans-a-Swimming, six Geese-a-Laying, five Gold Rings, four Calling Birds, three French Hens, two Turtle Doves, and a Partridge in a Pear Tree.\n';
|
73
|
+
expect(twelveDaysObject.verse(11)).toEqual(expectedVerseEleven);
|
74
|
+
});
|
75
|
+
|
76
|
+
xtest('test verse twelve', () => {
|
77
|
+
const expectedVerseTwelve =
|
78
|
+
'On the twelfth day of Christmas my true love gave to me, twelve Drummers Drumming, eleven Pipers Piping, ten Lords-a-Leaping, nine Ladies Dancing, eight Maids-a-Milking, seven Swans-a-Swimming, six Geese-a-Laying, five Gold Rings, four Calling Birds, three French Hens, two Turtle Doves, and a Partridge in a Pear Tree.\n';
|
79
|
+
expect(twelveDaysObject.verse(12)).toEqual(expectedVerseTwelve);
|
80
|
+
});
|
81
|
+
|
82
|
+
xtest('test multiple verse', () => {
|
83
|
+
const expectedVerseOneToThree =
|
84
|
+
'On the first day of Christmas my true love gave to me, a Partridge in a Pear Tree.\n\n' +
|
85
|
+
'On the second day of Christmas my true love gave to me, two Turtle Doves, and a Partridge in a Pear Tree.\n\n' +
|
86
|
+
'On the third day of Christmas my true love gave to me, three French Hens, two Turtle Doves, and a Partridge in a Pear Tree.\n';
|
87
|
+
expect(twelveDaysObject.verse(1, 3)).toEqual(expectedVerseOneToThree);
|
88
|
+
});
|
89
|
+
|
90
|
+
xtest('test sing whole song', () => {
|
91
|
+
const expectedSong =
|
92
|
+
'On the first day of Christmas my true love gave to me, a Partridge in a Pear Tree.\n\n' +
|
93
|
+
'On the second day of Christmas my true love gave to me, two Turtle Doves, and a Partridge in a Pear Tree.\n\n' +
|
94
|
+
'On the third day of Christmas my true love gave to me, three French Hens, two Turtle Doves, and a Partridge in a Pear Tree.\n\n' +
|
95
|
+
'On the fourth day of Christmas my true love gave to me, four Calling Birds, three French Hens, two Turtle Doves, and a Partridge in a Pear Tree.\n\n' +
|
96
|
+
'On the fifth day of Christmas my true love gave to me, five Gold Rings, four Calling Birds, three French Hens, two Turtle Doves, and a Partridge in a Pear Tree.\n\n' +
|
97
|
+
'On the sixth day of Christmas my true love gave to me, six Geese-a-Laying, five Gold Rings, four Calling Birds, three French Hens, two Turtle Doves, and a Partridge in a Pear Tree.\n\n' +
|
98
|
+
'On the seventh day of Christmas my true love gave to me, seven Swans-a-Swimming, six Geese-a-Laying, five Gold Rings, four Calling Birds, three French Hens, two Turtle Doves, and a Partridge in a Pear Tree.\n\n' +
|
99
|
+
'On the eighth day of Christmas my true love gave to me, eight Maids-a-Milking, seven Swans-a-Swimming, six Geese-a-Laying, five Gold Rings, four Calling Birds, three French Hens, two Turtle Doves, and a Partridge in a Pear Tree.\n\n' +
|
100
|
+
'On the ninth day of Christmas my true love gave to me, nine Ladies Dancing, eight Maids-a-Milking, seven Swans-a-Swimming, six Geese-a-Laying, five Gold Rings, four Calling Birds, three French Hens, two Turtle Doves, and a Partridge in a Pear Tree.\n\n' +
|
101
|
+
'On the tenth day of Christmas my true love gave to me, ten Lords-a-Leaping, nine Ladies Dancing, eight Maids-a-Milking, seven Swans-a-Swimming, six Geese-a-Laying, five Gold Rings, four Calling Birds, three French Hens, two Turtle Doves, and a Partridge in a Pear Tree.\n\n' +
|
102
|
+
'On the eleventh day of Christmas my true love gave to me, eleven Pipers Piping, ten Lords-a-Leaping, nine Ladies Dancing, eight Maids-a-Milking, seven Swans-a-Swimming, six Geese-a-Laying, five Gold Rings, four Calling Birds, three French Hens, two Turtle Doves, and a Partridge in a Pear Tree.\n\n' +
|
103
|
+
'On the twelfth day of Christmas my true love gave to me, twelve Drummers Drumming, eleven Pipers Piping, ten Lords-a-Leaping, nine Ladies Dancing, eight Maids-a-Milking, seven Swans-a-Swimming, six Geese-a-Laying, five Gold Rings, four Calling Birds, three French Hens, two Turtle Doves, and a Partridge in a Pear Tree.\n';
|
104
|
+
expect(twelveDaysObject.sing()).toEqual(expectedSong);
|
105
|
+
});
|
106
|
+
});
|
data/tracks/factor/config.json
CHANGED
@@ -0,0 +1,35 @@
|
|
1
|
+
{
|
2
|
+
"maintainers": [
|
3
|
+
{
|
4
|
+
"github_username": "ErikSchierboom",
|
5
|
+
"show_on_website": true,
|
6
|
+
"alumnus": false,
|
7
|
+
"name": "Erik Schierboom",
|
8
|
+
"bio": null,
|
9
|
+
"link_text": "My blog",
|
10
|
+
"link_url": "http://www.erikschierboom.com/",
|
11
|
+
"avatar_url": null
|
12
|
+
},
|
13
|
+
{
|
14
|
+
"github_username": "jwood803",
|
15
|
+
"show_on_website": false,
|
16
|
+
"alumnus": false,
|
17
|
+
"name": null,
|
18
|
+
"bio": null,
|
19
|
+
"link_text": null,
|
20
|
+
"link_url": null,
|
21
|
+
"avatar_url": null
|
22
|
+
},
|
23
|
+
{
|
24
|
+
"github_username": "robkeim",
|
25
|
+
"show_on_website": false,
|
26
|
+
"alumnus": false,
|
27
|
+
"name": null,
|
28
|
+
"bio": null,
|
29
|
+
"link_text": null,
|
30
|
+
"link_url": null,
|
31
|
+
"avatar_url": null
|
32
|
+
}
|
33
|
+
],
|
34
|
+
"docs_url": "https://github.com/exercism/docs/blob/master/maintaining-a-track/maintainer-configuration.md"
|
35
|
+
}
|
data/tracks/go/config.json
CHANGED
@@ -528,9 +528,13 @@
|
|
528
528
|
"slug": "diamond",
|
529
529
|
"core": false,
|
530
530
|
"unlocked_by": null,
|
531
|
-
"difficulty":
|
531
|
+
"difficulty": 4,
|
532
532
|
"topics": [
|
533
|
-
|
533
|
+
"Strings",
|
534
|
+
"Text formatting",
|
535
|
+
"Algorithms",
|
536
|
+
"Control-flow (conditionals)",
|
537
|
+
"Control-flow (loops)"
|
534
538
|
]
|
535
539
|
},
|
536
540
|
{
|
@@ -538,9 +542,9 @@
|
|
538
542
|
"slug": "react",
|
539
543
|
"core": false,
|
540
544
|
"unlocked_by": null,
|
541
|
-
"difficulty":
|
545
|
+
"difficulty": 9,
|
542
546
|
"topics": [
|
543
|
-
|
547
|
+
"Reactive programming"
|
544
548
|
]
|
545
549
|
},
|
546
550
|
{
|
@@ -548,9 +552,11 @@
|
|
548
552
|
"slug": "custom-set",
|
549
553
|
"core": false,
|
550
554
|
"unlocked_by": null,
|
551
|
-
"difficulty":
|
555
|
+
"difficulty": 4,
|
552
556
|
"topics": [
|
553
|
-
|
557
|
+
"Sets",
|
558
|
+
"Control-flow (loops)",
|
559
|
+
"Filtering"
|
554
560
|
]
|
555
561
|
},
|
556
562
|
{
|
@@ -558,9 +564,12 @@
|
|
558
564
|
"slug": "atbash-cipher",
|
559
565
|
"core": false,
|
560
566
|
"unlocked_by": null,
|
561
|
-
"difficulty":
|
567
|
+
"difficulty": 3,
|
562
568
|
"topics": [
|
563
|
-
|
569
|
+
"Algorithms",
|
570
|
+
"Strings",
|
571
|
+
"Transforming",
|
572
|
+
"Cryptography"
|
564
573
|
]
|
565
574
|
},
|
566
575
|
{
|
@@ -568,9 +577,12 @@
|
|
568
577
|
"slug": "phone-number",
|
569
578
|
"core": false,
|
570
579
|
"unlocked_by": null,
|
571
|
-
"difficulty":
|
580
|
+
"difficulty": 3,
|
572
581
|
"topics": [
|
573
|
-
|
582
|
+
"Control-flow (conditionals)",
|
583
|
+
"Strings",
|
584
|
+
"Transforming",
|
585
|
+
"Text formatting"
|
574
586
|
]
|
575
587
|
},
|
576
588
|
{
|
@@ -578,9 +590,11 @@
|
|
578
590
|
"slug": "strain",
|
579
591
|
"core": false,
|
580
592
|
"unlocked_by": null,
|
581
|
-
"difficulty":
|
593
|
+
"difficulty": 2,
|
582
594
|
"topics": [
|
583
|
-
|
595
|
+
"Filtering",
|
596
|
+
"Control-flow (loops)",
|
597
|
+
"Arrays"
|
584
598
|
]
|
585
599
|
},
|
586
600
|
{
|
@@ -588,9 +602,11 @@
|
|
588
602
|
"slug": "pig-latin",
|
589
603
|
"core": false,
|
590
604
|
"unlocked_by": null,
|
591
|
-
"difficulty":
|
605
|
+
"difficulty": 4,
|
592
606
|
"topics": [
|
593
|
-
|
607
|
+
"Strings",
|
608
|
+
"Transforming",
|
609
|
+
"Control-flow (conditionals)"
|
594
610
|
]
|
595
611
|
},
|
596
612
|
{
|
@@ -598,9 +614,11 @@
|
|
598
614
|
"slug": "prime-factors",
|
599
615
|
"core": false,
|
600
616
|
"unlocked_by": null,
|
601
|
-
"difficulty":
|
617
|
+
"difficulty": 3,
|
602
618
|
"topics": [
|
603
|
-
|
619
|
+
"Mathematics",
|
620
|
+
"Algorithms",
|
621
|
+
"Integers"
|
604
622
|
]
|
605
623
|
},
|
606
624
|
{
|
@@ -620,9 +638,11 @@
|
|
620
638
|
"slug": "nth-prime",
|
621
639
|
"core": false,
|
622
640
|
"unlocked_by": null,
|
623
|
-
"difficulty":
|
641
|
+
"difficulty": 3,
|
624
642
|
"topics": [
|
625
|
-
|
643
|
+
"Mathematics",
|
644
|
+
"Algorithms",
|
645
|
+
"Integers"
|
626
646
|
]
|
627
647
|
},
|
628
648
|
{
|
@@ -630,9 +650,12 @@
|
|
630
650
|
"slug": "diffie-hellman",
|
631
651
|
"core": false,
|
632
652
|
"unlocked_by": null,
|
633
|
-
"difficulty":
|
653
|
+
"difficulty": 5,
|
634
654
|
"topics": [
|
635
|
-
|
655
|
+
"Cryptography",
|
656
|
+
"Integers",
|
657
|
+
"Algorithms",
|
658
|
+
"Transforming"
|
636
659
|
]
|
637
660
|
},
|
638
661
|
{
|
@@ -640,9 +663,11 @@
|
|
640
663
|
"slug": "beer-song",
|
641
664
|
"core": false,
|
642
665
|
"unlocked_by": null,
|
643
|
-
"difficulty":
|
666
|
+
"difficulty": 3,
|
644
667
|
"topics": [
|
645
|
-
|
668
|
+
"Strings",
|
669
|
+
"Text formatting",
|
670
|
+
"Control-flow (loops)"
|
646
671
|
]
|
647
672
|
},
|
648
673
|
{
|
@@ -650,9 +675,10 @@
|
|
650
675
|
"slug": "ocr-numbers",
|
651
676
|
"core": false,
|
652
677
|
"unlocked_by": null,
|
653
|
-
"difficulty":
|
678
|
+
"difficulty": 7,
|
654
679
|
"topics": [
|
655
|
-
|
680
|
+
"Parsing",
|
681
|
+
"Pattern recognition"
|
656
682
|
]
|
657
683
|
},
|
658
684
|
{
|
@@ -850,9 +876,15 @@
|
|
850
876
|
"slug": "ledger",
|
851
877
|
"core": false,
|
852
878
|
"unlocked_by": null,
|
853
|
-
"difficulty":
|
879
|
+
"difficulty": 4,
|
854
880
|
"topics": [
|
855
|
-
|
881
|
+
"Dates",
|
882
|
+
"Integers",
|
883
|
+
"Records",
|
884
|
+
"Refactoring",
|
885
|
+
"Sorting",
|
886
|
+
"Strings",
|
887
|
+
"Text formatting"
|
856
888
|
]
|
857
889
|
},
|
858
890
|
{
|
@@ -860,9 +892,14 @@
|
|
860
892
|
"slug": "poker",
|
861
893
|
"core": false,
|
862
894
|
"unlocked_by": null,
|
863
|
-
"difficulty":
|
895
|
+
"difficulty": 5,
|
864
896
|
"topics": [
|
865
|
-
|
897
|
+
"Equality",
|
898
|
+
"Games",
|
899
|
+
"Parsing",
|
900
|
+
"Pattern matching",
|
901
|
+
"Sequences",
|
902
|
+
"Strings"
|
866
903
|
]
|
867
904
|
},
|
868
905
|
{
|
@@ -870,9 +907,11 @@
|
|
870
907
|
"slug": "variable-length-quantity",
|
871
908
|
"core": false,
|
872
909
|
"unlocked_by": null,
|
873
|
-
"difficulty":
|
910
|
+
"difficulty": 5,
|
874
911
|
"topics": [
|
875
|
-
|
912
|
+
"Bitwise operations",
|
913
|
+
"Integers",
|
914
|
+
"Transforming"
|
876
915
|
]
|
877
916
|
},
|
878
917
|
{
|
@@ -880,9 +919,11 @@
|
|
880
919
|
"slug": "forth",
|
881
920
|
"core": false,
|
882
921
|
"unlocked_by": null,
|
883
|
-
"difficulty":
|
922
|
+
"difficulty": 8,
|
884
923
|
"topics": [
|
885
|
-
|
924
|
+
"Domain-specific languages",
|
925
|
+
"Parsing",
|
926
|
+
"Stacks"
|
886
927
|
]
|
887
928
|
},
|
888
929
|
{
|
@@ -890,11 +931,13 @@
|
|
890
931
|
"slug": "change",
|
891
932
|
"core": false,
|
892
933
|
"unlocked_by": null,
|
893
|
-
"difficulty":
|
934
|
+
"difficulty": 5,
|
894
935
|
"topics": [
|
895
|
-
"
|
936
|
+
"Algorithms",
|
896
937
|
"Arrays",
|
897
|
-
"
|
938
|
+
"Control-flow (loops)",
|
939
|
+
"Mathematics",
|
940
|
+
"Searching"
|
898
941
|
]
|
899
942
|
},
|
900
943
|
{
|
@@ -902,10 +945,11 @@
|
|
902
945
|
"slug": "bowling",
|
903
946
|
"core": false,
|
904
947
|
"unlocked_by": null,
|
905
|
-
"difficulty":
|
948
|
+
"difficulty": 5,
|
906
949
|
"topics": [
|
907
|
-
"
|
908
|
-
"Arrays"
|
950
|
+
"Algorithms",
|
951
|
+
"Arrays",
|
952
|
+
"Control-flow (conditionals)"
|
909
953
|
]
|
910
954
|
},
|
911
955
|
{
|