trackler 2.2.1.58 → 2.2.1.59
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/isbn-verifier/canonical-data.json +3 -3
- data/tracks/c/docs/C_STYLE_GUIDE.md +23 -0
- data/tracks/erlang/config.json +10 -0
- data/tracks/erlang/exercises/custom-set/README.md +54 -0
- data/tracks/erlang/exercises/custom-set/include/exercism.hrl +11 -0
- data/tracks/erlang/exercises/custom-set/rebar.config +30 -0
- data/tracks/erlang/exercises/custom-set/src/custom_set.app.src +9 -0
- data/tracks/erlang/exercises/custom-set/src/custom_set.erl +27 -0
- data/tracks/erlang/exercises/custom-set/src/example.erl +51 -0
- data/tracks/erlang/exercises/custom-set/test/custom_set_tests.erl +188 -0
- data/tracks/erlang/testgen/src/tgen_custom-set.erl +98 -0
- data/tracks/haskell/config.json +11 -0
- data/tracks/haskell/exercises/perfect-numbers/README.md +78 -0
- data/tracks/haskell/exercises/perfect-numbers/examples/success-standard/package.yaml +16 -0
- data/tracks/haskell/exercises/perfect-numbers/examples/success-standard/src/PerfectNumbers.hs +10 -0
- data/tracks/haskell/exercises/perfect-numbers/package.yaml +20 -0
- data/tracks/haskell/exercises/perfect-numbers/src/PerfectNumbers.hs +6 -0
- data/tracks/haskell/exercises/perfect-numbers/stack.yaml +1 -0
- data/tracks/haskell/exercises/perfect-numbers/test/Tests.hs +79 -0
- data/tracks/javascript/exercises/acronym/README.md +1 -1
- data/tracks/javascript/exercises/all-your-base/README.md +1 -1
- data/tracks/javascript/exercises/allergies/README.md +1 -1
- data/tracks/javascript/exercises/alphametics/README.md +1 -1
- data/tracks/javascript/exercises/anagram/README.md +1 -1
- data/tracks/javascript/exercises/atbash-cipher/README.md +1 -1
- data/tracks/javascript/exercises/beer-song/README.md +1 -1
- data/tracks/javascript/exercises/binary-search-tree/README.md +1 -1
- data/tracks/javascript/exercises/binary-search/README.md +1 -1
- data/tracks/javascript/exercises/binary/README.md +1 -1
- data/tracks/javascript/exercises/bob/README.md +1 -1
- data/tracks/javascript/exercises/bowling/README.md +1 -1
- data/tracks/javascript/exercises/bracket-push/README.md +1 -1
- data/tracks/javascript/exercises/change/README.md +1 -1
- data/tracks/javascript/exercises/circular-buffer/README.md +1 -1
- data/tracks/javascript/exercises/clock/README.md +1 -1
- data/tracks/javascript/exercises/collatz-conjecture/README.md +1 -1
- data/tracks/javascript/exercises/crypto-square/README.md +1 -1
- data/tracks/javascript/exercises/custom-set/README.md +1 -1
- data/tracks/javascript/exercises/diamond/README.md +1 -1
- data/tracks/javascript/exercises/difference-of-squares/README.md +1 -1
- data/tracks/javascript/exercises/diffie-hellman/README.md +1 -1
- data/tracks/javascript/exercises/etl/README.md +1 -1
- data/tracks/javascript/exercises/flatten-array/README.md +1 -1
- data/tracks/javascript/exercises/food-chain/README.md +1 -1
- data/tracks/javascript/exercises/gigasecond/README.md +1 -1
- data/tracks/javascript/exercises/grade-school/README.md +1 -1
- data/tracks/javascript/exercises/grains/README.md +1 -1
- data/tracks/javascript/exercises/hamming/README.md +1 -1
- data/tracks/javascript/exercises/hello-world/README.md +1 -1
- data/tracks/javascript/exercises/hexadecimal/README.md +1 -1
- data/tracks/javascript/exercises/isogram/README.md +1 -1
- data/tracks/javascript/exercises/kindergarten-garden/README.md +1 -1
- data/tracks/javascript/exercises/largest-series-product/README.md +1 -1
- data/tracks/javascript/exercises/leap/README.md +1 -1
- data/tracks/javascript/exercises/linked-list/README.md +1 -1
- data/tracks/javascript/exercises/list-ops/README.md +1 -1
- data/tracks/javascript/exercises/luhn/README.md +1 -1
- data/tracks/javascript/exercises/matrix/README.md +1 -1
- data/tracks/javascript/exercises/meetup/README.md +1 -1
- data/tracks/javascript/exercises/minesweeper/README.md +1 -1
- data/tracks/javascript/exercises/nth-prime/README.md +1 -1
- data/tracks/javascript/exercises/nucleotide-count/README.md +1 -1
- data/tracks/javascript/exercises/ocr-numbers/README.md +1 -1
- data/tracks/javascript/exercises/octal/README.md +1 -1
- data/tracks/javascript/exercises/palindrome-products/README.md +1 -1
- data/tracks/javascript/exercises/pangram/README.md +1 -1
- data/tracks/javascript/exercises/pascals-triangle/README.md +1 -1
- data/tracks/javascript/exercises/perfect-numbers/README.md +1 -1
- data/tracks/javascript/exercises/phone-number/README.md +1 -1
- data/tracks/javascript/exercises/pig-latin/README.md +1 -1
- data/tracks/javascript/exercises/point-mutations/README.md +1 -1
- data/tracks/javascript/exercises/prime-factors/README.md +1 -1
- data/tracks/javascript/exercises/protein-translation/README.md +1 -1
- data/tracks/javascript/exercises/proverb/README.md +1 -1
- data/tracks/javascript/exercises/pythagorean-triplet/README.md +1 -1
- data/tracks/javascript/exercises/queen-attack/README.md +1 -1
- data/tracks/javascript/exercises/raindrops/README.md +1 -1
- data/tracks/javascript/exercises/rna-transcription/README.md +1 -1
- data/tracks/javascript/exercises/robot-name/README.md +1 -1
- data/tracks/javascript/exercises/robot-simulator/README.md +1 -1
- data/tracks/javascript/exercises/roman-numerals/README.md +1 -1
- data/tracks/javascript/exercises/run-length-encoding/README.md +1 -1
- data/tracks/javascript/exercises/saddle-points/README.md +1 -1
- data/tracks/javascript/exercises/say/README.md +1 -1
- data/tracks/javascript/exercises/scrabble-score/README.md +1 -1
- data/tracks/javascript/exercises/secret-handshake/README.md +1 -1
- data/tracks/javascript/exercises/series/README.md +1 -1
- data/tracks/javascript/exercises/sieve/README.md +1 -1
- data/tracks/javascript/exercises/simple-cipher/README.md +1 -1
- data/tracks/javascript/exercises/simple-linked-list/README.md +1 -1
- data/tracks/javascript/exercises/space-age/README.md +1 -1
- data/tracks/javascript/exercises/strain/README.md +1 -1
- data/tracks/javascript/exercises/sum-of-multiples/README.md +1 -1
- data/tracks/javascript/exercises/transpose/README.md +1 -1
- data/tracks/javascript/exercises/triangle/README.md +1 -1
- data/tracks/javascript/exercises/trinary/README.md +1 -1
- data/tracks/javascript/exercises/twelve-days/README.md +1 -1
- data/tracks/javascript/exercises/two-bucket/README.md +1 -1
- data/tracks/javascript/exercises/word-count/README.md +1 -1
- data/tracks/javascript/exercises/wordy/README.md +1 -1
- data/tracks/javascript/exercises/zipper/README.md +1 -1
- data/tracks/typescript/config.json +15 -1
- data/tracks/typescript/exercises/pythagorean-triplet/README.md +54 -0
- data/tracks/typescript/exercises/pythagorean-triplet/package.json +36 -0
- data/tracks/typescript/exercises/pythagorean-triplet/pythagorean-triplet.example.ts +60 -0
- data/tracks/typescript/exercises/pythagorean-triplet/pythagorean-triplet.test.ts +37 -0
- data/tracks/typescript/exercises/pythagorean-triplet/pythagorean-triplet.ts +0 -0
- data/tracks/typescript/exercises/pythagorean-triplet/tsconfig.json +22 -0
- data/tracks/typescript/exercises/pythagorean-triplet/tslint.json +127 -0
- data/tracks/typescript/exercises/pythagorean-triplet/yarn.lock +2624 -0
- metadata +25 -2
@@ -0,0 +1,98 @@
|
|
1
|
+
-module('tgen_custom-set').
|
2
|
+
|
3
|
+
-behaviour(tgen).
|
4
|
+
|
5
|
+
-export([
|
6
|
+
available/0,
|
7
|
+
version/0,
|
8
|
+
generate_test/1
|
9
|
+
]).
|
10
|
+
|
11
|
+
-spec available() -> true.
|
12
|
+
available() ->
|
13
|
+
true.
|
14
|
+
|
15
|
+
version() -> 1.
|
16
|
+
|
17
|
+
generate_test(#{description := _, cases := Cases}) ->
|
18
|
+
rewrap(lists:flatten(lists:map(fun generate_test/1, Cases)), {[], []});
|
19
|
+
generate_test(F=#{description := Desc, expected := Exp, property := Prop, set1 := Set1, set2 := Set2}) when is_list(Exp) ->
|
20
|
+
TestName = tgen:to_test_name(Desc),
|
21
|
+
Property = binary_to_list(Prop),
|
22
|
+
|
23
|
+
Fn = tgs:simple_fun(TestName, [
|
24
|
+
tgs:call_macro("assertEqual", [
|
25
|
+
tgs:call_macro("TESTED_MODULE:from_list", [
|
26
|
+
tgs:value(Exp)]),
|
27
|
+
tgs:call_macro("TESTED_MODULE:" ++ Property, [
|
28
|
+
tgs:call_macro("TESTED_MODULE:from_list", [tgs:value(Set1)]),
|
29
|
+
tgs:call_macro("TESTED_MODULE:from_list", [tgs:value(Set2)])])])]),
|
30
|
+
|
31
|
+
{ok, Fn, [{Property, ["Set1", "Set2"]}]};
|
32
|
+
generate_test(F=#{description := Desc, expected := Exp, property := Prop, set1 := Set1, set2 := Set2}) when Exp =:= true; Exp =:= false ->
|
33
|
+
TestName = tgen:to_test_name(Desc),
|
34
|
+
Property = binary_to_list(Prop),
|
35
|
+
|
36
|
+
Assert = case Exp of
|
37
|
+
true -> "assert";
|
38
|
+
false -> "assertNot"
|
39
|
+
end,
|
40
|
+
|
41
|
+
Fn = tgs:simple_fun(TestName, [
|
42
|
+
tgs:call_macro(Assert, [
|
43
|
+
tgs:call_macro("TESTED_MODULE:" ++ Property, [
|
44
|
+
tgs:call_macro("TESTED_MODULE:from_list", [tgs:value(Set1)]),
|
45
|
+
tgs:call_macro("TESTED_MODULE:from_list", [tgs:value(Set2)])])])]),
|
46
|
+
|
47
|
+
{ok, Fn, [{Property, ["Set1", "Set2"]}, {"from_list", ["List"]}]};
|
48
|
+
generate_test(#{description := Desc, expected := Exp, property := Prop, set := Set, element := Elem}) when is_list(Exp) ->
|
49
|
+
TestName = tgen:to_test_name(Desc),
|
50
|
+
Property = binary_to_list(Prop),
|
51
|
+
|
52
|
+
Fn = tgs:simple_fun(TestName, [
|
53
|
+
tgs:call_macro("assertEqual", [
|
54
|
+
tgs:call_macro("TESTED_MODULE:from_list", [
|
55
|
+
tgs:value(Exp)]),
|
56
|
+
tgs:call_macro("TESTED_MODULE:" ++ Property, [
|
57
|
+
tgs:value(Elem),
|
58
|
+
tgs:call_macro("TESTED_MODULE:from_list", [
|
59
|
+
erl_syntax:abstract(Set)])])])]),
|
60
|
+
|
61
|
+
{ok, Fn, [{Property, ["Elem", "Set"]}, {"from_list", ["List"]}]};
|
62
|
+
generate_test(#{description := Desc, expected := Exp, property := Prop, set := Set, element := Elem}) when Exp =:= true; Exp =:= false ->
|
63
|
+
TestName = tgen:to_test_name(Desc),
|
64
|
+
Property = binary_to_list(Prop),
|
65
|
+
|
66
|
+
Assert = case Exp of
|
67
|
+
true -> "assert";
|
68
|
+
false -> "assertNot"
|
69
|
+
end,
|
70
|
+
|
71
|
+
Fn = tgs:simple_fun(TestName, [
|
72
|
+
tgs:call_macro(Assert, [
|
73
|
+
tgs:call_macro("TESTED_MODULE:" ++ Property, [
|
74
|
+
tgs:value(Elem),
|
75
|
+
tgs:call_macro("TESTED_MODULE:from_list", [
|
76
|
+
erl_syntax:abstract(Set)])])])]),
|
77
|
+
|
78
|
+
{ok, Fn, [{Property, ["Elem", "Set"]}, {"from_list", ["List"]}]};
|
79
|
+
generate_test(#{description := Desc, expected := Exp, property := <<"empty">>, set := Set}) when Exp =:= true; Exp =:= false ->
|
80
|
+
TestName = tgen:to_test_name(Desc),
|
81
|
+
Property = binary_to_list(<<"empty">>),
|
82
|
+
|
83
|
+
Assert = case Exp of
|
84
|
+
true -> "assert";
|
85
|
+
false -> "assertNot"
|
86
|
+
end,
|
87
|
+
|
88
|
+
Fn = tgs:simple_fun(TestName, [
|
89
|
+
tgs:call_macro(Assert, [
|
90
|
+
tgs:call_macro("TESTED_MODULE:" ++ Property, [
|
91
|
+
tgs:call_macro("TESTED_MODULE:from_list", [
|
92
|
+
tgs:value(Set)])])])]),
|
93
|
+
|
94
|
+
{ok, Fn, [{Property, ["Set"]}, {"from_list", ["List"]}]}.
|
95
|
+
|
96
|
+
rewrap([], {Fns, Props}) -> {ok, lists:reverse(Fns), Props};
|
97
|
+
rewrap([{ok, Fn, Props}|Tail], {Fns, AccProps}) ->
|
98
|
+
rewrap(Tail, {[Fn|Fns], Props ++ AccProps}).
|
data/tracks/haskell/config.json
CHANGED
@@ -69,6 +69,17 @@
|
|
69
69
|
"Number Theory"
|
70
70
|
]
|
71
71
|
},
|
72
|
+
{
|
73
|
+
"uuid": "928b22c5-f2bd-4496-8605-fcff2dad2c3a",
|
74
|
+
"slug": "perfect-numbers",
|
75
|
+
"core": false,
|
76
|
+
"unlocked_by": null,
|
77
|
+
"difficulty": 1,
|
78
|
+
"topics": [
|
79
|
+
"Maybe",
|
80
|
+
"Number Theory"
|
81
|
+
]
|
82
|
+
},
|
72
83
|
{
|
73
84
|
"uuid": "6eba4eac-6665-4ad6-ac21-3651a11ab4b4",
|
74
85
|
"slug": "isogram",
|
@@ -0,0 +1,78 @@
|
|
1
|
+
# Perfect Numbers
|
2
|
+
|
3
|
+
Determine if a number is perfect, abundant, or deficient based on
|
4
|
+
Nicomachus' (60 - 120 CE) classification scheme for natural numbers.
|
5
|
+
|
6
|
+
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
|
7
|
+
|
8
|
+
- **Perfect**: aliquot sum = number
|
9
|
+
- 6 is a perfect number because (1 + 2 + 3) = 6
|
10
|
+
- 28 is a perfect number because (1 + 2 + 4 + 7 + 14) = 28
|
11
|
+
- **Abundant**: aliquot sum > number
|
12
|
+
- 12 is an abundant number because (1 + 2 + 3 + 4 + 6) = 16
|
13
|
+
- 24 is an abundant number because (1 + 2 + 3 + 4 + 6 + 8 + 12) = 36
|
14
|
+
- **Deficient**: aliquot sum < number
|
15
|
+
- 8 is a deficient number because (1 + 2 + 4) = 7
|
16
|
+
- Prime numbers are deficient
|
17
|
+
|
18
|
+
Implement a way to determine whether a given number is **perfect**. Depending on your language track, you may also need to implement a way to determine whether a given number is **abundant** or **deficient**.
|
19
|
+
|
20
|
+
|
21
|
+
## Getting Started
|
22
|
+
|
23
|
+
For installation and learning resources, refer to the
|
24
|
+
[exercism help page](http://exercism.io/languages/haskell).
|
25
|
+
|
26
|
+
## Running the tests
|
27
|
+
|
28
|
+
To run the test suite, execute the following command:
|
29
|
+
|
30
|
+
```bash
|
31
|
+
stack test
|
32
|
+
```
|
33
|
+
|
34
|
+
#### If you get an error message like this...
|
35
|
+
|
36
|
+
```
|
37
|
+
No .cabal file found in directory
|
38
|
+
```
|
39
|
+
|
40
|
+
You are probably running an old stack version and need
|
41
|
+
to upgrade it.
|
42
|
+
|
43
|
+
#### Otherwise, if you get an error message like this...
|
44
|
+
|
45
|
+
```
|
46
|
+
No compiler found, expected minor version match with...
|
47
|
+
Try running "stack setup" to install the correct GHC...
|
48
|
+
```
|
49
|
+
|
50
|
+
Just do as it says and it will download and install
|
51
|
+
the correct compiler version:
|
52
|
+
|
53
|
+
```bash
|
54
|
+
stack setup
|
55
|
+
```
|
56
|
+
|
57
|
+
## Running *GHCi*
|
58
|
+
|
59
|
+
If you want to play with your solution in GHCi, just run the command:
|
60
|
+
|
61
|
+
```bash
|
62
|
+
stack ghci
|
63
|
+
```
|
64
|
+
|
65
|
+
## Feedback, Issues, Pull Requests
|
66
|
+
|
67
|
+
The [exercism/haskell](https://github.com/exercism/haskell) repository on
|
68
|
+
GitHub is the home for all of the Haskell exercises.
|
69
|
+
|
70
|
+
If you have feedback about an exercise, or want to help implementing a new
|
71
|
+
one, head over there and create an issue. We'll do our best to help you!
|
72
|
+
|
73
|
+
## Source
|
74
|
+
|
75
|
+
Taken from Chapter 2 of Functional Thinking by Neal Ford. [http://shop.oreilly.com/product/0636920029687.do](http://shop.oreilly.com/product/0636920029687.do)
|
76
|
+
|
77
|
+
## Submitting Incomplete Solutions
|
78
|
+
It's possible to submit an incomplete solution so you can see how others have completed the exercise.
|
@@ -0,0 +1,10 @@
|
|
1
|
+
module PerfectNumbers (classify, Classification(..)) where
|
2
|
+
|
3
|
+
data Classification = Deficient | Perfect | Abundant deriving (Eq, Show)
|
4
|
+
|
5
|
+
classify :: Int -> Maybe Classification
|
6
|
+
classify n | n < 1 = Nothing
|
7
|
+
| n < divisors = Just Abundant
|
8
|
+
| n > divisors = Just Deficient
|
9
|
+
| otherwise = Just Perfect
|
10
|
+
where divisors = sum $ filter ((0==) . mod n) [1..(div n 2)]
|
@@ -0,0 +1,20 @@
|
|
1
|
+
name: perfect-numbers
|
2
|
+
version: 1.0.1.1
|
3
|
+
|
4
|
+
dependencies:
|
5
|
+
- base
|
6
|
+
|
7
|
+
library:
|
8
|
+
exposed-modules: PerfectNumbers
|
9
|
+
source-dirs: src
|
10
|
+
dependencies:
|
11
|
+
# - foo # List here the packages you
|
12
|
+
# - bar # want to use in your solution.
|
13
|
+
|
14
|
+
tests:
|
15
|
+
test:
|
16
|
+
main: Tests.hs
|
17
|
+
source-dirs: test
|
18
|
+
dependencies:
|
19
|
+
- perfect-numbers
|
20
|
+
- hspec
|
@@ -0,0 +1 @@
|
|
1
|
+
resolver: lts-8.21
|
@@ -0,0 +1,79 @@
|
|
1
|
+
{-# LANGUAGE RecordWildCards #-}
|
2
|
+
|
3
|
+
import Data.Foldable (for_)
|
4
|
+
import Test.Hspec (Spec, describe, it, shouldBe)
|
5
|
+
import Test.Hspec.Runner (configFastFail, defaultConfig, hspecWith)
|
6
|
+
|
7
|
+
import PerfectNumbers
|
8
|
+
|
9
|
+
main :: IO ()
|
10
|
+
main = hspecWith defaultConfig {configFastFail = True} specs
|
11
|
+
|
12
|
+
specs :: Spec
|
13
|
+
specs = describe "classify" $ for_ cases test
|
14
|
+
where
|
15
|
+
|
16
|
+
test Case{..} = it description assertion
|
17
|
+
where
|
18
|
+
assertion = classify number `shouldBe` expected
|
19
|
+
|
20
|
+
|
21
|
+
data Case = Case { description :: String
|
22
|
+
, number :: Int
|
23
|
+
, expected :: Maybe Classification
|
24
|
+
}
|
25
|
+
|
26
|
+
cases :: [Case]
|
27
|
+
cases = [ Case { description = "Smallest perfect number is classified correctly"
|
28
|
+
, number = 6
|
29
|
+
, expected = Just Perfect
|
30
|
+
}
|
31
|
+
, Case { description = "Medium perfect number is classified correctly"
|
32
|
+
, number = 28
|
33
|
+
, expected = Just Perfect
|
34
|
+
}
|
35
|
+
, Case { description = "Large perfect number is classified correctly"
|
36
|
+
, number = 33550336
|
37
|
+
, expected = Just Perfect
|
38
|
+
}
|
39
|
+
, Case { description = "Smallest abundant number is classified correctly"
|
40
|
+
, number = 12
|
41
|
+
, expected = Just Abundant
|
42
|
+
}
|
43
|
+
, Case { description = "Medium abundant number is classified correctly"
|
44
|
+
, number = 30
|
45
|
+
, expected = Just Abundant
|
46
|
+
}
|
47
|
+
, Case { description = "Large abundant number is classified correctly"
|
48
|
+
, number = 33550335
|
49
|
+
, expected = Just Abundant
|
50
|
+
}
|
51
|
+
, Case { description = "Smallest prime deficient number is classified correctly"
|
52
|
+
, number = 2
|
53
|
+
, expected = Just Deficient
|
54
|
+
}
|
55
|
+
, Case { description = "Smallest non-prime deficient number is classified correctly"
|
56
|
+
, number = 4
|
57
|
+
, expected = Just Deficient
|
58
|
+
}
|
59
|
+
, Case { description = "Medium deficient number is classified correctly"
|
60
|
+
, number = 32
|
61
|
+
, expected = Just Deficient
|
62
|
+
}
|
63
|
+
, Case { description = "Large deficient number is classified correctly"
|
64
|
+
, number = 33550337
|
65
|
+
, expected = Just Deficient
|
66
|
+
}
|
67
|
+
, Case { description = "Edge case (no factors other than itself) is classified correctly"
|
68
|
+
, number = 1
|
69
|
+
, expected = Just Deficient
|
70
|
+
}
|
71
|
+
, Case { description = "Zero is rejected (not a natural number)"
|
72
|
+
, number = 0
|
73
|
+
, expected = Nothing
|
74
|
+
}
|
75
|
+
, Case { description = "Negative integer is rejected (not a natural number)"
|
76
|
+
, number = -1
|
77
|
+
, expected = Nothing
|
78
|
+
}
|
79
|
+
]
|
@@ -13,7 +13,7 @@ like Portable Network Graphics to its acronym (PNG).
|
|
13
13
|
Go through the setup instructions for JavaScript to
|
14
14
|
install the necessary dependencies:
|
15
15
|
|
16
|
-
http://exercism.io/languages/javascript
|
16
|
+
http://exercism.io/languages/javascript/installation
|
17
17
|
|
18
18
|
## Making the Test Suite Pass
|
19
19
|
|
@@ -36,7 +36,7 @@ I think you got the idea!
|
|
36
36
|
Go through the setup instructions for JavaScript to
|
37
37
|
install the necessary dependencies:
|
38
38
|
|
39
|
-
http://exercism.io/languages/javascript
|
39
|
+
http://exercism.io/languages/javascript/installation
|
40
40
|
|
41
41
|
## Making the Test Suite Pass
|
42
42
|
|
@@ -35,7 +35,7 @@ score is 257, your program should only report the eggs (1) allergy.
|
|
35
35
|
Go through the setup instructions for JavaScript to
|
36
36
|
install the necessary dependencies:
|
37
37
|
|
38
|
-
http://exercism.io/languages/javascript
|
38
|
+
http://exercism.io/languages/javascript/installation
|
39
39
|
|
40
40
|
## Making the Test Suite Pass
|
41
41
|
|
@@ -36,7 +36,7 @@ Write a function to solve alphametics puzzles.
|
|
36
36
|
Go through the setup instructions for JavaScript to
|
37
37
|
install the necessary dependencies:
|
38
38
|
|
39
|
-
http://exercism.io/languages/javascript
|
39
|
+
http://exercism.io/languages/javascript/installation
|
40
40
|
|
41
41
|
## Making the Test Suite Pass
|
42
42
|
|
@@ -11,7 +11,7 @@ Given `"listen"` and a list of candidates like `"enlists" "google"
|
|
11
11
|
Go through the setup instructions for JavaScript to
|
12
12
|
install the necessary dependencies:
|
13
13
|
|
14
|
-
http://exercism.io/languages/javascript
|
14
|
+
http://exercism.io/languages/javascript/installation
|
15
15
|
|
16
16
|
## Making the Test Suite Pass
|
17
17
|
|
@@ -32,7 +32,7 @@ things based on word boundaries.
|
|
32
32
|
Go through the setup instructions for JavaScript to
|
33
33
|
install the necessary dependencies:
|
34
34
|
|
35
|
-
http://exercism.io/languages/javascript
|
35
|
+
http://exercism.io/languages/javascript/installation
|
36
36
|
|
37
37
|
## Making the Test Suite Pass
|
38
38
|
|
@@ -325,7 +325,7 @@ experiment make the code better? Worse? Did you learn anything from it?
|
|
325
325
|
Go through the setup instructions for JavaScript to
|
326
326
|
install the necessary dependencies:
|
327
327
|
|
328
|
-
http://exercism.io/languages/javascript
|
328
|
+
http://exercism.io/languages/javascript/installation
|
329
329
|
|
330
330
|
## Making the Test Suite Pass
|
331
331
|
|
@@ -58,7 +58,7 @@ And if we then added 1, 5, and 7, it would look like this
|
|
58
58
|
Go through the setup instructions for JavaScript to
|
59
59
|
install the necessary dependencies:
|
60
60
|
|
61
|
-
http://exercism.io/languages/javascript
|
61
|
+
http://exercism.io/languages/javascript/installation
|
62
62
|
|
63
63
|
## Making the Test Suite Pass
|
64
64
|
|
@@ -39,7 +39,7 @@ A binary search is a dichotomic divide and conquer search algorithm.
|
|
39
39
|
Go through the setup instructions for JavaScript to
|
40
40
|
install the necessary dependencies:
|
41
41
|
|
42
|
-
http://exercism.io/languages/javascript
|
42
|
+
http://exercism.io/languages/javascript/installation
|
43
43
|
|
44
44
|
## Making the Test Suite Pass
|
45
45
|
|
@@ -33,7 +33,7 @@ So: `101 => 1*2^2 + 0*2^1 + 1*2^0 => 1*4 + 0*2 + 1*1 => 4 + 1 => 5 base 10`.
|
|
33
33
|
Go through the setup instructions for JavaScript to
|
34
34
|
install the necessary dependencies:
|
35
35
|
|
36
|
-
http://exercism.io/languages/javascript
|
36
|
+
http://exercism.io/languages/javascript/installation
|
37
37
|
|
38
38
|
## Making the Test Suite Pass
|
39
39
|
|
@@ -16,7 +16,7 @@ He answers 'Whatever.' to anything else.
|
|
16
16
|
Go through the setup instructions for JavaScript to
|
17
17
|
install the necessary dependencies:
|
18
18
|
|
19
|
-
http://exercism.io/languages/javascript
|
19
|
+
http://exercism.io/languages/javascript/installation
|
20
20
|
|
21
21
|
## Making the Test Suite Pass
|
22
22
|
|