trackler 2.1.0.18 → 2.1.0.19
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/common/bin/transfer_blurb_to_description.rb +56 -0
- data/common/exercises/accumulate/description.md +2 -0
- data/common/exercises/acronym/canonical-data.json +1 -7
- data/common/exercises/acronym/description.md +2 -0
- data/common/exercises/all-your-base/description.md +2 -0
- data/common/exercises/allergies/description.md +2 -0
- data/common/exercises/alphametics/description.md +2 -0
- data/common/exercises/anagram/description.md +2 -0
- data/common/exercises/atbash-cipher/description.md +2 -0
- data/common/exercises/bank-account/description.md +2 -0
- data/common/exercises/beer-song/description.md +2 -0
- data/common/exercises/binary/description.md +2 -0
- data/common/exercises/binary-search/description.md +2 -0
- data/common/exercises/binary-search-tree/description.md +2 -0
- data/common/exercises/bob/description.md +2 -0
- data/common/exercises/book-store/description.md +2 -0
- data/common/exercises/bowling/description.md +2 -0
- data/common/exercises/bracket-push/description.md +2 -0
- data/common/exercises/change/description.md +2 -0
- data/common/exercises/circular-buffer/description.md +2 -0
- data/common/exercises/clock/description.md +2 -0
- data/common/exercises/connect/description.md +2 -0
- data/common/exercises/counter/description.md +2 -0
- data/common/exercises/crypto-square/description.md +2 -0
- data/common/exercises/custom-set/description.md +2 -0
- data/common/exercises/diamond/description.md +2 -0
- data/common/exercises/difference-of-squares/description.md +2 -0
- data/common/exercises/diffie-hellman/description.md +2 -0
- data/common/exercises/dominoes/description.md +2 -0
- data/common/exercises/dot-dsl/description.md +2 -0
- data/common/exercises/error-handling/description.md +2 -0
- data/common/exercises/etl/description.md +2 -0
- data/common/exercises/flatten-array/description.md +2 -0
- data/common/exercises/food-chain/description.md +2 -0
- data/common/exercises/forth/description.md +2 -0
- data/common/exercises/gigasecond/description.md +2 -0
- data/common/exercises/go-counting/description.md +2 -0
- data/common/exercises/grade-school/description.md +2 -0
- data/common/exercises/grains/description.md +2 -0
- data/common/exercises/grep/description.md +2 -0
- data/common/exercises/hamming/description.md +2 -0
- data/common/exercises/hangman/description.md +2 -0
- data/common/exercises/hello-world/description.md +2 -0
- data/common/exercises/hexadecimal/description.md +2 -0
- data/common/exercises/house/description.md +2 -0
- data/common/exercises/isogram/description.md +2 -0
- data/common/exercises/kindergarten-garden/description.md +2 -0
- data/common/exercises/largest-series-product/description.md +2 -0
- data/common/exercises/leap/description.md +2 -0
- data/common/exercises/ledger/description.md +2 -0
- data/common/exercises/lens-person/description.md +2 -0
- data/common/exercises/linked-list/description.md +2 -0
- data/common/exercises/list-ops/description.md +2 -0
- data/common/exercises/luhn/description.md +2 -0
- data/common/exercises/markdown/description.md +2 -0
- data/common/exercises/matrix/description.md +2 -0
- data/common/exercises/meetup/description.md +2 -0
- data/common/exercises/minesweeper/description.md +2 -0
- data/common/exercises/nth-prime/description.md +2 -0
- data/common/exercises/nucleotide-codons/description.md +2 -0
- data/common/exercises/nucleotide-count/description.md +2 -0
- data/common/exercises/ocr-numbers/description.md +2 -0
- data/common/exercises/octal/description.md +2 -0
- data/common/exercises/paasio/description.md +2 -0
- data/common/exercises/palindrome-products/description.md +2 -0
- data/common/exercises/parallel-letter-frequency/description.md +2 -0
- data/common/exercises/pascals-triangle/description.md +2 -0
- data/common/exercises/perfect-numbers/description.md +2 -0
- data/common/exercises/phone-number/description.md +2 -0
- data/common/exercises/pig-latin/description.md +2 -0
- data/common/exercises/point-mutations/description.md +2 -0
- data/common/exercises/poker/canonical-data.json +317 -0
- data/common/exercises/poker/description.md +2 -0
- data/common/exercises/pov/description.md +2 -0
- data/common/exercises/prime-factors/description.md +2 -0
- data/common/exercises/protein-translation/description.md +2 -0
- data/common/exercises/proverb/description.md +2 -0
- data/common/exercises/pythagorean-triplet/description.md +2 -0
- data/common/exercises/queen-attack/description.md +2 -0
- data/common/exercises/rail-fence-cipher/description.md +2 -0
- data/common/exercises/raindrops/description.md +2 -0
- data/common/exercises/react/description.md +2 -0
- data/common/exercises/rectangles/description.md +2 -0
- data/common/exercises/rna-transcription/description.md +2 -0
- data/common/exercises/robot-name/description.md +2 -0
- data/common/exercises/robot-simulator/description.md +2 -0
- data/common/exercises/roman-numerals/description.md +2 -0
- data/common/exercises/rotational-cipher/description.md +2 -0
- data/common/exercises/run-length-encoding/description.md +2 -0
- data/common/exercises/saddle-points/description.md +2 -0
- data/common/exercises/say/description.md +2 -0
- data/common/exercises/scale-generator/description.md +2 -0
- data/common/exercises/scrabble-score/description.md +2 -0
- data/common/exercises/secret-handshake/description.md +2 -0
- data/common/exercises/series/description.md +2 -0
- data/common/exercises/sgf-parsing/description.md +2 -0
- data/common/exercises/sieve/description.md +2 -0
- data/common/exercises/simple-cipher/description.md +2 -0
- data/common/exercises/simple-linked-list/description.md +2 -0
- data/common/exercises/space-age/description.md +2 -0
- data/common/exercises/strain/description.md +2 -0
- data/common/exercises/sublist/description.md +2 -0
- data/common/exercises/sum-of-multiples/description.md +2 -0
- data/common/exercises/transpose/description.md +2 -0
- data/common/exercises/tree-building/description.md +2 -0
- data/common/exercises/triangle/description.md +2 -0
- data/common/exercises/trinary/description.md +2 -0
- data/common/exercises/twelve-days/description.md +2 -0
- data/common/exercises/two-bucket/description.md +2 -0
- data/common/exercises/variable-length-quantity/description.md +2 -0
- data/common/exercises/word-count/description.md +2 -0
- data/common/exercises/word-search/description.md +2 -0
- data/common/exercises/wordy/description.md +2 -0
- data/common/exercises/zebra-puzzle/description.md +2 -0
- data/common/exercises/zipper/description.md +2 -0
- data/fixtures/tracks/fake/{hello-world → exercises/hello-world}/example.ext +0 -0
- data/fixtures/tracks/fake/{hello-world → exercises/hello-world}/hello_test.ext +0 -0
- data/fixtures/tracks/fake/{hello-world → exercises/hello-world}/world_test.ext +0 -0
- data/fixtures/tracks/fake/{one → exercises/one}/.dot +0 -0
- data/fixtures/tracks/fake/{one → exercises/one}/Fakefile +0 -0
- data/fixtures/tracks/fake/{one → exercises/one}/HINTS.md +0 -0
- data/fixtures/tracks/fake/{one → exercises/one}/example.ext +0 -0
- data/fixtures/tracks/fake/{one → exercises/one}/one_test.ext +0 -0
- data/fixtures/tracks/fake/{one → exercises/one}/sub/src/ExampleFile.ext +0 -0
- data/fixtures/tracks/fake/{one → exercises/one}/sub/src/stubfile.ext +0 -0
- data/fixtures/tracks/fake/{three → exercises/three}/example.ext +0 -0
- data/fixtures/tracks/fake/{three → exercises/three}/three_test.ext +0 -0
- data/fixtures/tracks/fake/{two → exercises/two}/example.ext +0 -0
- data/fixtures/tracks/fake/{two → exercises/two}/two_test.ext +0 -0
- data/lib/trackler/implementation.rb +29 -35
- data/lib/trackler/implementations.rb +7 -1
- data/lib/trackler/track.rb +4 -3
- data/lib/trackler/version.rb +1 -1
- data/lib/trackler.rb +1 -1
- data/tracks/ecmascript/.github/stale.yml +6 -0
- data/tracks/ecmascript/README.md +17 -9
- data/tracks/go/README.md +7 -4
- data/tracks/go/config.json +5 -2
- data/tracks/go/exercises/atbash-cipher/.meta/gen.go +0 -2
- data/tracks/go/exercises/bob/.meta/gen.go +0 -2
- data/tracks/go/exercises/bowling/.meta/gen.go +0 -2
- data/tracks/go/exercises/bracket-push/.meta/gen.go +0 -2
- data/tracks/go/exercises/change/.meta/gen.go +0 -2
- data/tracks/go/exercises/clock/.meta/gen.go +0 -2
- data/tracks/go/exercises/clock/example_clock_test.go +34 -20
- data/tracks/go/exercises/connect/.meta/gen.go +0 -2
- data/tracks/go/exercises/custom-set/.meta/gen.go +0 -2
- data/tracks/go/exercises/forth/.meta/gen.go +0 -2
- data/tracks/go/exercises/gigasecond/.meta/gen.go +0 -2
- data/tracks/go/exercises/hamming/.meta/gen.go +0 -2
- data/tracks/go/exercises/largest-series-product/.meta/gen.go +0 -2
- data/tracks/go/exercises/leap/.meta/gen.go +0 -2
- data/tracks/go/exercises/luhn/.meta/gen.go +0 -2
- data/tracks/go/exercises/meetup/.meta/gen.go +0 -2
- data/tracks/go/exercises/phone-number/.meta/gen.go +0 -2
- data/tracks/go/exercises/raindrops/.meta/gen.go +0 -2
- data/tracks/go/exercises/rna-transcription/.meta/gen.go +0 -2
- data/tracks/go/exercises/roman-numerals/.meta/gen.go +0 -2
- data/tracks/go/exercises/scrabble-score/.meta/gen.go +0 -2
- data/tracks/go/exercises/transpose/.meta/gen.go +0 -2
- data/tracks/go/exercises/variable-length-quantity/.meta/gen.go +113 -0
- data/tracks/go/exercises/variable-length-quantity/cases_test.go +161 -0
- data/tracks/go/exercises/variable-length-quantity/example.go +54 -11
- data/tracks/go/exercises/variable-length-quantity/variable_length_quantity_test.go +19 -31
- data/tracks/go/exercises/word-count/.meta/gen.go +0 -2
- data/tracks/java/exercises/acronym/src/test/java/AcronymTest.java +3 -16
- data/tracks/java/exercises/diamond/src/test/java/DiamondPrinterTest.java +1 -1
- data/tracks/java/exercises/hello-world/HINT.md +7 -0
- data/tracks/java/exercises/largest-series-product/src/test/java/LargestSeriesProductCalculatorTest.java +1 -1
- data/tracks/java/exercises/linked-list/src/test/java/DoublyLinkedListTest.java +48 -38
- data/tracks/java/exercises/luhn/src/main/java/LuhnValidator.java +7 -0
- data/tracks/java/exercises/minesweeper/src/test/java/MinesweeperBoardTest.java +1 -1
- data/tracks/java/exercises/perfect-numbers/src/test/java/NaturalNumberTest.java +1 -1
- data/tracks/java/exercises/queen-attack/src/test/java/QueenAttackCalculatorTest.java +1 -1
- data/tracks/java/exercises/rectangles/src/test/java/RectangleCounterTest.java +1 -1
- data/tracks/java/exercises/secret-handshake/src/main/java/HandshakeCalculator.java +5 -1
- data/tracks/java/exercises/sum-of-multiples/src/main/java/SumOfMultiples.java +10 -2
- data/tracks/java/exercises/triangle/src/example/java/Triangle.java +5 -5
- data/tracks/java/exercises/triangle/src/example/java/TriangleException.java +1 -3
- data/tracks/java/exercises/triangle/src/main/java/Triangle.java +11 -0
- data/tracks/java/exercises/triangle/src/main/java/TriangleException.java +1 -3
- data/tracks/javascript/.github/stale.yml +6 -0
- data/tracks/javascript/config.json +14 -0
- data/tracks/kotlin/docs/INSTALLATION.md +1 -1
- data/tracks/lisp/docs/INSTALLATION.md +1 -0
- data/tracks/perl6/README.md +9 -4
- data/tracks/perl6/config.json +5 -0
- data/tracks/perl6/exercises/luhn/Example.pm6 +15 -0
- data/tracks/perl6/exercises/luhn/Luhn.pm6 +4 -0
- data/tracks/perl6/exercises/luhn/example.yaml +6 -0
- data/tracks/perl6/exercises/luhn/luhn.t +122 -0
- data/tracks/python/exercises/acronym/acronym_test.py +1 -4
- data/tracks/r/exercises/hamming/test_hamming.R +15 -14
- data/tracks/ruby/lib/generator/command_line/generator_optparser.rb +3 -1
- data/tracks/ruby/lib/generator/exercise_case/assertion.rb +33 -5
- data/tracks/ruby/lib/generator/exercise_case/case_helpers.rb +39 -0
- data/tracks/ruby/lib/generator/exercise_case.rb +3 -37
- data/tracks/ruby/lib/generator/template_values.rb +2 -0
- data/tracks/ruby/test/generator/command_line/generator_optparser_test.rb +11 -2
- data/tracks/ruby/test/generator/exercise_case/case_helpers_test.rb +43 -0
- data/tracks/ruby/test/generator/underscore_test.rb +4 -0
- data/tracks/scala/config.json +10 -0
- data/tracks/scala/exercises/beer-song/build.sbt +3 -0
- data/tracks/scala/exercises/beer-song/example.scala +11 -0
- data/tracks/{java/exercises/luhn/src/main/java → scala/exercises/beer-song/src/main/scala}/.keep +0 -0
- data/tracks/scala/exercises/beer-song/src/test/scala/BeerSongTest.scala +52 -0
- data/tracks/vimscript/.travis.yml +13 -2
- data/tracks/vimscript/TRACK_HINTS.md +67 -0
- data/tracks/vimscript/bin/ci +21 -0
- data/tracks/vimscript/config.json +22 -8
- data/tracks/vimscript/docs/ABOUT.md +44 -0
- data/tracks/vimscript/docs/INSTALLATION.md +55 -0
- data/tracks/vimscript/docs/LEARNING.md +16 -0
- data/tracks/vimscript/docs/RESOURCES.md +24 -0
- data/tracks/vimscript/docs/TESTS.md +67 -0
- data/tracks/vimscript/exercises/bob/bob.vader +63 -0
- data/tracks/vimscript/exercises/bob/bob.vim +8 -0
- data/tracks/vimscript/exercises/bob/example.vim +23 -0
- data/tracks/vimscript/exercises/hamming/example.vim +18 -0
- data/tracks/vimscript/exercises/hamming/hamming.vader +20 -0
- data/tracks/vimscript/exercises/hamming/hamming.vim +13 -0
- data/tracks/vimscript/exercises/hello-world/example.vim +4 -0
- data/tracks/vimscript/exercises/hello-world/hello_world.vader +8 -0
- data/tracks/vimscript/exercises/hello-world/hello_world.vim +20 -0
- data/tracks/vimscript/exercises/leap/example.vim +3 -0
- data/tracks/vimscript/exercises/leap/leap.vader +11 -0
- data/tracks/vimscript/exercises/leap/leap.vim +9 -0
- metadata +47 -18
- data/tracks/vimscript/SETUP.md +0 -0
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 2d6ac1a44061082046f6a5d3b58fd73dfebf3fbd
|
|
4
|
+
data.tar.gz: 96a6b24af274b1524bfc6264aabf63f6fb3d9bb8
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 0e5f615e31da2f867efd6f40d40e526ca1497c909670527e226bf3c21568ac232845a36bd293c7bc3acb537adff990c83c9316bae4890361b3619629ba81046c
|
|
7
|
+
data.tar.gz: 1ccb4b4aa381b721b6acf5337ded3154970e7c00f80011db5c9212ed73c6e37c67e5461a1101a004fd5c82da8d447ea1a3d942148d5b6074058b73616da5a6f1
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
#!/usr/bin/env ruby
|
|
2
|
+
|
|
3
|
+
# This is a temporary file which exists to support the x-common issue #767
|
|
4
|
+
# [Make description.md self contained.](# https://github.com/exercism/x-common/issues/767)
|
|
5
|
+
#
|
|
6
|
+
# The exercise description given in description.md should be complete and self
|
|
7
|
+
# contained, and not require the addition of the blurb to make sense.
|
|
8
|
+
#
|
|
9
|
+
# This script copies the current blurb into description.md for all exercises.
|
|
10
|
+
#
|
|
11
|
+
# It will NOT update the description if it already begins with the blurb.
|
|
12
|
+
# Thus this script will not add multiple blurbs if it is run multiple times.
|
|
13
|
+
|
|
14
|
+
require 'yaml'
|
|
15
|
+
|
|
16
|
+
class Exercise
|
|
17
|
+
attr_reader :path
|
|
18
|
+
def initialize(path)
|
|
19
|
+
@path = path
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
def update_description
|
|
23
|
+
unless description.start_with?(blurb)
|
|
24
|
+
complete_description = format("%s\n\n%s", blurb, description)
|
|
25
|
+
File.write(description_filename, complete_description)
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
private
|
|
30
|
+
|
|
31
|
+
def blurb
|
|
32
|
+
metadata['blurb']
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
def metadata
|
|
36
|
+
metadata_filename = File.join(path, 'metadata.yml')
|
|
37
|
+
YAML.load_file(metadata_filename)
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
def description
|
|
41
|
+
File.read(description_filename)
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
def description_filename
|
|
45
|
+
File.join(path, 'description.md')
|
|
46
|
+
end
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
exercises = Dir.glob('exercises/*').map {|path| Exercise.new(path)}
|
|
51
|
+
|
|
52
|
+
updated = exercises.count do |exercise|
|
|
53
|
+
exercise.update_description
|
|
54
|
+
end
|
|
55
|
+
|
|
56
|
+
puts "#{updated}/#{exercises.count} exercises updated"
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
Implement the `accumulate` operation, which, given a collection and an operation to perform on each element of the collection, returns a new collection containing the result of applying that operation to each element of the input collection.
|
|
2
|
+
|
|
1
3
|
Given the collection of numbers:
|
|
2
4
|
|
|
3
5
|
- 1, 2, 3, 4, 5
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"exercise": "acronym",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.1.0",
|
|
4
4
|
"cases": [
|
|
5
5
|
{
|
|
6
6
|
"description": "Abbreviate a phrase",
|
|
@@ -17,12 +17,6 @@
|
|
|
17
17
|
"phrase": "Ruby on Rails",
|
|
18
18
|
"expected": "ROR"
|
|
19
19
|
},
|
|
20
|
-
{
|
|
21
|
-
"description": "camelcase",
|
|
22
|
-
"property": "abbreviate",
|
|
23
|
-
"phrase": "HyperText Markup Language",
|
|
24
|
-
"expected": "HTML"
|
|
25
|
-
},
|
|
26
20
|
{
|
|
27
21
|
"description": "punctuation",
|
|
28
22
|
"property": "abbreviate",
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
Given a person's allergy score, determine whether or not they're allergic to a given item, and their full list of allergies.
|
|
2
|
+
|
|
1
3
|
An allergy test produces a single numeric score which contains the
|
|
2
4
|
information about all the allergies the person has (that they were
|
|
3
5
|
tested for).
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
Create an implementation of the atbash cipher, an ancient encryption system created in the Middle East.
|
|
2
|
+
|
|
1
3
|
The Atbash cipher is a simple substitution cipher that relies on
|
|
2
4
|
transposing all the letters in the alphabet such that the resulting
|
|
3
5
|
alphabet is backwards. The first letter is replaced with the last
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
Simulate a bank account supporting opening/closing, withdraws, and deposits of money. Watch out for concurrent transactions!
|
|
2
|
+
|
|
1
3
|
A bank account can be accessed in multiple ways. Clients can make
|
|
2
4
|
deposits and withdrawals using the internet, mobile phones, etc. Shops
|
|
3
5
|
can charge against the account.
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
Convert a binary number, represented as a string (e.g. '101010'), to its decimal equivalent using first principles.
|
|
2
|
+
|
|
1
3
|
Implement binary to decimal conversion. Given a binary input
|
|
2
4
|
string, your program should produce a decimal output. The
|
|
3
5
|
program should handle invalid inputs.
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
To try and encourage more sales of different books from a popular 5 book series, a bookshop has decided to offer discounts of multiple-book purchases.
|
|
2
|
+
|
|
1
3
|
To try and encourage more sales of the 5 different books
|
|
2
4
|
they sell of a popular series, a bookshop has decided to
|
|
3
5
|
offer discounts of multi-book purchases.
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
We are going to do the `Transform` step of an Extract-Transform-Load.
|
|
2
|
+
|
|
1
3
|
### ETL
|
|
2
4
|
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
|
|
3
5
|
we're going to migrate this."
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
Calculate the number of grains of wheat on a chessboard given that the number on each square doubles.
|
|
2
|
+
|
|
1
3
|
There once was a wise servant who saved the life of a prince. The king
|
|
2
4
|
promised to pay whatever the servant could dream up. Knowing that the
|
|
3
5
|
king loved chess, the servant told the king he would like to have grains
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
Search a file for lines matching a regular expression pattern. Return the line number and contents of each matching line.
|
|
2
|
+
|
|
1
3
|
The Unix [`grep`](http://pubs.opengroup.org/onlinepubs/9699919799/utilities/grep.html) command can be used to search for lines in one or more files
|
|
2
4
|
that match a user-provided search query (known as the *pattern*).
|
|
3
5
|
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
Calculate the Hamming difference between two DNA strands.
|
|
2
|
+
|
|
1
3
|
A mutation is simply a mistake that occurs during the creation or
|
|
2
4
|
copying of a nucleic acid, in particular DNA. Because nucleic acids are
|
|
3
5
|
vital to cellular functions, mutations tend to cause a ripple effect
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
Convert a hexadecimal number, represented as a string (e.g. "10af8c"), to its decimal equivalent using first principles (i.e. no, you may not use built-in or external libraries to accomplish the conversion).
|
|
2
|
+
|
|
1
3
|
On the web we use hexadecimal to represent colors, e.g. green: 008000,
|
|
2
4
|
teal: 008080, navy: 000080).
|
|
3
5
|
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
Output the nursery rhyme 'This is the House that Jack Built'.
|
|
2
|
+
|
|
1
3
|
> [The] process of placing a phrase of clause within another phrase of
|
|
2
4
|
> clause is called embedding. It is through the processes of recursion
|
|
3
5
|
> and embedding that we are able to take a finite number of forms (words
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
Given a diagram, determine which plants each child in the kindergarten class is responsible for.
|
|
2
|
+
|
|
1
3
|
The kindergarten class is learning about growing plants. The teachers
|
|
2
4
|
thought it would be a good idea to give them actual seeds, plant them in
|
|
3
5
|
actual dirt, and grow actual plants.
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
Given a string of digits, calculate the largest product for a contiguous substring of digits of length n.
|
|
2
|
+
|
|
1
3
|
For example, for the input `'1027839564'`, the largest product for a
|
|
2
4
|
series of 3 digits is 270 (9 * 5 * 6), and the largest product for a
|
|
3
5
|
series of 5 digits is 7560 (7 * 8 * 3 * 9 * 5).
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
Use lenses to update nested records (specific to languages with immutable data).
|
|
2
|
+
|
|
1
3
|
Updating fields of nested records is kind of annoying in Haskell. One solution
|
|
2
4
|
is to use [lenses](https://wiki.haskell.org/Lens). Implement several record
|
|
3
5
|
accessing functions using lenses, you may use any library you want. The test
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
Given a number determine whether or not it is valid per the Luhn formula.
|
|
2
|
+
|
|
1
3
|
The [Luhn algorithm](https://en.wikipedia.org/wiki/Luhn_algorithm) is
|
|
2
4
|
a simple checksum formula used to validate a variety of identification
|
|
3
5
|
numbers, such as credit card numbers and Canadian Social Insurance
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
Write a function that returns the name of an amino acid a particular codon, possibly using shorthand, encodes for.
|
|
2
|
+
|
|
1
3
|
In DNA sequences of 3 nucleotides, called codons, encode for amino acids. Often
|
|
2
4
|
several codons encode for the same amino acid. The International Union of Pure
|
|
3
5
|
and Applied Chemistry developed a shorthand system for designating groups of
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
Convert a octal number, represented as a string (e.g. '1735263'), to its decimal equivalent using first principles (i.e. no, you may not use built-in or external libraries to accomplish the conversion).
|
|
2
|
+
|
|
1
3
|
Implement octal to decimal conversion. Given an octal input
|
|
2
4
|
string, your program should produce a decimal output.
|
|
3
5
|
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
Count the frequency of letters in texts using parallel computation.
|
|
2
|
+
|
|
1
3
|
Parallelism is about doing things in parallel that can also be done
|
|
2
4
|
sequentially. A common example is counting the frequency of letters.
|
|
3
5
|
Create a function that returns the total frequency of each letter in a
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
Determine if a number is perfect, abundant, or deficient based on Nicomachus' (60 - 120 CE) classification scheme for natural numbers.
|
|
2
|
+
|
|
1
3
|
The Greek mathematician [Nicomachus](https://en.wikipedia.org/wiki/Nicomachus) devised a classification scheme for natural numbers, identifying each as belonging uniquely to the categories of **perfect**, **abundant**, or **deficient** based on their [aliquot sum](https://en.wikipedia.org/wiki/Aliquot_sum). The aliquot sum is defined as the sum of the factors of a number not including the number itself. For example, the aliquot sum of 15 is (1 + 3 + 5) = 9
|
|
2
4
|
|
|
3
5
|
- **Perfect**: aliquot sum = number
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
Clean up user-entered phone numbers so that they can be sent SMS messages.
|
|
2
|
+
|
|
1
3
|
The **North American Numbering Plan (NANP)** is a telephone numbering system used by many countries in North America like the United States, Canada or Bermuda. All NANP-countries share the same international country code `1`.
|
|
2
4
|
|
|
3
5
|
NANP numbers are ten-digit numbers consisting of a three-digit Numbering Plan Area code, commonly known as *area code*, followed by a seven-digit local number. The first three digits of the local number represent the *exchange code*, followed by the unique four-digit number which is the *subscriber number*.
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
Implement a program that translates from English to Pig Latin.
|
|
2
|
+
|
|
1
3
|
Pig Latin is a made-up children's language that's intended to be
|
|
2
4
|
confusing. It obeys a few simple rules (below), but when it's spoken
|
|
3
5
|
quickly it's really difficult for non-children (and non-native speakers)
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
Calculate the Hamming difference between two DNA strands.
|
|
2
|
+
|
|
1
3
|
A mutation is simply a mistake that occurs during the creation or
|
|
2
4
|
copying of a nucleic acid, in particular DNA. Because nucleic acids are
|
|
3
5
|
vital to cellular functions, mutations tend to cause a ripple effect
|