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
@@ -25,11 +25,9 @@ in the input; the digits need not be *numerically consecutive*.
|
|
25
25
|
Execute the tests with:
|
26
26
|
|
27
27
|
```bash
|
28
|
-
$ elixir
|
28
|
+
$ elixir series_test.exs
|
29
29
|
```
|
30
30
|
|
31
|
-
(Replace `bob_test.exs` with the name of the test file.)
|
32
|
-
|
33
31
|
### Pending tests
|
34
32
|
|
35
33
|
In the test suites, all but the first test have been skipped.
|
@@ -32,11 +32,9 @@ correct list of primes.
|
|
32
32
|
Execute the tests with:
|
33
33
|
|
34
34
|
```bash
|
35
|
-
$ elixir
|
35
|
+
$ elixir sieve_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.
|
@@ -47,7 +47,7 @@ Given the key "aaaaaaaaaaaaaaaaaa", encoding the string "iamapandabear"
|
|
47
47
|
would return the original "iamapandabear".
|
48
48
|
|
49
49
|
Given the key "ddddddddddddddddd", encoding our string "iamapandabear"
|
50
|
-
would return the obscured "
|
50
|
+
would return the obscured "ldpdsdqgdehdu"
|
51
51
|
|
52
52
|
In the example above, we've set a = 0 for the key value. So when the
|
53
53
|
plaintext is added to the key, we end up with the same message coming
|
@@ -58,15 +58,13 @@ would get the same thing as the Caesar Cipher.
|
|
58
58
|
|
59
59
|
The weakest link in any cipher is the human being. Let's make your
|
60
60
|
substitution cipher a little more fault tolerant by providing a source
|
61
|
-
of randomness and ensuring that the key
|
62
|
-
capital letters.
|
61
|
+
of randomness and ensuring that the key contains only lowercase letters.
|
63
62
|
|
64
63
|
If someone doesn't submit a key at all, generate a truly random key of
|
65
|
-
at least 100 characters in length
|
66
|
-
syntax means instance variable)
|
64
|
+
at least 100 characters in length.
|
67
65
|
|
68
|
-
If the key submitted
|
69
|
-
|
66
|
+
If the key submitted is not composed only of lowercase letters, your
|
67
|
+
solution should handle the error in a language-appropriate way.
|
70
68
|
|
71
69
|
## Extensions
|
72
70
|
|
@@ -88,11 +86,9 @@ on Wikipedia][dh] for one of the first implementations of this scheme.
|
|
88
86
|
Execute the tests with:
|
89
87
|
|
90
88
|
```bash
|
91
|
-
$ elixir
|
89
|
+
$ elixir simple_cipher_test.exs
|
92
90
|
```
|
93
91
|
|
94
|
-
(Replace `bob_test.exs` with the name of the test file.)
|
95
|
-
|
96
92
|
### Pending tests
|
97
93
|
|
98
94
|
In the test suites, all but the first test have been skipped.
|
@@ -26,11 +26,9 @@ implement your own abstract data type.
|
|
26
26
|
Execute the tests with:
|
27
27
|
|
28
28
|
```bash
|
29
|
-
$ elixir
|
29
|
+
$ elixir simple_linked_list_test.exs
|
30
30
|
```
|
31
31
|
|
32
|
-
(Replace `bob_test.exs` with the name of the test file.)
|
33
|
-
|
34
32
|
### Pending tests
|
35
33
|
|
36
34
|
In the test suites, all but the first test have been skipped.
|
@@ -12,7 +12,7 @@ Given an age in seconds, calculate how old someone would be on:
|
|
12
12
|
- Neptune: orbital period 164.79132 Earth years
|
13
13
|
|
14
14
|
So if you were told someone were 1,000,000,000 seconds old, you should
|
15
|
-
be able to say that they're 31 Earth-years old.
|
15
|
+
be able to say that they're 31.69 Earth-years old.
|
16
16
|
|
17
17
|
If you're wondering why Pluto didn't make the cut, go watch [this
|
18
18
|
youtube video](http://www.youtube.com/watch?v=Z_2gbGXzFbs).
|
@@ -22,11 +22,9 @@ youtube video](http://www.youtube.com/watch?v=Z_2gbGXzFbs).
|
|
22
22
|
Execute the tests with:
|
23
23
|
|
24
24
|
```bash
|
25
|
-
$ elixir
|
25
|
+
$ elixir space_age_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.
|
@@ -18,10 +18,10 @@ like these examples:
|
|
18
18
|
|
19
19
|
```text
|
20
20
|
1 2 3 4
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
21
|
+
12 13 14 5
|
22
|
+
11 16 15 6
|
23
|
+
10 9 8 7
|
24
|
+
```
|
25
25
|
|
26
26
|
## Running tests
|
27
27
|
|
@@ -59,7 +59,7 @@ see the [help page](http://exercism.io/languages/elixir).
|
|
59
59
|
|
60
60
|
## Source
|
61
61
|
|
62
|
-
Reddit r/dailyprogrammer challenge #320 [Easy] Spiral Ascension. [
|
62
|
+
Reddit r/dailyprogrammer challenge #320 [Easy] Spiral Ascension. [https://www.reddit.com/r/dailyprogrammer/comments/6i60lr/20170619_challenge_320_easy_spiral_ascension/](https://www.reddit.com/r/dailyprogrammer/comments/6i60lr/20170619_challenge_320_easy_spiral_ascension/)
|
63
63
|
|
64
64
|
## Submitting Incomplete Solutions
|
65
65
|
It's possible to submit an incomplete solution so you can see how others have completed the exercise.
|
File without changes
|
@@ -41,11 +41,9 @@ basic tools instead.
|
|
41
41
|
Execute the tests with:
|
42
42
|
|
43
43
|
```bash
|
44
|
-
$ elixir
|
44
|
+
$ elixir strain_test.exs
|
45
45
|
```
|
46
46
|
|
47
|
-
(Replace `bob_test.exs` with the name of the test file.)
|
48
|
-
|
49
47
|
### Pending tests
|
50
48
|
|
51
49
|
In the test suites, all but the first test have been skipped.
|
@@ -22,11 +22,9 @@ Examples:
|
|
22
22
|
Execute the tests with:
|
23
23
|
|
24
24
|
```bash
|
25
|
-
$ elixir
|
25
|
+
$ elixir sublist_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.
|
@@ -53,6 +51,5 @@ Or, you can enable all the tests by commenting out the
|
|
53
51
|
For more detailed information about the Elixir track, please
|
54
52
|
see the [help page](http://exercism.io/languages/elixir).
|
55
53
|
|
56
|
-
|
57
54
|
## Submitting Incomplete Solutions
|
58
55
|
It's possible to submit an incomplete solution so you can see how others have completed the exercise.
|
@@ -1,26 +1,21 @@
|
|
1
1
|
# Sum Of Multiples
|
2
2
|
|
3
|
-
Given a number, find the sum of all the multiples of particular numbers up to
|
3
|
+
Given a number, find the sum of all the unique multiples of particular numbers up to
|
4
4
|
but not including that number.
|
5
5
|
|
6
|
-
If we list all the natural numbers
|
7
|
-
|
6
|
+
If we list all the natural numbers below 20 that are multiples of 3 or 5,
|
7
|
+
we get 3, 5, 6, 9, 10, 12, 15, and 18.
|
8
8
|
|
9
9
|
The sum of these multiples is 78.
|
10
10
|
|
11
|
-
Given a number, find the sum of the multiples of a given set of numbers,
|
12
|
-
up to but not including that number.
|
13
|
-
|
14
11
|
## Running tests
|
15
12
|
|
16
13
|
Execute the tests with:
|
17
14
|
|
18
15
|
```bash
|
19
|
-
$ elixir
|
16
|
+
$ elixir sum_of_multiples_test.exs
|
20
17
|
```
|
21
18
|
|
22
|
-
(Replace `bob_test.exs` with the name of the test file.)
|
23
|
-
|
24
19
|
### Pending tests
|
25
20
|
|
26
21
|
In the test suites, all but the first test have been skipped.
|
File without changes
|
@@ -5,7 +5,7 @@ Tally the results of a small football competition.
|
|
5
5
|
Based on an input file containing which team played against which and what the
|
6
6
|
outcome was, create a file with a table like this:
|
7
7
|
|
8
|
-
```
|
8
|
+
```text
|
9
9
|
Team | MP | W | D | L | P
|
10
10
|
Devastating Donkeys | 3 | 2 | 1 | 0 | 7
|
11
11
|
Allegoric Alaskans | 3 | 2 | 0 | 1 | 6
|
@@ -31,7 +31,7 @@ Input
|
|
31
31
|
|
32
32
|
Your tallying program will receive input that looks like:
|
33
33
|
|
34
|
-
```
|
34
|
+
```text
|
35
35
|
Allegoric Alaskans;Blithering Badgers;win
|
36
36
|
Devastating Donkeys;Courageous Californians;draw
|
37
37
|
Devastating Donkeys;Allegoric Alaskans;win
|
@@ -42,7 +42,7 @@ Allegoric Alaskans;Courageous Californians;win
|
|
42
42
|
|
43
43
|
The result of the match refers to the first team listed. So this line
|
44
44
|
|
45
|
-
```
|
45
|
+
```text
|
46
46
|
Allegoric Alaskans;Blithering Badgers;win
|
47
47
|
```
|
48
48
|
|
@@ -50,7 +50,7 @@ Means that the Allegoric Alaskans beat the Blithering Badgers.
|
|
50
50
|
|
51
51
|
This line:
|
52
52
|
|
53
|
-
```
|
53
|
+
```text
|
54
54
|
Courageous Californians;Blithering Badgers;loss
|
55
55
|
```
|
56
56
|
|
@@ -58,7 +58,7 @@ Means that the Blithering Badgers beat the Courageous Californians.
|
|
58
58
|
|
59
59
|
And this line:
|
60
60
|
|
61
|
-
```
|
61
|
+
```text
|
62
62
|
Devastating Donkeys;Courageous Californians;draw
|
63
63
|
```
|
64
64
|
|
@@ -74,11 +74,9 @@ team name column can be right-padded with spaces to a width of 30.
|
|
74
74
|
Execute the tests with:
|
75
75
|
|
76
76
|
```bash
|
77
|
-
$ elixir
|
77
|
+
$ elixir tournament_test.exs
|
78
78
|
```
|
79
79
|
|
80
|
-
(Replace `bob_test.exs` with the name of the test file.)
|
81
|
-
|
82
80
|
### Pending tests
|
83
81
|
|
84
82
|
In the test suites, all but the first test have been skipped.
|
@@ -105,6 +103,5 @@ Or, you can enable all the tests by commenting out the
|
|
105
103
|
For more detailed information about the Elixir track, please
|
106
104
|
see the [help page](http://exercism.io/languages/elixir).
|
107
105
|
|
108
|
-
|
109
106
|
## Submitting Incomplete Solutions
|
110
107
|
It's possible to submit an incomplete solution so you can see how others have completed the exercise.
|
@@ -77,13 +77,8 @@ For example:
|
|
77
77
|
|
78
78
|
```elixir
|
79
79
|
# @tag :pending
|
80
|
-
test "
|
81
|
-
|
82
|
-
expected =
|
83
|
-
"A\n" <>
|
84
|
-
"B"
|
85
|
-
|
86
|
-
assert Transpose.transpose(input) == expected
|
80
|
+
test "shouting" do
|
81
|
+
assert Bob.hey("WATCH OUT!") == "Whoa, chill out!"
|
87
82
|
end
|
88
83
|
```
|
89
84
|
|
@@ -97,5 +92,9 @@ Or, you can enable all the tests by commenting out the
|
|
97
92
|
For more detailed information about the Elixir track, please
|
98
93
|
see the [help page](http://exercism.io/languages/elixir).
|
99
94
|
|
95
|
+
## Source
|
96
|
+
|
97
|
+
Reddit r/dailyprogrammer challenge #270 [Easy]. [https://www.reddit.com/r/dailyprogrammer/comments/4msu2x/challenge_270_easy_transpose_the_input_text](https://www.reddit.com/r/dailyprogrammer/comments/4msu2x/challenge_270_easy_transpose_the_input_text)
|
98
|
+
|
100
99
|
## Submitting Incomplete Solutions
|
101
100
|
It's possible to submit an incomplete solution so you can see how others have completed the exercise.
|
@@ -2,33 +2,34 @@
|
|
2
2
|
|
3
3
|
Determine if a triangle is equilateral, isosceles, or scalene.
|
4
4
|
|
5
|
-
An _equilateral_ triangle has all three sides the same length
|
5
|
+
An _equilateral_ triangle has all three sides the same length.
|
6
|
+
|
6
7
|
An _isosceles_ triangle has at least two sides the same length. (It is sometimes
|
7
8
|
specified as having exactly two sides the same length, but for the purposes of
|
8
|
-
this exercise we'll say at least two.)
|
9
|
+
this exercise we'll say at least two.)
|
10
|
+
|
9
11
|
A _scalene_ triangle has all sides of different lengths.
|
10
12
|
|
11
13
|
## Note
|
12
14
|
|
13
|
-
For a shape to be a triangle at all, all sides have to be of length > 0, and
|
14
|
-
the sum of the lengths of any two sides must be greater than or equal to the
|
15
|
+
For a shape to be a triangle at all, all sides have to be of length > 0, and
|
16
|
+
the sum of the lengths of any two sides must be greater than or equal to the
|
15
17
|
length of the third side. See [Triangle Inequality](https://en.wikipedia.org/wiki/Triangle_inequality).
|
16
18
|
|
17
19
|
## Dig Deeper
|
18
20
|
|
19
|
-
The case where the sum of the lengths of two sides _equals_ that of the
|
20
|
-
third is known as a _degenerate_ triangle - it has zero area and looks like
|
21
|
+
The case where the sum of the lengths of two sides _equals_ that of the
|
22
|
+
third is known as a _degenerate_ triangle - it has zero area and looks like
|
21
23
|
a single line. Feel free to add your own code/tests to check for degenerate triangles.
|
24
|
+
|
22
25
|
## Running tests
|
23
26
|
|
24
27
|
Execute the tests with:
|
25
28
|
|
26
29
|
```bash
|
27
|
-
$ elixir
|
30
|
+
$ elixir triangle_test.exs
|
28
31
|
```
|
29
32
|
|
30
|
-
(Replace `bob_test.exs` with the name of the test file.)
|
31
|
-
|
32
33
|
### Pending tests
|
33
34
|
|
34
35
|
In the test suites, all but the first test have been skipped.
|
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
Output the lyrics to 'The Twelve Days of Christmas'.
|
4
4
|
|
5
|
-
```
|
5
|
+
```text
|
6
6
|
On the first day of Christmas my true love gave to me, a Partridge in a Pear Tree.
|
7
7
|
|
8
8
|
On the second day of Christmas my true love gave to me, two Turtle Doves, and a Partridge in a Pear Tree.
|
@@ -33,11 +33,9 @@ On the twelfth day of Christmas my true love gave to me, twelve Drummers Drummin
|
|
33
33
|
Execute the tests with:
|
34
34
|
|
35
35
|
```bash
|
36
|
-
$ elixir
|
36
|
+
$ elixir twelve_days_test.exs
|
37
37
|
```
|
38
38
|
|
39
|
-
(Replace `bob_test.exs` with the name of the test file.)
|
40
|
-
|
41
39
|
### Pending tests
|
42
40
|
|
43
41
|
In the test suites, all but the first test have been skipped.
|
@@ -4,24 +4,21 @@ Given a phrase, count the occurrences of each word in that phrase.
|
|
4
4
|
|
5
5
|
For example for the input `"olly olly in come free"`
|
6
6
|
|
7
|
-
```
|
7
|
+
```text
|
8
8
|
olly: 2
|
9
9
|
in: 1
|
10
10
|
come: 1
|
11
11
|
free: 1
|
12
12
|
```
|
13
13
|
|
14
|
-
|
15
14
|
## Running tests
|
16
15
|
|
17
16
|
Execute the tests with:
|
18
17
|
|
19
18
|
```bash
|
20
|
-
$ elixir
|
19
|
+
$ elixir word_count_test.exs
|
21
20
|
```
|
22
21
|
|
23
|
-
(Replace `bob_test.exs` with the name of the test file.)
|
24
|
-
|
25
22
|
### Pending tests
|
26
23
|
|
27
24
|
In the test suites, all but the first test have been skipped.
|
@@ -2,7 +2,6 @@
|
|
2
2
|
|
3
3
|
Parse and evaluate simple math word problems returning the answer as an integer.
|
4
4
|
|
5
|
-
|
6
5
|
## Iteration 1 — Addition
|
7
6
|
|
8
7
|
Add two numbers together.
|
@@ -13,7 +12,6 @@ Evaluates to 18.
|
|
13
12
|
|
14
13
|
Handle large numbers and negative numbers.
|
15
14
|
|
16
|
-
|
17
15
|
## Iteration 2 — Subtraction, Multiplication and Division
|
18
16
|
|
19
17
|
Now, perform the other three operations.
|
@@ -30,7 +28,6 @@ Now, perform the other three operations.
|
|
30
28
|
|
31
29
|
5
|
32
30
|
|
33
|
-
|
34
31
|
## Iteration 3 — Multiple Operations
|
35
32
|
|
36
33
|
Handle a set of operations, in sequence.
|
@@ -46,7 +43,6 @@ left-to-right, _ignoring the typical order of operations._
|
|
46
43
|
|
47
44
|
15 (i.e. not 9)
|
48
45
|
|
49
|
-
|
50
46
|
## Bonus — Exponentials
|
51
47
|
|
52
48
|
If you'd like, handle exponentials.
|
@@ -55,17 +51,14 @@ If you'd like, handle exponentials.
|
|
55
51
|
|
56
52
|
32
|
57
53
|
|
58
|
-
|
59
54
|
## Running tests
|
60
55
|
|
61
56
|
Execute the tests with:
|
62
57
|
|
63
58
|
```bash
|
64
|
-
$ elixir
|
59
|
+
$ elixir wordy_test.exs
|
65
60
|
```
|
66
61
|
|
67
|
-
(Replace `bob_test.exs` with the name of the test file.)
|
68
|
-
|
69
62
|
### Pending tests
|
70
63
|
|
71
64
|
In the test suites, all but the first test have been skipped.
|
@@ -3,7 +3,7 @@
|
|
3
3
|
Creating a zipper for a binary tree.
|
4
4
|
|
5
5
|
[Zippers](https://en.wikipedia.org/wiki/Zipper_%28data_structure%29) are
|
6
|
-
a
|
6
|
+
a purely functional way of navigating within a data structure and
|
7
7
|
manipulating it. They essentially contain a data structure and a
|
8
8
|
pointer into that data structure (called the focus).
|
9
9
|
|
@@ -32,11 +32,9 @@ list of child nodes) a zipper might support these operations:
|
|
32
32
|
Execute the tests with:
|
33
33
|
|
34
34
|
```bash
|
35
|
-
$ elixir
|
35
|
+
$ elixir zipper_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.
|
@@ -63,6 +61,5 @@ Or, you can enable all the tests by commenting out the
|
|
63
61
|
For more detailed information about the Elixir track, please
|
64
62
|
see the [help page](http://exercism.io/languages/elixir).
|
65
63
|
|
66
|
-
|
67
64
|
## Submitting Incomplete Solutions
|
68
65
|
It's possible to submit an incomplete solution so you can see how others have completed the exercise.
|