trackler 2.2.1.91 → 2.2.1.92
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/problem-specifications/exercises/diamond/metadata.yml +1 -1
- data/problem-specifications/exercises/food-chain/canonical-data.json +42 -22
- data/problem-specifications/exercises/hello-world/canonical-data.json +2 -1
- data/problem-specifications/exercises/isbn-verifier/metadata.yml +2 -1
- data/problem-specifications/exercises/largest-series-product/canonical-data.json +62 -33
- data/problem-specifications/exercises/leap/canonical-data.json +14 -6
- data/problem-specifications/exercises/list-ops/canonical-data.json +6 -6
- data/problem-specifications/exercises/markdown/canonical-data.json +29 -11
- data/problem-specifications/exercises/minesweeper/canonical-data.json +80 -56
- data/problem-specifications/exercises/minesweeper/metadata.yml +1 -1
- data/problem-specifications/exercises/nth-prime/canonical-data.json +20 -8
- data/problem-specifications/exercises/nucleotide-count/canonical-data.json +17 -7
- data/problem-specifications/exercises/pascals-triangle/canonical-data.json +28 -10
- data/problem-specifications/exercises/perfect-numbers/canonical-data.json +41 -15
- data/problem-specifications/exercises/phone-number/canonical-data.json +44 -16
- data/problem-specifications/exercises/pig-latin/canonical-data.json +68 -24
- data/problem-specifications/exercises/reverse-string/metadata.yml +1 -1
- data/problem-specifications/exercises/rna-transcription/canonical-data.json +17 -7
- data/problem-specifications/exercises/roman-numerals/canonical-data.json +56 -20
- data/problem-specifications/exercises/rotational-cipher/canonical-data.json +42 -22
- data/problem-specifications/exercises/saddle-points/canonical-data.json +34 -24
- data/problem-specifications/exercises/scrabble-score/canonical-data.json +35 -13
- data/problem-specifications/exercises/secret-handshake/canonical-data.json +34 -12
- data/problem-specifications/exercises/sieve/canonical-data.json +16 -6
- data/problem-specifications/exercises/space-age/canonical-data.json +34 -18
- data/problem-specifications/exercises/spiral-matrix/canonical-data.json +19 -7
- data/problem-specifications/exercises/sublist/canonical-data.json +69 -35
- data/problem-specifications/exercises/twelve-days/canonical-data.json +61 -31
- data/problem-specifications/exercises/variable-length-quantity/canonical-data.json +79 -27
- data/problem-specifications/exercises/zebra-puzzle/canonical-data.json +3 -1
- data/tracks/csharp/exercises/accumulate/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/csharp/exercises/allergies/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/csharp/exercises/alphametics/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/csharp/exercises/bank-account/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/csharp/exercises/beer-song/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/csharp/exercises/clock/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/csharp/exercises/custom-set/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/csharp/exercises/diamond/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/csharp/exercises/difference-of-squares/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/csharp/exercises/diffie-hellman/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/csharp/exercises/dot-dsl/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/csharp/exercises/food-chain/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/csharp/exercises/forth/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/csharp/exercises/hangman/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/csharp/exercises/house/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/csharp/exercises/list-ops/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/csharp/exercises/markdown/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/csharp/exercises/nth-prime/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/csharp/exercises/nucleotide-count/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/csharp/exercises/palindrome-products/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/csharp/exercises/proverb/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/csharp/exercises/react/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/csharp/exercises/roman-numerals/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/csharp/exercises/saddle-points/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/csharp/exercises/sgf-parsing/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/csharp/exercises/simple-linked-list/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/csharp/exercises/sublist/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/csharp/exercises/sum-of-multiples/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/csharp/exercises/twelve-days/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/csharp/exercises/variable-length-quantity/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/csharp/exercises/word-search/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/csharp/exercises/wordy/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/csharp/exercises/zebra-puzzle/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/csharp/exercises/zipper/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/delphi/exercises/secret-handshake/uTestSecretHandshake.pas +1 -1
- data/tracks/elixir/config/exercise_readme.go.tmpl +34 -4
- data/tracks/elixir/exercises/accumulate/README.md +1 -6
- data/tracks/elixir/exercises/acronym/README.md +1 -4
- data/tracks/elixir/exercises/all-your-base/README.md +2 -5
- data/tracks/elixir/exercises/allergies/README.md +1 -4
- data/tracks/elixir/exercises/anagram/README.md +1 -3
- data/tracks/elixir/exercises/atbash-cipher/README.md +3 -4
- data/tracks/elixir/exercises/bank-account/README.md +1 -4
- data/tracks/elixir/exercises/beer-song/README.md +3 -5
- data/tracks/elixir/exercises/binary-search-tree/README.md +43 -0
- data/tracks/elixir/exercises/binary-search/README.md +1 -3
- data/tracks/elixir/exercises/binary/README.md +3 -3
- data/tracks/elixir/exercises/bob/README.md +2 -2
- data/tracks/elixir/exercises/bowling/README.md +21 -9
- data/tracks/elixir/exercises/bracket-push/README.md +1 -3
- data/tracks/elixir/exercises/change/README.md +2 -4
- data/tracks/elixir/exercises/clock/README.md +1 -3
- data/tracks/elixir/exercises/collatz-conjecture/README.md +2 -4
- data/tracks/elixir/exercises/connect/README.md +2 -5
- data/tracks/elixir/exercises/crypto-square/README.md +11 -11
- data/tracks/elixir/exercises/custom-set/README.md +1 -4
- data/tracks/elixir/exercises/diamond/README.md +7 -9
- data/tracks/elixir/exercises/difference-of-squares/README.md +1 -3
- data/tracks/elixir/exercises/diffie-hellman/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/elixir/exercises/diffie-hellman/README.md +1 -3
- data/tracks/elixir/exercises/dominoes/README.md +4 -7
- data/tracks/elixir/exercises/dot-dsl/README.md +2 -5
- data/tracks/elixir/exercises/etl/README.md +4 -4
- data/tracks/elixir/exercises/flatten-array/README.md +2 -5
- data/tracks/elixir/exercises/forth/README.md +1 -4
- data/tracks/elixir/exercises/gigasecond/README.md +1 -3
- data/tracks/elixir/exercises/grade-school/README.md +1 -4
- data/tracks/elixir/exercises/grains/README.md +1 -4
- data/tracks/elixir/exercises/grep/README.md +13 -15
- data/tracks/elixir/exercises/hamming/README.md +1 -3
- data/tracks/elixir/exercises/hello-world/README.md +23 -0
- data/tracks/elixir/exercises/hexadecimal/README.md +1 -3
- data/tracks/elixir/exercises/isbn-verifier/README.md +26 -24
- data/tracks/elixir/exercises/isogram/README.md +3 -4
- data/tracks/elixir/exercises/kindergarten-garden/README.md +14 -16
- data/tracks/elixir/exercises/largest-series-product/README.md +1 -3
- data/tracks/elixir/exercises/leap/README.md +2 -4
- data/tracks/elixir/exercises/list-ops/README.md +1 -4
- data/tracks/elixir/exercises/luhn/README.md +8 -10
- data/tracks/elixir/exercises/markdown/README.md +1 -4
- data/tracks/elixir/exercises/matrix/README.md +7 -7
- data/tracks/elixir/exercises/meetup/README.md +17 -16
- data/tracks/elixir/exercises/minesweeper/README.md +1 -4
- data/tracks/elixir/exercises/nth-prime/README.md +1 -3
- data/tracks/elixir/exercises/nucleotide-count/README.md +9 -25
- data/tracks/elixir/exercises/ocr-numbers/README.md +7 -9
- data/tracks/elixir/exercises/palindrome-products/README.md +16 -19
- data/tracks/elixir/exercises/pangram/README.md +2 -4
- data/tracks/elixir/exercises/parallel-letter-frequency/README.md +1 -4
- data/tracks/elixir/exercises/pascals-triangle/README.md +3 -5
- data/tracks/elixir/exercises/perfect-numbers/README.md +3 -5
- data/tracks/elixir/exercises/phone-number/README.md +5 -6
- data/tracks/elixir/exercises/pig-latin/README.md +1 -3
- data/tracks/elixir/exercises/poker/README.md +1 -3
- data/tracks/elixir/exercises/prime-factors/README.md +1 -3
- data/tracks/elixir/exercises/protein-translation/README.md +3 -6
- data/tracks/elixir/exercises/pythagorean-triplet/README.md +4 -6
- data/tracks/elixir/exercises/queen-attack/README.md +2 -4
- data/tracks/elixir/exercises/rail-fence-cipher/README.md +13 -10
- data/tracks/elixir/exercises/raindrops/README.md +1 -3
- data/tracks/elixir/exercises/rna-transcription/README.md +2 -4
- data/tracks/elixir/exercises/robot-simulator/README.md +1 -3
- data/tracks/elixir/exercises/roman-numerals/README.md +2 -4
- data/tracks/elixir/exercises/rotational-cipher/README.md +3 -4
- data/tracks/elixir/exercises/run-length-encoding/README.md +5 -7
- data/tracks/elixir/exercises/saddle-points/README.md +3 -5
- data/tracks/elixir/exercises/say/README.md +1 -3
- data/tracks/elixir/exercises/scale-generator/README.md +1 -5
- data/tracks/elixir/exercises/scrabble-score/README.md +4 -4
- data/tracks/elixir/exercises/secret-handshake/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/elixir/exercises/secret-handshake/README.md +4 -4
- data/tracks/elixir/exercises/series/README.md +1 -3
- data/tracks/elixir/exercises/sieve/README.md +1 -3
- data/tracks/elixir/exercises/simple-cipher/README.md +6 -10
- data/tracks/elixir/exercises/simple-linked-list/README.md +1 -3
- data/tracks/elixir/exercises/space-age/README.md +2 -4
- data/tracks/elixir/exercises/spiral-matrix/README.md +5 -5
- data/tracks/elixir/exercises/strain/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/elixir/exercises/strain/README.md +1 -3
- data/tracks/elixir/exercises/sublist/README.md +1 -4
- data/tracks/elixir/exercises/sum-of-multiples/README.md +4 -9
- data/tracks/elixir/exercises/tournament/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/elixir/exercises/tournament/README.md +6 -9
- data/tracks/elixir/exercises/transpose/README.md +6 -7
- data/tracks/elixir/exercises/triangle/README.md +10 -9
- data/tracks/elixir/exercises/twelve-days/README.md +2 -4
- data/tracks/elixir/exercises/word-count/README.md +2 -5
- data/tracks/elixir/exercises/wordy/README.md +1 -8
- data/tracks/elixir/exercises/zipper/README.md +2 -5
- data/tracks/fortran/README.md +1 -1
- data/tracks/fsharp/config/exercise_readme.go.tmpl +0 -3
- data/tracks/fsharp/exercises/accumulate/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/fsharp/exercises/alphametics/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/fsharp/exercises/beer-song/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/fsharp/exercises/diamond/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/fsharp/exercises/difference-of-squares/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/fsharp/exercises/diffie-hellman/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/fsharp/exercises/food-chain/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/fsharp/exercises/gigasecond/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/fsharp/exercises/grade-school/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/fsharp/exercises/grains/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/fsharp/exercises/house/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/fsharp/exercises/lens-person/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/fsharp/exercises/linked-list/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/fsharp/exercises/nth-prime/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/fsharp/exercises/palindrome-products/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/fsharp/exercises/parallel-letter-frequency/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/fsharp/exercises/poker/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/fsharp/exercises/proverb/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/fsharp/exercises/raindrops/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/fsharp/exercises/rna-transcription/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/fsharp/exercises/space-age/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/fsharp/exercises/twelve-days/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/fsharp/exercises/wordy/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/java/exercises/acronym/.meta/version +1 -1
- data/tracks/java/exercises/acronym/src/test/java/AcronymTest.java +6 -6
- data/tracks/java/exercises/raindrops/.meta/version +1 -0
- data/tracks/java/exercises/raindrops/src/test/java/RaindropConverterTest.java +3 -1
- data/tracks/java/exercises/transpose/src/test/java/TransposeTest.java +5 -5
- data/tracks/java/exercises/word-count/.meta/src/reference/java/WordCount.java +1 -1
- data/tracks/java/exercises/word-count/.meta/version +1 -0
- data/tracks/java/exercises/word-count/src/test/java/WordCountTest.java +73 -3
- data/tracks/mips/config/exercise_readme.go.tmpl +0 -3
- data/tracks/perl5/config/exercise_readme.go.tmpl +0 -3
- data/tracks/php/exercises/bob/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/php/exercises/roman-numerals/roman-numerals_test.php +1 -1
- data/tracks/pony/config/exercise_readme.go.tmpl +0 -3
- data/tracks/python/config.json +14 -0
- data/tracks/python/exercises/isbn-verifier/README.md +43 -0
- data/tracks/python/exercises/isbn-verifier/example.py +8 -0
- data/tracks/python/exercises/isbn-verifier/isbn_verifier.py +2 -0
- data/tracks/python/exercises/isbn-verifier/isbn_verifier_test.py +54 -0
- data/tracks/rust/exercises/atbash-cipher/example.rs +0 -2
- data/tracks/rust/exercises/bracket-push/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/rust/exercises/crypto-square/example.rs +0 -2
- data/tracks/rust/exercises/etl/example.rs +0 -1
- data/tracks/rust/exercises/forth/example.rs +0 -1
- data/tracks/rust/exercises/largest-series-product/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/rust/exercises/pangram/example.rs +0 -1
- data/tracks/rust/exercises/parallel-letter-frequency/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/rust/exercises/scrabble-score/tests/scrabble-score.rs +9 -2
- data/tracks/rust/exercises/space-age/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/rust/exercises/triangle/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/scala/exercises/bank-account/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/scala/exercises/connect/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/scala/exercises/gigasecond/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/scala/exercises/hamming/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/scala/exercises/hello-world/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/scala/exercises/leap/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/scala/exercises/nucleotide-count/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/scala/exercises/parallel-letter-frequency/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/scala/exercises/phone-number/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/scala/exercises/robot-name/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/scala/exercises/roman-numerals/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/scala/exercises/variable-length-quantity/{HINTS.md → .meta/hints.md} +0 -0
- metadata +87 -86
- data/tracks/elixir/docs/EXERCISE_README_INSERT.md +0 -35
- data/tracks/fsharp/docs/EXERCISE_README_INSERT.md +0 -0
- data/tracks/mips/docs/EXERCISE_README_INSERT.md +0 -0
- data/tracks/perl5/docs/EXERCISE_README_INSERT.md +0 -0
- data/tracks/pony/docs/EXERCISE_README_INSERT.md +0 -0
@@ -10,11 +10,9 @@ overview of poker hands.
|
|
10
10
|
Execute the tests with:
|
11
11
|
|
12
12
|
```bash
|
13
|
-
$ elixir
|
13
|
+
$ elixir poker_test.exs
|
14
14
|
```
|
15
15
|
|
16
|
-
(Replace `bob_test.exs` with the name of the test file.)
|
17
|
-
|
18
16
|
### Pending tests
|
19
17
|
|
20
18
|
In the test suites, all but the first test have been skipped.
|
@@ -34,11 +34,9 @@ You can check this yourself:
|
|
34
34
|
Execute the tests with:
|
35
35
|
|
36
36
|
```bash
|
37
|
-
$ elixir
|
37
|
+
$ elixir prime_factors_test.exs
|
38
38
|
```
|
39
39
|
|
40
|
-
(Replace `bob_test.exs` with the name of the test file.)
|
41
|
-
|
42
40
|
### Pending tests
|
43
41
|
|
44
42
|
In the test suites, all but the first test have been skipped.
|
@@ -14,13 +14,13 @@ Protein: `"Methionine", "Phenylalanine", "Serine"`
|
|
14
14
|
There are 64 codons which in turn correspond to 20 amino acids; however, all of the codon sequences and resulting amino acids are not important in this exercise. If it works for one codon, the program should work for all of them.
|
15
15
|
However, feel free to expand the list in the test suite to include them all.
|
16
16
|
|
17
|
-
There are also
|
17
|
+
There are also three terminating codons (also known as 'STOP' codons); if any of these codons are encountered (by the ribosome), all translation ends and the protein is terminated.
|
18
18
|
|
19
19
|
All subsequent codons after are ignored, like this:
|
20
20
|
|
21
21
|
RNA: `"AUGUUUUCUUAAAUG"` =>
|
22
22
|
|
23
|
-
Codons: `"AUG", "UUU", "UCU", "
|
23
|
+
Codons: `"AUG", "UUU", "UCU", "UAG", "AUG"` =>
|
24
24
|
|
25
25
|
Protein: `"Methionine", "Phenylalanine", "Serine"`
|
26
26
|
|
@@ -46,11 +46,9 @@ Learn more about [protein translation on Wikipedia](http://en.wikipedia.org/wiki
|
|
46
46
|
Execute the tests with:
|
47
47
|
|
48
48
|
```bash
|
49
|
-
$ elixir
|
49
|
+
$ elixir protein_translation_test.exs
|
50
50
|
```
|
51
51
|
|
52
|
-
(Replace `bob_test.exs` with the name of the test file.)
|
53
|
-
|
54
52
|
### Pending tests
|
55
53
|
|
56
54
|
In the test suites, all but the first test have been skipped.
|
@@ -82,5 +80,4 @@ see the [help page](http://exercism.io/languages/elixir).
|
|
82
80
|
Tyler Long
|
83
81
|
|
84
82
|
## Submitting Incomplete Solutions
|
85
|
-
|
86
83
|
It's possible to submit an incomplete solution so you can see how others have completed the exercise.
|
@@ -3,13 +3,13 @@
|
|
3
3
|
A Pythagorean triplet is a set of three natural numbers, {a, b, c}, for
|
4
4
|
which,
|
5
5
|
|
6
|
-
```
|
6
|
+
```text
|
7
7
|
a**2 + b**2 = c**2
|
8
8
|
```
|
9
9
|
|
10
|
-
For example,
|
10
|
+
For example,
|
11
11
|
|
12
|
-
```
|
12
|
+
```text
|
13
13
|
3**2 + 4**2 = 9 + 16 = 25 = 5**2.
|
14
14
|
```
|
15
15
|
|
@@ -22,11 +22,9 @@ Find the product a * b * c.
|
|
22
22
|
Execute the tests with:
|
23
23
|
|
24
24
|
```bash
|
25
|
-
$ elixir
|
25
|
+
$ elixir pythagorean_triplet_test.exs
|
26
26
|
```
|
27
27
|
|
28
|
-
(Replace `bob_test.exs` with the name of the test file.)
|
29
|
-
|
30
28
|
### Pending tests
|
31
29
|
|
32
30
|
In the test suites, all but the first test have been skipped.
|
@@ -11,7 +11,7 @@ A chessboard can be represented by an 8 by 8 array.
|
|
11
11
|
So if you're told the white queen is at (2, 3) and the black queen at
|
12
12
|
(5, 6), then you'd know you've got a set-up like so:
|
13
13
|
|
14
|
-
```
|
14
|
+
```text
|
15
15
|
_ _ _ _ _ _ _ _
|
16
16
|
_ _ _ _ _ _ _ _
|
17
17
|
_ _ _ W _ _ _ _
|
@@ -31,11 +31,9 @@ share a diagonal.
|
|
31
31
|
Execute the tests with:
|
32
32
|
|
33
33
|
```bash
|
34
|
-
$ elixir
|
34
|
+
$ elixir queen_attack_test.exs
|
35
35
|
```
|
36
36
|
|
37
|
-
(Replace `bob_test.exs` with the name of the test file.)
|
38
|
-
|
39
37
|
### Pending tests
|
40
38
|
|
41
39
|
In the test suites, all but the first test have been skipped.
|
@@ -11,41 +11,46 @@ Finally the message is then read off in rows.
|
|
11
11
|
|
12
12
|
For example, using three "rails" and the message "WE ARE DISCOVERED FLEE AT ONCE",
|
13
13
|
the cipherer writes out:
|
14
|
-
|
14
|
+
|
15
|
+
```text
|
15
16
|
W . . . E . . . C . . . R . . . L . . . T . . . E
|
16
17
|
. E . R . D . S . O . E . E . F . E . A . O . C .
|
17
18
|
. . A . . . I . . . V . . . D . . . E . . . N . .
|
18
19
|
```
|
19
20
|
|
20
21
|
Then reads off:
|
21
|
-
|
22
|
+
|
23
|
+
```text
|
22
24
|
WECRLTEERDSOEEFEAOCAIVDEN
|
23
25
|
```
|
24
26
|
|
25
|
-
|
26
27
|
To decrypt a message you take the zig-zag shape and fill the ciphertext along the rows.
|
27
|
-
|
28
|
+
|
29
|
+
```text
|
28
30
|
? . . . ? . . . ? . . . ? . . . ? . . . ? . . . ?
|
29
31
|
. ? . ? . ? . ? . ? . ? . ? . ? . ? . ? . ? . ? .
|
30
32
|
. . ? . . . ? . . . ? . . . ? . . . ? . . . ? . .
|
31
33
|
```
|
32
34
|
|
33
35
|
The first row has seven spots that can be filled with "WECRLTE".
|
34
|
-
|
36
|
+
|
37
|
+
```text
|
35
38
|
W . . . E . . . C . . . R . . . L . . . T . . . E
|
36
39
|
. ? . ? . ? . ? . ? . ? . ? . ? . ? . ? . ? . ? .
|
37
40
|
. . ? . . . ? . . . ? . . . ? . . . ? . . . ? . .
|
38
41
|
```
|
39
42
|
|
40
43
|
Now the 2nd row takes "ERDSOEEFEAOC".
|
41
|
-
|
44
|
+
|
45
|
+
```text
|
42
46
|
W . . . E . . . C . . . R . . . L . . . T . . . E
|
43
47
|
. E . R . D . S . O . E . E . F . E . A . O . C .
|
44
48
|
. . ? . . . ? . . . ? . . . ? . . . ? . . . ? . .
|
45
49
|
```
|
46
50
|
|
47
51
|
Leaving "AIVDEN" for the last row.
|
48
|
-
|
52
|
+
|
53
|
+
```text
|
49
54
|
W . . . E . . . C . . . R . . . L . . . T . . . E
|
50
55
|
. E . R . D . S . O . E . E . F . E . A . O . C .
|
51
56
|
. . A . . . I . . . V . . . D . . . E . . . N . .
|
@@ -58,11 +63,9 @@ If you now read along the zig-zag shape you can read the original message.
|
|
58
63
|
Execute the tests with:
|
59
64
|
|
60
65
|
```bash
|
61
|
-
$ elixir
|
66
|
+
$ elixir rail_fence_cipher_test.exs
|
62
67
|
```
|
63
68
|
|
64
|
-
(Replace `bob_test.exs` with the name of the test file.)
|
65
|
-
|
66
69
|
### Pending tests
|
67
70
|
|
68
71
|
In the test suites, all but the first test have been skipped.
|
@@ -22,11 +22,9 @@ Convert a number to a string, the contents of which depend on the number's facto
|
|
22
22
|
Execute the tests with:
|
23
23
|
|
24
24
|
```bash
|
25
|
-
$ elixir
|
25
|
+
$ elixir raindrops_test.exs
|
26
26
|
```
|
27
27
|
|
28
|
-
(Replace `bob_test.exs` with the name of the test file.)
|
29
|
-
|
30
28
|
### Pending tests
|
31
29
|
|
32
30
|
In the test suites, all but the first test have been skipped.
|
@@ -1,4 +1,4 @@
|
|
1
|
-
#
|
1
|
+
# RNA Transcription
|
2
2
|
|
3
3
|
Given a DNA strand, return its RNA complement (per RNA transcription).
|
4
4
|
|
@@ -23,11 +23,9 @@ each nucleotide with its complement:
|
|
23
23
|
Execute the tests with:
|
24
24
|
|
25
25
|
```bash
|
26
|
-
$ elixir
|
26
|
+
$ elixir rna_transcription_test.exs
|
27
27
|
```
|
28
28
|
|
29
|
-
(Replace `bob_test.exs` with the name of the test file.)
|
30
|
-
|
31
29
|
### Pending tests
|
32
30
|
|
33
31
|
In the test suites, all but the first test have been skipped.
|
@@ -32,11 +32,9 @@ direction it is pointing.
|
|
32
32
|
Execute the tests with:
|
33
33
|
|
34
34
|
```bash
|
35
|
-
$ elixir
|
35
|
+
$ elixir robot_simulator_test.exs
|
36
36
|
```
|
37
37
|
|
38
|
-
(Replace `bob_test.exs` with the name of the test file.)
|
39
|
-
|
40
38
|
### Pending tests
|
41
39
|
|
42
40
|
In the test suites, all but the first test have been skipped.
|
@@ -14,7 +14,7 @@ The Romans wrote numbers using letters - I, V, X, L, C, D, M. (notice
|
|
14
14
|
these letters have lots of straight lines and are hence easy to hack
|
15
15
|
into stone tablets).
|
16
16
|
|
17
|
-
```
|
17
|
+
```text
|
18
18
|
1 => I
|
19
19
|
10 => X
|
20
20
|
7 => VII
|
@@ -47,11 +47,9 @@ See also: http://www.novaroma.org/via_romana/numbers.html
|
|
47
47
|
Execute the tests with:
|
48
48
|
|
49
49
|
```bash
|
50
|
-
$ elixir
|
50
|
+
$ elixir roman_numerals_test.exs
|
51
51
|
```
|
52
52
|
|
53
|
-
(Replace `bob_test.exs` with the name of the test file.)
|
54
|
-
|
55
53
|
### Pending tests
|
56
54
|
|
57
55
|
In the test suites, all but the first test have been skipped.
|
@@ -13,7 +13,7 @@ The most commonly used rotational cipher is `ROT13`.
|
|
13
13
|
|
14
14
|
A `ROT13` on the Latin alphabet would be as follows:
|
15
15
|
|
16
|
-
```
|
16
|
+
```text
|
17
17
|
Plain: abcdefghijklmnopqrstuvwxyz
|
18
18
|
Cipher: nopqrstuvwxyzabcdefghijklm
|
19
19
|
```
|
@@ -23,6 +23,7 @@ It is stronger than the Atbash cipher because it has 27 possible keys, and 25 us
|
|
23
23
|
Ciphertext is written out in the same formatting as the input including spaces and punctuation.
|
24
24
|
|
25
25
|
## Examples
|
26
|
+
|
26
27
|
- ROT5 `omg` gives `trl`
|
27
28
|
- ROT0 `c` gives `c`
|
28
29
|
- ROT26 `Cool` gives `Cool`
|
@@ -34,11 +35,9 @@ Ciphertext is written out in the same formatting as the input including spaces a
|
|
34
35
|
Execute the tests with:
|
35
36
|
|
36
37
|
```bash
|
37
|
-
$ elixir
|
38
|
+
$ elixir rotational_cipher_test.exs
|
38
39
|
```
|
39
40
|
|
40
|
-
(Replace `bob_test.exs` with the name of the test file.)
|
41
|
-
|
42
41
|
### Pending tests
|
43
42
|
|
44
43
|
In the test suites, all but the first test have been skipped.
|
@@ -7,20 +7,20 @@ Run-length encoding (RLE) is a simple form of data compression, where runs
|
|
7
7
|
|
8
8
|
For example we can represent the original 53 characters with only 13.
|
9
9
|
|
10
|
-
```
|
10
|
+
```text
|
11
11
|
"WWWWWWWWWWWWBWWWWWWWWWWWWBBBWWWWWWWWWWWWWWWWWWWWWWWWB" -> "12WB12W3B24WB"
|
12
12
|
```
|
13
13
|
|
14
14
|
RLE allows the original data to be perfectly reconstructed from
|
15
15
|
the compressed data, which makes it a lossless data compression.
|
16
16
|
|
17
|
-
```
|
17
|
+
```text
|
18
18
|
"AABCCCDEEEE" -> "2AB3CD4E" -> "AABCCCDEEEE"
|
19
19
|
```
|
20
20
|
|
21
21
|
For simplicity, you can assume that the unencoded string will only contain
|
22
|
-
the letters A through Z (either lower or upper case) and whitespace. This way
|
23
|
-
data to be encoded will never contain any numbers and numbers inside data to
|
22
|
+
the letters A through Z (either lower or upper case) and whitespace. This way
|
23
|
+
data to be encoded will never contain any numbers and numbers inside data to
|
24
24
|
be decoded always represent the count for the following character.
|
25
25
|
|
26
26
|
## Running tests
|
@@ -28,11 +28,9 @@ be decoded always represent the count for the following character.
|
|
28
28
|
Execute the tests with:
|
29
29
|
|
30
30
|
```bash
|
31
|
-
$ elixir
|
31
|
+
$ elixir run_length_encoding_test.exs
|
32
32
|
```
|
33
33
|
|
34
|
-
(Replace `bob_test.exs` with the name of the test file.)
|
35
|
-
|
36
34
|
### Pending tests
|
37
35
|
|
38
36
|
In the test suites, all but the first test have been skipped.
|
@@ -4,7 +4,7 @@ Detect saddle points in a matrix.
|
|
4
4
|
|
5
5
|
So say you have a matrix like so:
|
6
6
|
|
7
|
-
```
|
7
|
+
```text
|
8
8
|
0 1 2
|
9
9
|
|---------
|
10
10
|
0 | 9 8 7
|
@@ -15,7 +15,7 @@ So say you have a matrix like so:
|
|
15
15
|
It has a saddle point at (1, 0).
|
16
16
|
|
17
17
|
It's called a "saddle point" because it is greater than or equal to
|
18
|
-
every element in its row and
|
18
|
+
every element in its row and less than or equal to every element in
|
19
19
|
its column.
|
20
20
|
|
21
21
|
A matrix may have zero or more saddle points.
|
@@ -31,11 +31,9 @@ but the tests for this exercise follow the above unambiguous definition.
|
|
31
31
|
Execute the tests with:
|
32
32
|
|
33
33
|
```bash
|
34
|
-
$ elixir
|
34
|
+
$ elixir saddle_points_test.exs
|
35
35
|
```
|
36
36
|
|
37
|
-
(Replace `bob_test.exs` with the name of the test file.)
|
38
|
-
|
39
37
|
### Pending tests
|
40
38
|
|
41
39
|
In the test suites, all but the first test have been skipped.
|
@@ -67,11 +67,9 @@ Use _and_ (correctly) when spelling out the number in English:
|
|
67
67
|
Execute the tests with:
|
68
68
|
|
69
69
|
```bash
|
70
|
-
$ elixir
|
70
|
+
$ elixir say_test.exs
|
71
71
|
```
|
72
72
|
|
73
|
-
(Replace `bob_test.exs` with the name of the test file.)
|
74
|
-
|
75
73
|
### Pending tests
|
76
74
|
|
77
75
|
In the test suites, all but the first test have been skipped.
|
@@ -32,7 +32,6 @@ Use Flats:
|
|
32
32
|
F, Bb, Eb, Ab, Db, Gb major
|
33
33
|
d, g, c, f, bb, eb minor
|
34
34
|
|
35
|
-
|
36
35
|
The diatonic scales, and all other scales that derive from the
|
37
36
|
chromatic scale, are built upon intervals. An interval is the space
|
38
37
|
between two pitches.
|
@@ -61,11 +60,9 @@ Here is a table of pitches with the names of their interval distance from the to
|
|
61
60
|
Execute the tests with:
|
62
61
|
|
63
62
|
```bash
|
64
|
-
$ elixir
|
63
|
+
$ elixir scale_generator_test.exs
|
65
64
|
```
|
66
65
|
|
67
|
-
(Replace `bob_test.exs` with the name of the test file.)
|
68
|
-
|
69
66
|
### Pending tests
|
70
67
|
|
71
68
|
In the test suites, all but the first test have been skipped.
|
@@ -92,6 +89,5 @@ Or, you can enable all the tests by commenting out the
|
|
92
89
|
For more detailed information about the Elixir track, please
|
93
90
|
see the [help page](http://exercism.io/languages/elixir).
|
94
91
|
|
95
|
-
|
96
92
|
## Submitting Incomplete Solutions
|
97
93
|
It's possible to submit an incomplete solution so you can see how others have completed the exercise.
|
@@ -6,7 +6,7 @@ Given a word, compute the scrabble score for that word.
|
|
6
6
|
|
7
7
|
You'll need these:
|
8
8
|
|
9
|
-
```
|
9
|
+
```text
|
10
10
|
Letter Value
|
11
11
|
A, E, I, O, U, L, N, R, S, T 1
|
12
12
|
D, G 2
|
@@ -18,6 +18,7 @@ Q, Z 10
|
|
18
18
|
```
|
19
19
|
|
20
20
|
## Examples
|
21
|
+
|
21
22
|
"cabbage" should be scored as worth 14 points:
|
22
23
|
|
23
24
|
- 3 points for C
|
@@ -34,6 +35,7 @@ And to total:
|
|
34
35
|
- = 14
|
35
36
|
|
36
37
|
## Extensions
|
38
|
+
|
37
39
|
- You can play a double or a triple letter.
|
38
40
|
- You can play a double or a triple word.
|
39
41
|
|
@@ -42,11 +44,9 @@ And to total:
|
|
42
44
|
Execute the tests with:
|
43
45
|
|
44
46
|
```bash
|
45
|
-
$ elixir
|
47
|
+
$ elixir scrabble_score_test.exs
|
46
48
|
```
|
47
49
|
|
48
|
-
(Replace `bob_test.exs` with the name of the test file.)
|
49
|
-
|
50
50
|
### Pending tests
|
51
51
|
|
52
52
|
In the test suites, all but the first test have been skipped.
|
File without changes
|
@@ -6,7 +6,7 @@
|
|
6
6
|
You and your fellow cohort of those in the "know" when it comes to
|
7
7
|
binary decide to come up with a secret "handshake".
|
8
8
|
|
9
|
-
```
|
9
|
+
```text
|
10
10
|
1 = wink
|
11
11
|
10 = double blink
|
12
12
|
100 = close your eyes
|
@@ -69,8 +69,8 @@ For example:
|
|
69
69
|
|
70
70
|
```elixir
|
71
71
|
# @tag :pending
|
72
|
-
test "
|
73
|
-
assert
|
72
|
+
test "shouting" do
|
73
|
+
assert Bob.hey("WATCH OUT!") == "Whoa, chill out!"
|
74
74
|
end
|
75
75
|
```
|
76
76
|
|
@@ -86,7 +86,7 @@ see the [help page](http://exercism.io/languages/elixir).
|
|
86
86
|
|
87
87
|
## Source
|
88
88
|
|
89
|
-
Bert, in Mary Poppins [http://www.imdb.com/
|
89
|
+
Bert, in Mary Poppins [http://www.imdb.com/title/tt0058331/quotes/qt0437047](http://www.imdb.com/title/tt0058331/quotes/qt0437047)
|
90
90
|
|
91
91
|
## Submitting Incomplete Solutions
|
92
92
|
It's possible to submit an incomplete solution so you can see how others have completed the exercise.
|