trackler 2.2.1.47 → 2.2.1.48
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/trackler/version.rb +1 -1
- data/problem-specifications/exercises/pangram/canonical-data.json +3 -3
- data/tracks/common-lisp/.travis.yml +2 -9
- data/tracks/common-lisp/docs/TESTS.md +43 -9
- data/tracks/delphi/exercises/nucleotide-count/uNucleotideCountTest.pas +2 -2
- data/tracks/elixir/.travis.yml +4 -7
- data/tracks/elixir/README.md +2 -6
- data/tracks/elixir/bin/dialyzer_check.sh +2 -13
- data/tracks/elixir/exercises/allergies/example.exs +3 -2
- data/tracks/elixir/exercises/atbash-cipher/example.exs +5 -5
- data/tracks/elixir/exercises/bank-account/example.exs +11 -11
- data/tracks/elixir/exercises/bob/example.exs +4 -4
- data/tracks/elixir/exercises/forth/example.exs +66 -48
- data/tracks/elixir/exercises/minesweeper/example.exs +31 -18
- data/tracks/elixir/exercises/pangram/example.exs +4 -4
- data/tracks/elixir/exercises/queen-attack/queen_attack_test.exs +68 -53
- data/tracks/elixir/exercises/say/example.exs +33 -31
- data/tracks/elixir/exercises/scrabble-score/example.exs +12 -11
- data/tracks/elixir/mix.exs +10 -7
- data/tracks/elixir/mix.lock +4 -1
- data/tracks/erlang/README.md +2 -0
- data/tracks/fsharp/exercises/nth-prime/Example.fs +4 -1
- data/tracks/fsharp/exercises/nth-prime/NthPrime.fs +1 -1
- data/tracks/fsharp/exercises/nth-prime/NthPrimeTest.fs +12 -32
- data/tracks/fsharp/exercises/pangram/PangramTest.fs +3 -3
- data/tracks/fsharp/exercises/perfect-numbers/Example.fs +9 -6
- data/tracks/fsharp/exercises/perfect-numbers/PerfectNumbers.fs +1 -1
- data/tracks/fsharp/exercises/perfect-numbers/PerfectNumbersTest.fs +55 -21
- data/tracks/fsharp/generators/Generators.fs +18 -0
- data/tracks/gnu-apl/config.json +21 -0
- data/tracks/gnu-apl/exercises/hamming/README.md +42 -0
- data/tracks/gnu-apl/exercises/hamming/hamming-example.apl +5 -0
- data/tracks/gnu-apl/exercises/hamming/hamming.tc +75 -0
- data/tracks/gnu-apl/exercises/hello-world/README.md +17 -1
- data/tracks/gnu-apl/exercises/leap/README.md +33 -0
- data/tracks/gnu-apl/exercises/raindrops/README.md +24 -0
- data/tracks/gnu-apl/exercises/raindrops/raindrops-example.apl +8 -0
- data/tracks/gnu-apl/exercises/raindrops/raindrops.tc +60 -0
- data/tracks/gnu-apl/exercises/rna-transcription/README.md +25 -0
- data/tracks/gnu-apl/exercises/rna-transcription/rna-transcription-example.apl +7 -0
- data/tracks/gnu-apl/exercises/rna-transcription/rna-transcription.tc +41 -0
- data/tracks/gnu-apl/test.apl +13 -0
- data/tracks/haskell/config.json +9 -0
- data/tracks/haskell/exercises/rotational-cipher/README.md +91 -0
- data/tracks/haskell/exercises/rotational-cipher/examples/success-standard/package.yaml +16 -0
- data/tracks/haskell/exercises/rotational-cipher/examples/success-standard/src/RotationalCipher.hs +9 -0
- data/tracks/haskell/exercises/rotational-cipher/package.yaml +20 -0
- data/tracks/haskell/exercises/rotational-cipher/src/RotationalCipher.hs +4 -0
- data/tracks/haskell/exercises/rotational-cipher/stack.yaml +1 -0
- data/tracks/haskell/exercises/rotational-cipher/test/Tests.hs +77 -0
- data/tracks/java/config.json +23 -14
- data/tracks/java/config/exercise-readme-insert.md +3 -3
- data/tracks/java/config/exercise_readme.go.tmpl +3 -0
- data/tracks/java/exercises/accumulate/README.md +4 -3
- data/tracks/java/exercises/acronym/.meta/{.version → version} +0 -0
- data/tracks/java/exercises/acronym/README.md +4 -3
- data/tracks/java/exercises/all-your-base/.meta/{.version → version} +0 -0
- data/tracks/java/exercises/all-your-base/README.md +4 -3
- data/tracks/java/exercises/allergies/README.md +4 -3
- data/tracks/java/exercises/anagram/README.md +4 -3
- data/tracks/java/exercises/atbash-cipher/README.md +4 -3
- data/tracks/java/exercises/bank-account/README.md +6 -3
- data/tracks/java/exercises/beer-song/README.md +4 -3
- data/tracks/java/exercises/binary-search-tree/.meta/src/reference/java/BinarySearchTree.java +38 -44
- data/tracks/java/exercises/binary-search-tree/README.md +4 -3
- data/tracks/java/exercises/binary-search-tree/src/main/java/BinarySearchTree.java +35 -0
- data/tracks/java/exercises/binary-search-tree/src/test/java/BinarySearchTreeTest.java +46 -40
- data/tracks/java/exercises/binary-search/.meta/hints.md +25 -0
- data/tracks/java/exercises/binary-search/.meta/src/reference/java/BinarySearch.java +3 -7
- data/tracks/java/exercises/binary-search/README.md +33 -3
- data/tracks/java/exercises/binary-search/src/test/java/BinarySearchTest.java +11 -11
- data/tracks/java/exercises/binary/README.md +4 -3
- data/tracks/java/exercises/bob/README.md +4 -3
- data/tracks/java/exercises/book-store/README.md +4 -3
- data/tracks/java/exercises/bowling/README.md +4 -3
- data/tracks/java/exercises/bracket-push/README.md +4 -3
- data/tracks/java/exercises/change/.meta/{.version → version} +0 -0
- data/tracks/java/exercises/change/README.md +4 -3
- data/tracks/java/exercises/circular-buffer/README.md +4 -3
- data/tracks/java/exercises/clock/.meta/{.version → version} +0 -0
- data/tracks/java/exercises/clock/README.md +6 -3
- data/tracks/java/exercises/collatz-conjecture/.meta/{.version → version} +0 -0
- data/tracks/java/exercises/collatz-conjecture/README.md +4 -3
- data/tracks/java/exercises/complex-numbers/README.md +4 -3
- data/tracks/java/exercises/crypto-square/README.md +4 -3
- data/tracks/java/exercises/{rna-transcription/.meta/.version → custom-set/.meta/version} +0 -0
- data/tracks/java/exercises/custom-set/README.md +4 -3
- data/tracks/java/exercises/custom-set/src/test/java/CustomSetTest.java +103 -251
- data/tracks/java/exercises/diamond/.meta/{.version → version} +0 -0
- data/tracks/java/exercises/diamond/README.md +4 -3
- data/tracks/java/exercises/difference-of-squares/.meta/{.version → version} +0 -0
- data/tracks/java/exercises/difference-of-squares/README.md +4 -3
- data/tracks/java/exercises/etl/README.md +4 -3
- data/tracks/java/exercises/flatten-array/.meta/{.version → version} +0 -0
- data/tracks/java/exercises/flatten-array/README.md +4 -3
- data/tracks/java/exercises/food-chain/README.md +4 -3
- data/tracks/java/exercises/forth/.meta/{.version → version} +0 -0
- data/tracks/java/exercises/forth/README.md +3 -3
- data/tracks/java/exercises/gigasecond/README.md +4 -3
- data/tracks/java/exercises/grade-school/README.md +4 -3
- data/tracks/java/exercises/hamming/.meta/{.version → version} +0 -0
- data/tracks/java/exercises/hamming/README.md +6 -3
- data/tracks/java/exercises/hello-world/README.md +6 -3
- data/tracks/java/exercises/hexadecimal/README.md +4 -3
- data/tracks/java/exercises/house/README.md +4 -3
- data/tracks/java/exercises/isogram/README.md +6 -3
- data/tracks/java/exercises/kindergarten-garden/README.md +4 -3
- data/tracks/java/exercises/largest-series-product/README.md +4 -3
- data/tracks/java/exercises/linked-list/README.md +4 -3
- data/tracks/java/exercises/list-ops/.meta/{.version → version} +0 -0
- data/tracks/java/exercises/list-ops/README.md +6 -3
- data/tracks/java/exercises/luhn/README.md +4 -3
- data/tracks/java/exercises/matrix/README.md +4 -3
- data/tracks/java/exercises/meetup/README.md +4 -3
- data/tracks/java/exercises/minesweeper/.meta/{.version → version} +0 -0
- data/tracks/java/exercises/minesweeper/README.md +4 -3
- data/tracks/java/exercises/nth-prime/README.md +4 -3
- data/tracks/java/exercises/nucleotide-count/README.md +4 -3
- data/tracks/java/exercises/ocr-numbers/README.md +4 -3
- data/tracks/java/exercises/octal/README.md +4 -3
- data/tracks/java/exercises/palindrome-products/README.md +4 -3
- data/tracks/java/exercises/pangram/.meta/{.version → version} +0 -0
- data/tracks/java/exercises/pangram/README.md +4 -3
- data/tracks/java/exercises/pascals-triangle/.meta/{.version → version} +0 -0
- data/tracks/java/exercises/pascals-triangle/README.md +4 -3
- data/tracks/java/exercises/perfect-numbers/.meta/{.version → version} +0 -0
- data/tracks/java/exercises/perfect-numbers/README.md +4 -3
- data/tracks/java/exercises/phone-number/README.md +4 -3
- data/tracks/java/exercises/pig-latin/README.md +4 -3
- data/tracks/java/exercises/poker/README.md +4 -3
- data/tracks/java/exercises/prime-factors/README.md +4 -3
- data/tracks/java/exercises/pythagorean-triplet/README.md +4 -3
- data/tracks/java/exercises/queen-attack/README.md +4 -3
- data/tracks/java/exercises/raindrops/README.md +4 -3
- data/tracks/java/exercises/rectangles/README.md +4 -3
- data/tracks/java/exercises/rna-transcription/.meta/version +1 -0
- data/tracks/java/exercises/rna-transcription/README.md +4 -3
- data/tracks/java/exercises/robot-name/README.md +4 -3
- data/tracks/java/exercises/robot-simulator/README.md +4 -3
- data/tracks/java/exercises/roman-numerals/README.md +4 -3
- data/tracks/java/exercises/rotational-cipher/README.md +4 -3
- data/tracks/java/exercises/run-length-encoding/README.md +4 -3
- data/tracks/java/exercises/saddle-points/.meta/{.version → version} +0 -0
- data/tracks/java/exercises/saddle-points/README.md +4 -3
- data/tracks/java/exercises/scrabble-score/.meta/{.version → version} +0 -0
- data/tracks/java/exercises/scrabble-score/README.md +4 -3
- data/tracks/java/exercises/secret-handshake/README.md +4 -3
- data/tracks/java/exercises/series/README.md +4 -3
- data/tracks/java/exercises/sieve/README.md +4 -3
- data/tracks/java/exercises/simple-cipher/README.md +6 -3
- data/tracks/java/exercises/simple-linked-list/README.md +4 -3
- data/tracks/java/exercises/space-age/README.md +4 -3
- data/tracks/java/exercises/spiral-matrix/.meta/{.version → version} +0 -0
- data/tracks/java/exercises/spiral-matrix/README.md +4 -3
- data/tracks/java/exercises/strain/README.md +4 -3
- data/tracks/java/exercises/sublist/README.md +4 -3
- data/tracks/java/exercises/sum-of-multiples/README.md +4 -3
- data/tracks/java/exercises/tournament/README.md +4 -3
- data/tracks/java/exercises/transpose/README.md +4 -3
- data/tracks/java/exercises/triangle/.meta/{.version → version} +0 -0
- data/tracks/java/exercises/triangle/README.md +4 -3
- data/tracks/java/exercises/trinary/README.md +4 -3
- data/tracks/java/exercises/twelve-days/README.md +4 -3
- data/tracks/java/exercises/two-fer/README.md +6 -3
- data/tracks/java/exercises/word-count/README.md +4 -3
- data/tracks/java/exercises/word-search/.meta/{.version → version} +0 -0
- data/tracks/java/exercises/word-search/README.md +4 -3
- data/tracks/java/exercises/wordy/README.md +4 -3
- data/tracks/julia/config.json +13 -0
- data/tracks/julia/exercises/phone-number/README.md +36 -0
- data/tracks/julia/exercises/phone-number/example.jl +18 -0
- data/tracks/julia/exercises/phone-number/phone-number.jl +3 -0
- data/tracks/julia/exercises/phone-number/runtests.jl +49 -0
- data/tracks/lua/config.json +505 -494
- data/tracks/lua/config/maintainers.json +16 -16
- data/tracks/lua/exercises/acronym/README.md +0 -1
- data/tracks/lua/exercises/all-your-base/README.md +1 -1
- data/tracks/lua/exercises/allergies/README.md +0 -1
- data/tracks/lua/exercises/alphametics/README.md +2 -2
- data/tracks/lua/exercises/atbash-cipher/README.md +2 -1
- data/tracks/lua/exercises/beer-song/README.md +1 -1
- data/tracks/lua/exercises/binary/README.md +2 -0
- data/tracks/lua/exercises/bowling/README.md +20 -6
- data/tracks/lua/exercises/change/README.md +1 -1
- data/tracks/lua/exercises/circular-buffer/README.md +13 -6
- data/tracks/lua/exercises/crypto-square/README.md +4 -4
- data/tracks/lua/exercises/diamond/README.md +6 -6
- data/tracks/lua/exercises/etl/README.md +2 -0
- data/tracks/lua/exercises/flatten-array/README.md +1 -2
- data/tracks/lua/exercises/food-chain/README.md +1 -1
- data/tracks/lua/exercises/grade-school/README.md +0 -1
- data/tracks/lua/exercises/grains/README.md +0 -1
- data/tracks/lua/exercises/house/README.md +1 -2
- data/tracks/lua/exercises/isogram/README.md +2 -1
- data/tracks/lua/exercises/kindergarten-garden/README.md +13 -13
- data/tracks/lua/exercises/leap/README.md +1 -1
- data/tracks/lua/exercises/linked-list/README.md +10 -10
- data/tracks/lua/exercises/luhn/README.md +7 -7
- data/tracks/lua/exercises/matrix/README.md +6 -4
- data/tracks/lua/exercises/meetup/README.md +1 -2
- data/tracks/lua/exercises/nucleotide-count/README.md +8 -22
- data/tracks/lua/exercises/ocr-numbers/README.md +5 -5
- data/tracks/lua/exercises/octal/README.md +6 -2
- data/tracks/lua/exercises/pangram/README.md +1 -1
- data/tracks/lua/exercises/pascals-triangle/README.md +1 -1
- data/tracks/lua/exercises/perfect-numbers/README.md +2 -2
- data/tracks/lua/exercises/phone-number/README.md +3 -2
- data/tracks/lua/exercises/pov/README.md +2 -2
- data/tracks/lua/exercises/protein-translation/README.md +4 -5
- data/tracks/lua/exercises/pythagorean-triplet/README.md +3 -3
- data/tracks/lua/exercises/rail-fence-cipher/README.md +12 -7
- data/tracks/lua/exercises/react/README.md +29 -0
- data/tracks/lua/exercises/react/example.lua +108 -0
- data/tracks/lua/exercises/react/react_spec.lua +160 -0
- data/tracks/lua/exercises/rectangles/README.md +7 -7
- data/tracks/lua/exercises/roman-numerals/README.md +1 -1
- data/tracks/lua/exercises/run-length-encoding/README.md +4 -4
- data/tracks/lua/exercises/scrabble-score/README.md +3 -1
- data/tracks/lua/exercises/secret-handshake/README.md +1 -1
- data/tracks/lua/exercises/space-age/README.md +2 -1
- data/tracks/lua/exercises/sum-of-multiples/README.md +0 -3
- data/tracks/lua/exercises/tournament/README.md +5 -5
- data/tracks/lua/exercises/transpose/README.md +7 -7
- data/tracks/lua/exercises/triangle/README.md +9 -6
- data/tracks/lua/exercises/variable-length-quantity/README.md +6 -7
- data/tracks/lua/exercises/word-count/README.md +1 -2
- data/tracks/lua/exercises/word-search/README.md +1 -1
- data/tracks/perl6/exercises/leap/Example.pm6 +1 -1
- data/tracks/perl6/exercises/leap/Leap.pm6 +1 -1
- data/tracks/perl6/exercises/leap/example.yaml +1 -1
- data/tracks/perl6/exercises/leap/leap.t +3 -3
- data/tracks/php/exercises/transpose/example.php +37 -15
- data/tracks/php/exercises/transpose/transpose_test.php +205 -45
- data/tracks/purescript/config.json +11 -0
- data/tracks/purescript/exercises/collatz-conjecture/README.md +33 -0
- data/tracks/purescript/exercises/collatz-conjecture/bower.json +26 -0
- data/tracks/purescript/exercises/collatz-conjecture/examples/src/CollatzConjecture.purs +15 -0
- data/tracks/purescript/exercises/collatz-conjecture/src/CollatzConjecture.purs +3 -0
- data/tracks/purescript/exercises/collatz-conjecture/test/Main.purs +43 -0
- data/tracks/python/config.json +10 -2
- data/tracks/racket/README.md +38 -33
- data/tracks/racket/config.json +10 -0
- data/tracks/racket/exercises/collatz-conjecture/README.md +58 -0
- data/tracks/racket/exercises/collatz-conjecture/collatz-conjecture-test.rkt +34 -0
- data/tracks/racket/exercises/collatz-conjecture/collatz-conjecture.rkt +6 -0
- data/tracks/racket/exercises/collatz-conjecture/example.rkt +20 -0
- data/tracks/ruby/exercises/allergies/.meta/.version +1 -0
- data/tracks/ruby/exercises/allergies/.meta/generator/allergies_case.rb +33 -0
- data/tracks/ruby/exercises/allergies/.meta/solutions/allergies.rb +4 -0
- data/tracks/ruby/exercises/allergies/allergies_test.rb +42 -9
- data/tracks/typescript/config.json +46 -0
- data/tracks/typescript/exercises/circular-buffer/README.md +74 -0
- data/tracks/typescript/exercises/circular-buffer/circular-buffer.example.ts +51 -0
- data/tracks/typescript/exercises/circular-buffer/circular-buffer.test.ts +103 -0
- data/tracks/typescript/exercises/circular-buffer/circular-buffer.ts +0 -0
- data/tracks/typescript/exercises/circular-buffer/package.json +36 -0
- data/tracks/typescript/exercises/circular-buffer/tsconfig.json +22 -0
- data/tracks/typescript/exercises/circular-buffer/tslint.json +127 -0
- data/tracks/typescript/exercises/circular-buffer/yarn.lock +2305 -0
- data/tracks/typescript/exercises/largest-series-product/README.md +51 -0
- data/tracks/typescript/exercises/largest-series-product/largest-series-product.example.ts +52 -0
- data/tracks/typescript/exercises/largest-series-product/largest-series-product.test.ts +68 -0
- data/tracks/typescript/exercises/largest-series-product/largest-series-product.ts +0 -0
- data/tracks/typescript/exercises/largest-series-product/package.json +36 -0
- data/tracks/typescript/exercises/largest-series-product/tsconfig.json +22 -0
- data/tracks/typescript/exercises/largest-series-product/tslint.json +127 -0
- data/tracks/typescript/exercises/largest-series-product/yarn.lock +2305 -0
- data/tracks/typescript/exercises/robot-simulator/README.md +58 -0
- data/tracks/typescript/exercises/robot-simulator/package.json +36 -0
- data/tracks/typescript/exercises/robot-simulator/robot-simulator.example.ts +74 -0
- data/tracks/typescript/exercises/robot-simulator/robot-simulator.test.ts +150 -0
- data/tracks/typescript/exercises/robot-simulator/robot-simulator.ts +0 -0
- data/tracks/typescript/exercises/robot-simulator/tsconfig.json +22 -0
- data/tracks/typescript/exercises/robot-simulator/tslint.json +127 -0
- data/tracks/typescript/exercises/robot-simulator/yarn.lock +2305 -0
- metadata +85 -23
|
@@ -1,35 +1,35 @@
|
|
|
1
1
|
{
|
|
2
|
+
"docs_url": "https://github.com/exercism/docs/blob/master/maintaining-a-track/maintainer-configuration.md",
|
|
2
3
|
"maintainers": [
|
|
3
4
|
{
|
|
4
|
-
"github_username": "aarti",
|
|
5
|
-
"show_on_website": false,
|
|
6
5
|
"alumnus": false,
|
|
7
|
-
"
|
|
6
|
+
"avatar_url": null,
|
|
8
7
|
"bio": null,
|
|
8
|
+
"github_username": "aarti",
|
|
9
9
|
"link_text": null,
|
|
10
10
|
"link_url": null,
|
|
11
|
-
"
|
|
11
|
+
"name": null,
|
|
12
|
+
"show_on_website": false
|
|
12
13
|
},
|
|
13
14
|
{
|
|
14
|
-
"github_username": "ryanplusplus",
|
|
15
|
-
"show_on_website": true,
|
|
16
15
|
"alumnus": false,
|
|
17
|
-
"
|
|
16
|
+
"avatar_url": null,
|
|
18
17
|
"bio": null,
|
|
18
|
+
"github_username": "ryanplusplus",
|
|
19
19
|
"link_text": null,
|
|
20
20
|
"link_url": null,
|
|
21
|
-
"
|
|
21
|
+
"name": null,
|
|
22
|
+
"show_on_website": true
|
|
22
23
|
},
|
|
23
24
|
{
|
|
25
|
+
"alumnus": true,
|
|
26
|
+
"avatar_url": null,
|
|
27
|
+
"bio": null,
|
|
24
28
|
"github_username": "robphoenix",
|
|
25
|
-
"show_on_website": true,
|
|
26
|
-
"alumnus": false,
|
|
27
|
-
"name": "Rob Phoenix",
|
|
28
|
-
"bio": "Honestly, I'm a Lua noob. Helping to maintain this track is a great learning experience for me.",
|
|
29
29
|
"link_text": "robphoenix.com",
|
|
30
30
|
"link_url": "https://blog.robphoenix.com/",
|
|
31
|
-
"
|
|
31
|
+
"name": "Rob Phoenix",
|
|
32
|
+
"show_on_website": true
|
|
32
33
|
}
|
|
33
|
-
]
|
|
34
|
-
|
|
35
|
-
}
|
|
34
|
+
]
|
|
35
|
+
}
|
|
@@ -7,7 +7,6 @@ Techies love their TLA (Three Letter Acronyms)!
|
|
|
7
7
|
Help generate some jargon by writing a program that converts a long name
|
|
8
8
|
like Portable Network Graphics to its acronym (PNG).
|
|
9
9
|
|
|
10
|
-
|
|
11
10
|
## Running the tests
|
|
12
11
|
|
|
13
12
|
To run the tests, run the command `busted .` from within the exercise directory.
|
|
@@ -6,6 +6,7 @@ Implement general base conversion. Given a number in base **a**,
|
|
|
6
6
|
represented as a sequence of digits, convert it to base **b**.
|
|
7
7
|
|
|
8
8
|
## Note
|
|
9
|
+
|
|
9
10
|
- Try to implement the conversion yourself.
|
|
10
11
|
Do not use something else to perform the conversion for you.
|
|
11
12
|
|
|
@@ -28,7 +29,6 @@ The number 1120, *in base 3*, means:
|
|
|
28
29
|
|
|
29
30
|
I think you got the idea!
|
|
30
31
|
|
|
31
|
-
|
|
32
32
|
*Yes. Those three numbers above are exactly the same. Congratulations!*
|
|
33
33
|
|
|
34
34
|
## Running the tests
|
|
@@ -29,7 +29,6 @@ allergens that score 256, 512, 1024, etc.). Your program should
|
|
|
29
29
|
ignore those components of the score. For example, if the allergy
|
|
30
30
|
score is 257, your program should only report the eggs (1) allergy.
|
|
31
31
|
|
|
32
|
-
|
|
33
32
|
## Running the tests
|
|
34
33
|
|
|
35
34
|
To run the tests, run the command `busted .` from within the exercise directory.
|
|
@@ -7,7 +7,7 @@ letters in words are replaced with numbers.
|
|
|
7
7
|
|
|
8
8
|
For example `SEND + MORE = MONEY`:
|
|
9
9
|
|
|
10
|
-
```
|
|
10
|
+
```text
|
|
11
11
|
S E N D
|
|
12
12
|
M O R E +
|
|
13
13
|
-----------
|
|
@@ -16,7 +16,7 @@ M O N E Y
|
|
|
16
16
|
|
|
17
17
|
Replacing these with valid numbers gives:
|
|
18
18
|
|
|
19
|
-
```
|
|
19
|
+
```text
|
|
20
20
|
9 5 6 7
|
|
21
21
|
1 0 8 5 +
|
|
22
22
|
-----------
|
|
@@ -9,7 +9,7 @@ letter, the second with the second-last, and so on.
|
|
|
9
9
|
|
|
10
10
|
An Atbash cipher for the Latin alphabet would be as follows:
|
|
11
11
|
|
|
12
|
-
```
|
|
12
|
+
```text
|
|
13
13
|
Plain: abcdefghijklmnopqrstuvwxyz
|
|
14
14
|
Cipher: zyxwvutsrqponmlkjihgfedcba
|
|
15
15
|
```
|
|
@@ -23,6 +23,7 @@ being 5 letters, and punctuation is excluded. This is to make it harder to guess
|
|
|
23
23
|
things based on word boundaries.
|
|
24
24
|
|
|
25
25
|
## Examples
|
|
26
|
+
|
|
26
27
|
- Encoding `test` gives `gvhg`
|
|
27
28
|
- Decoding `gvhg` gives `test`
|
|
28
29
|
- Decoding `gsvjf rxpyi ldmul cqfnk hlevi gsvoz abwlt` gives `thequickbrownfoxjumpsoverthelazydog`
|
|
@@ -4,7 +4,7 @@ Produce the lyrics to that beloved classic, that field-trip favorite: 99 Bottles
|
|
|
4
4
|
|
|
5
5
|
Note that not all verses are identical.
|
|
6
6
|
|
|
7
|
-
```
|
|
7
|
+
```text
|
|
8
8
|
99 bottles of beer on the wall, 99 bottles of beer.
|
|
9
9
|
Take one down and pass it around, 98 bottles of beer on the wall.
|
|
10
10
|
|
|
@@ -7,10 +7,12 @@ string, your program should produce a decimal output. The
|
|
|
7
7
|
program should handle invalid inputs.
|
|
8
8
|
|
|
9
9
|
## Note
|
|
10
|
+
|
|
10
11
|
- Implement the conversion yourself.
|
|
11
12
|
Do not use something else to perform the conversion for you.
|
|
12
13
|
|
|
13
14
|
## About Binary (Base-2)
|
|
15
|
+
|
|
14
16
|
Decimal is a base-10 system.
|
|
15
17
|
|
|
16
18
|
A number 23 in base 10 notation can be understood
|
|
@@ -2,19 +2,29 @@
|
|
|
2
2
|
|
|
3
3
|
Score a bowling game.
|
|
4
4
|
|
|
5
|
-
Bowling is game where players roll a heavy ball to knock down pins
|
|
5
|
+
Bowling is a game where players roll a heavy ball to knock down pins
|
|
6
6
|
arranged in a triangle. Write code to keep track of the score
|
|
7
7
|
of a game of bowling.
|
|
8
8
|
|
|
9
9
|
## Scoring Bowling
|
|
10
10
|
|
|
11
|
-
The game consists of 10 frames. A frame is composed of one or two ball
|
|
11
|
+
The game consists of 10 frames. A frame is composed of one or two ball
|
|
12
|
+
throws with 10 pins standing at frame initialization. There are three
|
|
13
|
+
cases for the tabulation of a frame.
|
|
12
14
|
|
|
13
|
-
* An open frame is where a score of less than 10 is recorded for the
|
|
15
|
+
* An open frame is where a score of less than 10 is recorded for the
|
|
16
|
+
frame. In this case the score for the frame is the number of pins
|
|
17
|
+
knocked down.
|
|
14
18
|
|
|
15
|
-
* A spare is where all ten pins are knocked down
|
|
19
|
+
* A spare is where all ten pins are knocked down by the second
|
|
20
|
+
throw. The total value of a spare is 10 plus the number of pins
|
|
21
|
+
knocked down in their next throw.
|
|
16
22
|
|
|
17
|
-
* A strike is where all ten pins are knocked down
|
|
23
|
+
* A strike is where all ten pins are knocked down by the first
|
|
24
|
+
throw. The total value of a strike is 10 plus the number of pins
|
|
25
|
+
knocked down in the next two throws. If a strike is immediately
|
|
26
|
+
followed by a second strike, then the value of the first strike
|
|
27
|
+
cannot be determined until the ball is thrown one more time.
|
|
18
28
|
|
|
19
29
|
Here is a three frame example:
|
|
20
30
|
|
|
@@ -30,7 +40,11 @@ Frame 3 is (9 + 0) = 9
|
|
|
30
40
|
|
|
31
41
|
This means the current running total is 48.
|
|
32
42
|
|
|
33
|
-
The tenth frame in the game is a special case. If someone throws a
|
|
43
|
+
The tenth frame in the game is a special case. If someone throws a
|
|
44
|
+
strike or a spare then they get a fill ball. Fill balls exist to
|
|
45
|
+
calculate the total of the 10th frame. Scoring a strike or spare on
|
|
46
|
+
the fill ball does not give the player more fill balls. The total
|
|
47
|
+
value of the 10th frame is the total number of pins knocked down.
|
|
34
48
|
|
|
35
49
|
For a tenth frame of X1/ (strike and a spare), the total value is 20.
|
|
36
50
|
|
|
@@ -27,7 +27,7 @@ you're having trouble, please visit the exercism.io [Lua language page](http://e
|
|
|
27
27
|
|
|
28
28
|
## Source
|
|
29
29
|
|
|
30
|
-
Software Craftsmanship - Kata
|
|
30
|
+
Software Craftsmanship - Coin Change Kata [https://web.archive.org/web/20130115115225/http://craftsmanship.sv.cmu.edu:80/exercises/coin-change-kata](https://web.archive.org/web/20130115115225/http://craftsmanship.sv.cmu.edu:80/exercises/coin-change-kata)
|
|
31
31
|
|
|
32
32
|
## Submitting Incomplete Solutions
|
|
33
33
|
It's possible to submit an incomplete solution so you can see how others have completed the exercise.
|
|
@@ -31,18 +31,25 @@ If the buffer has 7 elements then it is completely full:
|
|
|
31
31
|
When the buffer is full an error will be raised, alerting the client
|
|
32
32
|
that further writes are blocked until a slot becomes free.
|
|
33
33
|
|
|
34
|
-
|
|
35
|
-
this case, two more elements — A & B —
|
|
36
|
-
3 & 4:
|
|
34
|
+
When the buffer is full, the client can opt to overwrite the oldest
|
|
35
|
+
data with a forced write. In this case, two more elements — A & B —
|
|
36
|
+
are added and they overwrite the 3 & 4:
|
|
37
37
|
|
|
38
38
|
[6][7][8][9][A][B][5]
|
|
39
39
|
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
buffer
|
|
40
|
+
3 & 4 have been replaced by A & B making 5 now the oldest data in the
|
|
41
|
+
buffer. Finally, if two elements are removed then what would be
|
|
42
|
+
returned is 5 & 6 yielding the buffer:
|
|
43
43
|
|
|
44
44
|
[ ][7][8][9][A][B][ ]
|
|
45
45
|
|
|
46
|
+
Because there is space available, if the client again uses overwrite
|
|
47
|
+
to store C & D then the space where 5 & 6 were stored previously will
|
|
48
|
+
be used not the location of 7 & 8. 7 is still the oldest element and
|
|
49
|
+
the buffer is once again full.
|
|
50
|
+
|
|
51
|
+
[D][7][8][9][A][B][C]
|
|
52
|
+
|
|
46
53
|
## Running the tests
|
|
47
54
|
|
|
48
55
|
To run the tests, run the command `busted .` from within the exercise directory.
|
|
@@ -26,7 +26,7 @@ and `r` is the number of rows.
|
|
|
26
26
|
Our normalized text is 54 characters long, dictating a rectangle with
|
|
27
27
|
`c = 8` and `r = 7`:
|
|
28
28
|
|
|
29
|
-
```
|
|
29
|
+
```text
|
|
30
30
|
ifmanwas
|
|
31
31
|
meanttos
|
|
32
32
|
tayonthe
|
|
@@ -41,7 +41,7 @@ right.
|
|
|
41
41
|
|
|
42
42
|
The message above is coded as:
|
|
43
43
|
|
|
44
|
-
```
|
|
44
|
+
```text
|
|
45
45
|
imtgdvsfearwermayoogoanouuiontnnlvtwttddesaohghnsseoau
|
|
46
46
|
```
|
|
47
47
|
|
|
@@ -49,14 +49,14 @@ Output the encoded text in chunks. Phrases that fill perfect squares
|
|
|
49
49
|
`(r X r)` should be output in `r`-length chunks separated by spaces.
|
|
50
50
|
Imperfect squares will have `n` empty spaces. Those spaces should be distributed evenly across the last `n` rows.
|
|
51
51
|
|
|
52
|
-
```
|
|
52
|
+
```text
|
|
53
53
|
imtgdvs fearwer mayoogo anouuio ntnnlvt wttddes aohghn sseoau
|
|
54
54
|
```
|
|
55
55
|
|
|
56
56
|
Notice that were we to stack these, we could visually decode the
|
|
57
57
|
cyphertext back in to the original message:
|
|
58
58
|
|
|
59
|
-
```
|
|
59
|
+
```text
|
|
60
60
|
imtgdvs
|
|
61
61
|
fearwer
|
|
62
62
|
mayoogo
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# Diamond
|
|
2
2
|
|
|
3
|
-
The diamond kata takes as its input a letter, and outputs it in a diamond
|
|
4
|
-
shape. Given a letter, it prints a diamond starting with 'A', with the
|
|
3
|
+
The diamond kata takes as its input a letter, and outputs it in a diamond
|
|
4
|
+
shape. Given a letter, it prints a diamond starting with 'A', with the
|
|
5
5
|
supplied letter at the widest point.
|
|
6
6
|
|
|
7
7
|
## Requirements
|
|
@@ -15,7 +15,7 @@ supplied letter at the widest point.
|
|
|
15
15
|
* The diamond has a square shape (width equals height).
|
|
16
16
|
* The letters form a diamond shape.
|
|
17
17
|
* The top half has the letters in ascending order.
|
|
18
|
-
* The bottom half has the letters in descending order.
|
|
18
|
+
* The bottom half has the letters in descending order.
|
|
19
19
|
* The four corners (containing the spaces) are triangles.
|
|
20
20
|
|
|
21
21
|
## Examples
|
|
@@ -24,13 +24,13 @@ In the following examples, spaces are indicated by `·` characters.
|
|
|
24
24
|
|
|
25
25
|
Diamond for letter 'A':
|
|
26
26
|
|
|
27
|
-
```
|
|
27
|
+
```text
|
|
28
28
|
A
|
|
29
29
|
```
|
|
30
30
|
|
|
31
31
|
Diamond for letter 'C':
|
|
32
32
|
|
|
33
|
-
```
|
|
33
|
+
```text
|
|
34
34
|
··A··
|
|
35
35
|
·B·B·
|
|
36
36
|
C···C
|
|
@@ -40,7 +40,7 @@ C···C
|
|
|
40
40
|
|
|
41
41
|
Diamond for letter 'E':
|
|
42
42
|
|
|
43
|
-
```
|
|
43
|
+
```text
|
|
44
44
|
····A····
|
|
45
45
|
···B·B···
|
|
46
46
|
··C···C··
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
We are going to do the `Transform` step of an Extract-Transform-Load.
|
|
4
4
|
|
|
5
5
|
### ETL
|
|
6
|
+
|
|
6
7
|
Extract-Transform-Load (ETL) is a fancy way of saying, "We have some crufty, legacy data over in this system, and now we need it in this shiny new system over here, so
|
|
7
8
|
we're going to migrate this."
|
|
8
9
|
|
|
@@ -11,6 +12,7 @@ once." That's then typically followed by much forehead slapping and
|
|
|
11
12
|
moaning about how stupid we could possibly be.)
|
|
12
13
|
|
|
13
14
|
### The goal
|
|
15
|
+
|
|
14
16
|
We're going to extract some scrabble scores from a legacy system.
|
|
15
17
|
|
|
16
18
|
The old system stored a list of letters per score:
|
|
@@ -3,14 +3,13 @@
|
|
|
3
3
|
Take a nested list and return a single flattened list with all values except nil/null.
|
|
4
4
|
|
|
5
5
|
The challenge is to write a function that accepts an arbitrarily-deep nested list-like structure and returns a flattened structure without any nil/null values.
|
|
6
|
-
|
|
6
|
+
|
|
7
7
|
For Example
|
|
8
8
|
|
|
9
9
|
input: [1,[2,3,null,4],[null],5]
|
|
10
10
|
|
|
11
11
|
output: [1,2,3,4,5]
|
|
12
12
|
|
|
13
|
-
|
|
14
13
|
## Running the tests
|
|
15
14
|
|
|
16
15
|
To run the tests, run the command `busted .` from within the exercise directory.
|
|
@@ -11,10 +11,9 @@ Output the nursery rhyme 'This is the House that Jack Built'.
|
|
|
11
11
|
|
|
12
12
|
- [papyr.com](http://papyr.com/hypertextbooks/grammar/ph_noun.htm)
|
|
13
13
|
|
|
14
|
-
|
|
15
14
|
The nursery rhyme reads as follows:
|
|
16
15
|
|
|
17
|
-
```
|
|
16
|
+
```text
|
|
18
17
|
This is the house that Jack built.
|
|
19
18
|
|
|
20
19
|
This is the malt
|
|
@@ -2,13 +2,14 @@
|
|
|
2
2
|
|
|
3
3
|
Determine if a word or phrase is an isogram.
|
|
4
4
|
|
|
5
|
-
An isogram (also known as a "nonpattern word") is a word or phrase without a repeating letter.
|
|
5
|
+
An isogram (also known as a "nonpattern word") is a word or phrase without a repeating letter, however spaces and hyphens are allowed to appear multiple times.
|
|
6
6
|
|
|
7
7
|
Examples of isograms:
|
|
8
8
|
|
|
9
9
|
- lumberjacks
|
|
10
10
|
- background
|
|
11
11
|
- downstream
|
|
12
|
+
- six-year-old
|
|
12
13
|
|
|
13
14
|
The word *isograms*, however, is not an isogram, because the s repeats.
|
|
14
15
|
|
|
@@ -3,19 +3,19 @@
|
|
|
3
3
|
Given a diagram, determine which plants each child in the kindergarten class is
|
|
4
4
|
responsible for.
|
|
5
5
|
|
|
6
|
-
The kindergarten class is learning about growing plants. The
|
|
6
|
+
The kindergarten class is learning about growing plants. The teacher
|
|
7
7
|
thought it would be a good idea to give them actual seeds, plant them in
|
|
8
8
|
actual dirt, and grow actual plants.
|
|
9
9
|
|
|
10
10
|
They've chosen to grow grass, clover, radishes, and violets.
|
|
11
11
|
|
|
12
|
-
To this end,
|
|
13
|
-
|
|
14
|
-
|
|
12
|
+
To this end, the children have put little cups along the window sills, and
|
|
13
|
+
planted one type of plant in each cup, choosing randomly from the available
|
|
14
|
+
types of seeds.
|
|
15
15
|
|
|
16
|
-
```
|
|
16
|
+
```text
|
|
17
17
|
[window][window][window]
|
|
18
|
-
........................ # each dot represents a
|
|
18
|
+
........................ # each dot represents a cup
|
|
19
19
|
........................
|
|
20
20
|
```
|
|
21
21
|
|
|
@@ -25,27 +25,27 @@ There are 12 children in the class:
|
|
|
25
25
|
- Eve, Fred, Ginny, Harriet,
|
|
26
26
|
- Ileana, Joseph, Kincaid, and Larry.
|
|
27
27
|
|
|
28
|
-
Each child gets 4 cups, two on each row.
|
|
29
|
-
|
|
28
|
+
Each child gets 4 cups, two on each row. Their teacher assigns cups to
|
|
29
|
+
the children alphabetically by their names.
|
|
30
30
|
|
|
31
31
|
The following diagram represents Alice's plants:
|
|
32
32
|
|
|
33
|
-
```
|
|
33
|
+
```text
|
|
34
34
|
[window][window][window]
|
|
35
35
|
VR......................
|
|
36
36
|
RG......................
|
|
37
37
|
```
|
|
38
38
|
|
|
39
|
-
|
|
40
|
-
row
|
|
39
|
+
In the first row, nearest the windows, she has a violet and a radish. In the
|
|
40
|
+
second row she has a radish and some grass.
|
|
41
41
|
|
|
42
42
|
Your program will be given the plants from left-to-right starting with
|
|
43
43
|
the row nearest the windows. From this, it should be able to determine
|
|
44
|
-
which plants belong to
|
|
44
|
+
which plants belong to each student.
|
|
45
45
|
|
|
46
46
|
For example, if it's told that the garden looks like so:
|
|
47
47
|
|
|
48
|
-
```
|
|
48
|
+
```text
|
|
49
49
|
[window][window][window]
|
|
50
50
|
VRCGVVRVCGGCCGVRGCVCGCGV
|
|
51
51
|
VRCCCGCRRGVCGCRVVCVGCGCV
|