trackler 2.2.1.79 → 2.2.1.80

Sign up to get free protection for your applications and to get access to all the features.
Files changed (40) hide show
  1. checksums.yaml +4 -4
  2. data/lib/trackler/version.rb +1 -1
  3. data/problem-specifications/exercises/isbn-verifier/canonical-data.json +40 -14
  4. data/problem-specifications/exercises/luhn/canonical-data.json +2 -2
  5. data/tracks/bash/README.md +1 -1
  6. data/tracks/bash/bin/fetch-configlet +1 -1
  7. data/tracks/bash/config.json +25 -2
  8. data/tracks/bash/docs/MAINTAINING.md +36 -0
  9. data/tracks/bash/exercises/reverse-string/README.md +14 -0
  10. data/tracks/bash/exercises/reverse-string/example.sh +3 -0
  11. data/tracks/bash/exercises/reverse-string/reverse_string_test.sh +41 -0
  12. data/tracks/bash/exercises/roman-numerals/README.md +50 -0
  13. data/tracks/bash/exercises/roman-numerals/example.sh +19 -0
  14. data/tracks/bash/exercises/roman-numerals/roman_numerals_test.sh +145 -0
  15. data/tracks/clojure/exercises/acronym/src/acronym.clj +5 -0
  16. data/tracks/clojure/exercises/all-your-base/src/all_your_base.clj +5 -0
  17. data/tracks/clojure/exercises/allergies/src/allergies.clj +9 -0
  18. data/tracks/clojure/exercises/atbash-cipher/src/atbash_cipher.clj +5 -0
  19. data/tracks/clojure/exercises/bank-account/src/bank_account.clj +17 -0
  20. data/tracks/clojure/exercises/binary-search-tree/src/binary_search_tree.clj +29 -0
  21. data/tracks/clojure/exercises/binary-search/src/binary_search.clj +9 -0
  22. data/tracks/clojure/exercises/binary/src/binary.clj +5 -0
  23. data/tracks/clojure/exercises/bracket-push/src/bracket_push.clj +5 -0
  24. data/tracks/clojure/exercises/change/src/change.clj +5 -0
  25. data/tracks/clojure/exercises/clock/src/clock.clj +13 -0
  26. data/tracks/clojure/exercises/crypto-square/src/crypto_square.clj +21 -0
  27. data/tracks/clojure/exercises/diamond/src/diamond.clj +5 -0
  28. data/tracks/clojure/exercises/difference-of-squares/src/difference_of_squares.clj +13 -0
  29. data/tracks/clojure/exercises/etl/src/etl.clj +5 -0
  30. data/tracks/clojure/exercises/flatten-array/src/flatten_array.clj +5 -0
  31. data/tracks/groovy/config.json +1 -1
  32. data/tracks/groovy/exercises/{linked-list/LinkedList.groovy → double-linked-list/DoubleLinkedList.groovy} +0 -0
  33. data/tracks/groovy/exercises/{linked-list/LinkedListSpec.groovy → double-linked-list/DoubleLinkedListSpec.groovy} +0 -0
  34. data/tracks/groovy/exercises/{linked-list → double-linked-list}/Example.groovy +0 -0
  35. data/tracks/groovy/exercises/{linked-list → double-linked-list}/README.md +1 -1
  36. data/tracks/groovy/gradlew +0 -0
  37. data/tracks/java/config/maintainers.json +1 -1
  38. data/tracks/kotlin/config/maintainers.json +2 -2
  39. metadata +29 -7
  40. data/tracks/bash/exercises/acronym/acronym.sh +0 -18
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: f534ea2a6278d897c9f2761774cded84858c3d4d
4
- data.tar.gz: 70bd2ab606450227fb252f5057fbca33ec0d57e4
3
+ metadata.gz: 582c0a5b8961156545ee85e7cbc19dc370564915
4
+ data.tar.gz: ebeb707368c2348f2a72b0189bafc75c6ec1cb6a
5
5
  SHA512:
6
- metadata.gz: cbf4a33ca1a50368b3756c79f68b0041aaa39147feb90b7b3093336a4a594a1b69e6eb639101d5d331a7bf1b537cbf4c7d0862832dfeadbc026f771f28ffe11d
7
- data.tar.gz: 47f09fb1ff62297220261332bb1364a68aed554347374ad3dbe720d343ee6b2503d4e7ac50c7966425c750986bb3b8f66677971461b41df3a4fbfaa478811a06
6
+ metadata.gz: 638585faba47d4309f8daa4c251787f9d5dde9462220f4c39b6a1e698cccce4570e154ff31b6e8ba1ed5e511593326fa4518ad9860047b684b6cbbf6bfe718ca
7
+ data.tar.gz: e1a7752908c91664d717d7303b1b9fe4ed130b34a2262010c29d83a243c99ed394d536a849fa2f6dd67f8f0e323bffdcce0fb5e03578439b163ad4212eb3defb
@@ -1,3 +1,3 @@
1
1
  module Trackler
2
- VERSION = "2.2.1.79"
2
+ VERSION = "2.2.1.80"
3
3
  end
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "exercise": "isbn-verifier",
3
- "version": "2.0.0",
3
+ "version": "2.1.0",
4
4
  "comments": [
5
5
  "An expected value of true indicates a valid ISBN-10, ",
6
6
  "whereas false means the ISBN-10 is invalid."
@@ -9,79 +9,105 @@
9
9
  {
10
10
  "description": "valid isbn number",
11
11
  "property": "isValid",
12
- "input": "3-598-21508-8",
12
+ "input": {
13
+ "isbn": "3-598-21508-8"
14
+ },
13
15
  "expected": true
14
16
  },
15
17
  {
16
18
  "description": "invalid isbn check digit",
17
19
  "property": "isValid",
18
- "input": "3-598-21508-9",
20
+ "input": {
21
+ "isbn": "3-598-21508-9"
22
+ },
19
23
  "expected": false
20
24
  },
21
25
  {
22
26
  "description": "valid isbn number with a check digit of 10",
23
27
  "property": "isValid",
24
- "input": "3-598-21507-X",
28
+ "input": {
29
+ "isbn": "3-598-21507-X"
30
+ },
25
31
  "expected": true
26
32
  },
27
33
  {
28
34
  "description": "check digit is a character other than X",
29
35
  "property": "isValid",
30
- "input": "3-598-21507-A",
36
+ "input": {
37
+ "isbn": "3-598-21507-A"
38
+ },
31
39
  "expected": false
32
40
  },
33
41
  {
34
42
  "description": "invalid character in isbn",
35
43
  "property": "isValid",
36
- "input": "3-598-2K507-0",
44
+ "input": {
45
+ "isbn": "3-598-2K507-0"
46
+ },
37
47
  "expected": false
38
48
  },
39
49
  {
40
50
  "description": "X is only valid as a check digit",
41
51
  "property": "isValid",
42
- "input": "3-598-2X507-9",
52
+ "input": {
53
+ "isbn": "3-598-2X507-9"
54
+ },
43
55
  "expected": false
44
56
  },
45
57
  {
46
58
  "description": "valid isbn without separating dashes",
47
59
  "property": "isValid",
48
- "input": "3598215088",
60
+ "input": {
61
+ "isbn": "3598215088"
62
+ },
49
63
  "expected": true
50
64
  },
51
65
  {
52
66
  "description": "isbn without separating dashes and X as check digit",
53
67
  "property": "isValid",
54
- "input": "359821507X",
68
+ "input": {
69
+ "isbn": "359821507X"
70
+ },
55
71
  "expected": true
56
72
  },
57
73
  {
58
74
  "description": "isbn without check digit and dashes",
59
75
  "property": "isValid",
60
- "input": "359821507",
76
+ "input": {
77
+ "isbn": "359821507"
78
+ },
61
79
  "expected": false
62
80
  },
63
81
  {
64
82
  "description": "too long isbn and no dashes",
65
83
  "property": "isValid",
66
- "input": "3598215078X",
84
+ "input": {
85
+ "isbn": "3598215078X"
86
+ },
67
87
  "expected": false
68
88
  },
69
89
  {
70
90
  "description": "isbn without check digit",
71
91
  "property": "isValid",
72
- "input": "3-598-21507",
92
+ "input": {
93
+ "isbn": "3-598-21507"
94
+ },
73
95
  "expected": false
74
96
  },
75
97
  {
76
98
  "description": "too long isbn",
77
99
  "property": "isValid",
78
- "input": "3-598-21507-XX",
100
+ "input": {
101
+ "isbn": "3-598-21507-XX"
102
+ },
79
103
  "expected": false
80
104
  },
81
105
  {
82
106
  "description": "check digit of X should not be used for 0",
83
107
  "property": "isValid",
84
- "input": "3-598-21515-X",
108
+ "input": {
109
+ "isbn": "3-598-21515-X"
110
+ },
85
111
  "expected": false
86
112
  }
87
113
  ]
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "exercise": "luhn",
3
- "version": "1.0.0",
3
+ "version": "1.0.1",
4
4
  "cases": [
5
5
  {
6
6
  "description": "single digit strings can not be valid",
@@ -9,7 +9,7 @@
9
9
  "expected": false
10
10
  },
11
11
  {
12
- "description": "A single zero is invalid",
12
+ "description": "a single zero is invalid",
13
13
  "property": "valid",
14
14
  "input": "0",
15
15
  "expected": false
@@ -6,7 +6,7 @@ Exercism Exercises in Bash
6
6
 
7
7
  ## Contributing Guide
8
8
 
9
- Please see the [contributing guide](https://github.com/exercism/x-api/blob/master/CONTRIBUTING.md#the-exercise-data)
9
+ Please see the [contributing guide](https://github.com/exercism/bash/blob/master/CONTRIBUTING.md) for information.
10
10
 
11
11
 
12
12
  ### Bash icon
@@ -1,4 +1,4 @@
1
- #!/bin/bash
1
+ #!/usr/bin/env bash
2
2
 
3
3
  LATEST=https://github.com/exercism/configlet/releases/latest
4
4
 
@@ -11,6 +11,15 @@
11
11
  ],
12
12
  "uuid": "4e2533dd-3af5-400b-869d-78140764d533"
13
13
  },
14
+ {
15
+ "core": true,
16
+ "difficulty": 1,
17
+ "slug": "reverse-string",
18
+ "topics": [
19
+ "strings"
20
+ ],
21
+ "uuid": "2b6d4faa-1909-422a-8eac-1682be3f1b9e"
22
+ },
14
23
  {
15
24
  "core": false,
16
25
  "difficulty": 1,
@@ -195,7 +204,7 @@
195
204
  "mathematics"
196
205
  ],
197
206
  "unlocked_by": "leap",
198
- "uuid": "496e130a-063a-6380-19dc-179f05534717226bca1"
207
+ "uuid": "bd8fd05e-3f8d-4a1f-a9d8-e6223dcc6f93"
199
208
  },
200
209
  {
201
210
  "core": false,
@@ -207,7 +216,21 @@
207
216
  "strings"
208
217
  ],
209
218
  "unlocked_by": "hamming",
210
- "uuid": "03808072-0228-6580-7a9b-cc709a8a5b8c0e600b9"
219
+ "uuid": "5bff4fe1-6330-4730-b586-dcc5438c02ee"
220
+ },
221
+ {
222
+ "core": false,
223
+ "difficulty": 6,
224
+ "slug": "roman-numerals",
225
+ "topics": [
226
+ "integers",
227
+ "logic",
228
+ "loops",
229
+ "mathematics",
230
+ "strings"
231
+ ],
232
+ "unlocked_by": "hamming",
233
+ "uuid": "7cc44e62-d29e-41c3-b4dd-689229e3e25a"
211
234
  }
212
235
  ],
213
236
  "foregone": [],
@@ -0,0 +1,36 @@
1
+ # Welcome!
2
+
3
+ This is a guide/reference for maintainers of the Bash track.
4
+
5
+ - [Your Permissions](#your-permissions)
6
+ - [Maintainer Guides](#maintainer-guides)
7
+ - [Miscellaneous](#miscellaneous)
8
+
9
+ ## Your Permissions
10
+
11
+ As a maintainer, you have write access to several repositories. "write access" means you can: review, reject, accept and merge PRs; and push changes to these repos. Despite having permissions to push directly, we tend to seek review of even our own PRs.
12
+
13
+ ### Track-specific
14
+
15
+ - [bash](https://github.com/exercism/bash) — Probably where you are now!
16
+
17
+ ### Exercism-wide
18
+
19
+ - [problem-specifications](https://github.com/exercism/problem-specifications) — the library of canonical exercises.
20
+ - [discussions](https://github.com/exercism/discussions) — the place where project-wide conversations happen.
21
+ [issues sorted by most recently updated.](https://github.com/exercism/discussions/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc)
22
+ - [docs](https://github.com/exercism/docs) - the place to find project-wide documentation.
23
+
24
+ ## Maintainer Guides
25
+
26
+ - **[docs/maintaining-a-track/README.md](https://github.com/exercism/docs/blob/master/maintaining-a-track/README.md)**
27
+ - [docs/contributing-to-language-tracks/README.md](https://github.com/exercism/docs/blob/master/contributing-to-language-tracks/README.md)
28
+ - [docs/you-can-help/review-pull-requests.md](https://github.com/exercism/docs/blob/master/you-can-help/review-pull-requests.md)
29
+
30
+ ## Miscellaneous
31
+
32
+ - Issues marked with "policy" are current "team agreements": [exercism?label:policy](https://github.com/search?q=org%3Aexercism+label%3Apolicy).
33
+ This label is described in [discussions#96](https://github.com/exercism/discussions/issues/96).
34
+ - Exercism has a Twitter account: [@Exercism.io](https://twitter.com/exercism_io); and a mailing list: https://tinyletter.com/exercism
35
+
36
+ **Please feel free to ask any questions. In our thinking, asking questions is far smarter than guessing.**
@@ -0,0 +1,14 @@
1
+ # Reverse String
2
+
3
+ Reverse a string
4
+
5
+ For example:
6
+ input: "cool"
7
+ output: "looc"
8
+
9
+ ## Source
10
+
11
+ Introductory challenge to reverse an input string. [medium.freecodecamp.org/](https://medium.freecodecamp.org/how-to-reverse-a-string-in-javascript-in-3-different-ways-75e4763c68cb)
12
+
13
+ ## Submitting Incomplete Solutions
14
+ It's possible to submit an incomplete solution so you can see how others have completed the exercise.
@@ -0,0 +1,3 @@
1
+ #!/bin/bash
2
+
3
+ echo $1|rev
@@ -0,0 +1,41 @@
1
+ #!/usr/bin/env bats
2
+
3
+ @test "An empty string" {
4
+ #skip
5
+ run bash reverse_string.sh
6
+
7
+ [ "$status" -eq 0 ]
8
+ [ "$output" = "" ]
9
+ }
10
+
11
+ @test "A word" {
12
+ skip
13
+ run bash reverse_string.sh robot
14
+
15
+ [ "$status" -eq 0 ]
16
+ [ "$output" = "tobor" ]
17
+ }
18
+
19
+ @test "A capitalised word" {
20
+ skip
21
+ run bash reverse_string.sh Ramen
22
+
23
+ [ "$status" -eq 0 ]
24
+ [ "$output" = "nemaR" ]
25
+ }
26
+
27
+ @test "A sentence with punctuation" {
28
+ skip
29
+ run bash reverse_string.sh "I'm hungry!"
30
+
31
+ [ "$status" -eq 0 ]
32
+ [ "$output" = "!yrgnuh m'I" ]
33
+ }
34
+
35
+ @test "A palindrome" {
36
+ skip
37
+ run bash reverse_string.sh racecar
38
+
39
+ [ "$status" -eq 0 ]
40
+ [ "$output" = "racecar" ]
41
+ }
@@ -0,0 +1,50 @@
1
+ # Roman Numerals
2
+
3
+ Write a function to convert from normal numbers to Roman Numerals.
4
+
5
+ The Romans were a clever bunch. They conquered most of Europe and ruled
6
+ it for hundreds of years. They invented concrete and straight roads and
7
+ even bikinis. One thing they never discovered though was the number
8
+ zero. This made writing and dating extensive histories of their exploits
9
+ slightly more challenging, but the system of numbers they came up with
10
+ is still in use today. For example the BBC uses Roman numerals to date
11
+ their programmes.
12
+
13
+ The Romans wrote numbers using letters - I, V, X, L, C, D, M. (notice
14
+ these letters have lots of straight lines and are hence easy to hack
15
+ into stone tablets).
16
+
17
+ ```text
18
+ 1 => I
19
+ 10 => X
20
+ 7 => VII
21
+ ```
22
+
23
+ There is no need to be able to convert numbers larger than about 3000.
24
+ (The Romans themselves didn't tend to go any higher)
25
+
26
+ Wikipedia says: Modern Roman numerals ... are written by expressing each
27
+ digit separately starting with the left most digit and skipping any
28
+ digit with a value of zero.
29
+
30
+ To see this in practice, consider the example of 1990.
31
+
32
+ In Roman numerals 1990 is MCMXC:
33
+
34
+ 1000=M
35
+ 900=CM
36
+ 90=XC
37
+
38
+ 2008 is written as MMVIII:
39
+
40
+ 2000=MM
41
+ 8=VIII
42
+
43
+ See also: http://www.novaroma.org/via_romana/numbers.html
44
+
45
+ ## Source
46
+
47
+ The Roman Numeral Kata. [codingdojo.org](http://codingdojo.org/cgi-bin/index.pl?KataRomanNumerals)
48
+
49
+ ## Submitting Incomplete Solutions
50
+ It's possible to submit an incomplete solution so you can see how others have completed the exercise.
@@ -0,0 +1,19 @@
1
+ #!/bin/bash
2
+
3
+ values=( 1000 900 500 400 100 90 50 40 10 9 5 4 1 )
4
+ roman=(
5
+ [1000]=M [900]=CM [500]=D [400]=CD
6
+ [100]=C [90]=XC [50]=L [40]=XL
7
+ [10]=X [9]=IX [5]=V [4]=IV
8
+ [1]=I
9
+ )
10
+ output=""
11
+ num=$1
12
+ for value in ${values[@]}; do
13
+ while (( num >= value )); do
14
+ output+=${roman[value]}
15
+ ((num -= value))
16
+ done
17
+ done
18
+
19
+ echo $output
@@ -0,0 +1,145 @@
1
+ #!/usr/bin/env bats
2
+
3
+ @test "1 is a single I" {
4
+ #skip
5
+ run bash roman_numerals.sh 1
6
+
7
+ [ "$status" -eq 0 ]
8
+ [ "$output" = "I" ]
9
+ }
10
+
11
+ @test "2 is two I's" {
12
+ skip
13
+ run bash roman_numerals.sh 2
14
+
15
+ [ "$status" -eq 0 ]
16
+ [ "$output" = "II" ]
17
+ }
18
+
19
+ @test "3 is three I's" {
20
+ skip
21
+ run bash roman_numerals.sh 3
22
+
23
+ [ "$status" -eq 0 ]
24
+ [ "$output" = "III" ]
25
+ }
26
+
27
+ @test "4, being 5 - 1, is IV" {
28
+ skip
29
+ run bash roman_numerals.sh 4
30
+
31
+ [ "$status" -eq 0 ]
32
+ [ "$output" = "IV" ]
33
+ }
34
+
35
+ @test "5 is a single V" {
36
+ skip
37
+ run bash roman_numerals.sh 5
38
+
39
+ [ "$status" -eq 0 ]
40
+ [ "$output" = "V" ]
41
+ }
42
+
43
+ @test "6, being 5 + 1, is VI" {
44
+ skip
45
+ run bash roman_numerals.sh 6
46
+
47
+ [ "$status" -eq 0 ]
48
+ [ "$output" = "VI" ]
49
+ }
50
+
51
+ @test "9, being 10 - 1, is IX" {
52
+ skip
53
+ run bash roman_numerals.sh 9
54
+
55
+ [ "$status" -eq 0 ]
56
+ [ "$output" = "IX" ]
57
+ }
58
+
59
+ @test "20 is two X's" {
60
+ skip
61
+ run bash roman_numerals.sh 27
62
+
63
+ [ "$status" -eq 0 ]
64
+ [ "$output" = "XXVII" ]
65
+ }
66
+
67
+ @test "48 is not 50 - 2 but rather 40 + 8" {
68
+ skip
69
+ run bash roman_numerals.sh 48
70
+
71
+ [ "$status" -eq 0 ]
72
+ [ "$output" = "XLVIII" ]
73
+ }
74
+
75
+ @test "50 is a single L" {
76
+ skip
77
+ run bash roman_numerals.sh 59
78
+
79
+ [ "$status" -eq 0 ]
80
+ [ "$output" = "LIX" ]
81
+ }
82
+
83
+ @test "90, being 100 - 10, is XC" {
84
+ skip
85
+ run bash roman_numerals.sh 93
86
+
87
+ [ "$status" -eq 0 ]
88
+ [ "$output" = "XCIII" ]
89
+ }
90
+
91
+ @test "100 is a single C" {
92
+ skip
93
+ run bash roman_numerals.sh 141
94
+
95
+ [ "$status" -eq 0 ]
96
+ [ "$output" = "CXLI" ]
97
+ }
98
+
99
+ @test "60, being 50 + 10, is LX" {
100
+ skip
101
+ run bash roman_numerals.sh 163
102
+
103
+ [ "$status" -eq 0 ]
104
+ [ "$output" = "CLXIII" ]
105
+ }
106
+
107
+ @test "400, being 500 - 100, is CD" {
108
+ skip
109
+ run bash roman_numerals.sh 402
110
+
111
+ [ "$status" -eq 0 ]
112
+ [ "$output" = "CDII" ]
113
+ }
114
+
115
+ @test "500 is a single D" {
116
+ skip
117
+ run bash roman_numerals.sh 575
118
+
119
+ [ "$status" -eq 0 ]
120
+ [ "$output" = "DLXXV" ]
121
+ }
122
+
123
+ @test "900, being 1000 - 100, is CM" {
124
+ skip
125
+ run bash roman_numerals.sh 911
126
+
127
+ [ "$status" -eq 0 ]
128
+ [ "$output" = "CMXI" ]
129
+ }
130
+
131
+ @test "1000 is a single M" {
132
+ skip
133
+ run bash roman_numerals.sh 1024
134
+
135
+ [ "$status" -eq 0 ]
136
+ [ "$output" = "MXXIV" ]
137
+ }
138
+
139
+ @test "3000 is three M's" {
140
+ skip
141
+ run bash roman_numerals.sh 3000
142
+
143
+ [ "$status" -eq 0 ]
144
+ [ "$output" = "MMM" ]
145
+ }
@@ -0,0 +1,5 @@
1
+ (ns acronym)
2
+
3
+ (defn acronym [] ;; <- arglist goes here
4
+ ;; your code goes here
5
+ )
@@ -0,0 +1,5 @@
1
+ (ns all-your-base)
2
+
3
+ (defn convert [] ;; <- arglist goes here
4
+ ;; your code goes here
5
+ )
@@ -0,0 +1,9 @@
1
+ (ns allergies)
2
+
3
+ (defn allergies [] ;; <- arglist goes here
4
+ ;; your code goes here
5
+ )
6
+
7
+ (defn allergic-to? [] ;; <- arglist goes here
8
+ ;; your code goes here
9
+ )
@@ -0,0 +1,5 @@
1
+ (ns atbash-cipher)
2
+
3
+ (defn encode [] ;; <- arglist goes here
4
+ ;; your code goes here
5
+ )
@@ -0,0 +1,17 @@
1
+ (ns bank-account)
2
+
3
+ (defn open-account [] ;; <- arglist goes here
4
+ ;; your code goes here
5
+ )
6
+
7
+ (defn close-account [] ;; <- arglist goes here
8
+ ;; your code goes here
9
+ )
10
+
11
+ (defn get-balance [] ;; <- arglist goes here
12
+ ;; your code goes here
13
+ )
14
+
15
+ (defn update-balance [] ;; <- arglist goes here
16
+ ;; your code goes here
17
+ )
@@ -0,0 +1,29 @@
1
+ (ns binary-search-tree)
2
+
3
+ (defn value [] ;; <- arglist goes here
4
+ ;; your code goes here
5
+ )
6
+
7
+ (defn singleton [] ;; <- arglist goes here
8
+ ;; your code goes here
9
+ )
10
+
11
+ (defn insert [] ;; <- arglist goes here
12
+ ;; your code goes here
13
+ )
14
+
15
+ (defn left [] ;; <- arglist goes here
16
+ ;; your code goes here
17
+ )
18
+
19
+ (defn right [] ;; <- arglist goes here
20
+ ;; your code goes here
21
+ )
22
+
23
+ (defn to-list [] ;; <- arglist goes here
24
+ ;; your code goes here
25
+ )
26
+
27
+ (defn from-list [] ;; <- arglist goes here
28
+ ;; your code goes here
29
+ )
@@ -0,0 +1,9 @@
1
+ (ns binary-search)
2
+
3
+ (defn search-for [] ;; <- arglist goes here
4
+ ;; your code goes here
5
+ )
6
+
7
+ (defn middle [] ;; <- arglist goes here
8
+ ;; your code goes here
9
+ )
@@ -0,0 +1,5 @@
1
+ (ns binary)
2
+
3
+ (defn to-decimal [] ;; <- arglist goes here
4
+ ;; your code goes here
5
+ )
@@ -0,0 +1,5 @@
1
+ (ns bracket-push)
2
+
3
+ (defn valid? [] ;; <- arglist goes here
4
+ ;; your code goes here
5
+ )
@@ -0,0 +1,5 @@
1
+ (ns change)
2
+
3
+ (defn issue [] ;; <- arglist goes here
4
+ ;; your code goes here
5
+ )
@@ -0,0 +1,13 @@
1
+ (ns clock)
2
+
3
+ (defn clock->string [] ;; <- arglist goes here
4
+ ;; your code goes here
5
+ )
6
+
7
+ (defn clock [] ;; <- arglist goes here
8
+ ;; your code goes here
9
+ )
10
+
11
+ (defn add-time [] ;; <- arglist goes here
12
+ ;; your code goes here
13
+ )
@@ -0,0 +1,21 @@
1
+ (ns crypto-square)
2
+
3
+ (defn normalize-plaintext [] ;; <- arglist goes here
4
+ ;; your code goes here
5
+ )
6
+
7
+ (defn square-size [] ;; <- arglist goes here
8
+ ;; your code goes here
9
+ )
10
+
11
+ (defn plaintext-segments [] ;; <- arglist goes here
12
+ ;; your code goes here
13
+ )
14
+
15
+ (defn ciphertext [] ;; <- arglist goes here
16
+ ;; your code goes here
17
+ )
18
+
19
+ (defn normalize-ciphertext [] ;; <- arglist goes here
20
+ ;; your code goes here
21
+ )
@@ -0,0 +1,5 @@
1
+ (ns diamond)
2
+
3
+ (defn diamond [] ;; <- arglist goes here
4
+ ;; your code goes here
5
+ )
@@ -0,0 +1,13 @@
1
+ (ns difference-of-squares)
2
+
3
+ (defn difference [] ;; <- arglist goes here
4
+ ;; your code goes here
5
+ )
6
+
7
+ (defn sum-of-squares [] ;; <- arglist goes here
8
+ ;; your code goes here
9
+ )
10
+
11
+ (defn square-of-sums [] ;; <- arglist goes here
12
+ ;; your code goes here
13
+ )
@@ -0,0 +1,5 @@
1
+ (ns etl)
2
+
3
+ (defn transform [] ;; <- arglist goes here
4
+ ;; your code goes here
5
+ )
@@ -0,0 +1,5 @@
1
+ (ns flatten-array)
2
+
3
+ (defn flatten [] ;; <- arglist goes here
4
+ ;; your code goes here
5
+ )
@@ -184,7 +184,7 @@
184
184
  {
185
185
  "core": true,
186
186
  "difficulty": 6,
187
- "slug": "linked-list",
187
+ "slug": "double-linked-list",
188
188
  "topics": [
189
189
  "algorithms",
190
190
  "generics",
@@ -35,7 +35,7 @@ For installation and learning resources, refer to the
35
35
  You can run all the tests for an exercise by entering
36
36
 
37
37
  ```
38
- $ groovy ./LinkedListSpec.groovy
38
+ $ groovy ./DoubleLinkedListSpec.groovy
39
39
  ```
40
40
 
41
41
  in your terminal.
File without changes
@@ -32,7 +32,7 @@
32
32
  "show_on_website": false
33
33
  },
34
34
  {
35
- "alumnus": false,
35
+ "alumnus": true,
36
36
  "avatar_url": null,
37
37
  "bio": null,
38
38
  "github_username": "stkent",
@@ -22,7 +22,7 @@
22
22
  "show_on_website": false
23
23
  },
24
24
  {
25
- "alumnus": false,
25
+ "alumnus": true,
26
26
  "avatar_url": null,
27
27
  "bio": null,
28
28
  "github_username": "stkent",
@@ -32,4 +32,4 @@
32
32
  "show_on_website": false
33
33
  }
34
34
  ]
35
- }
35
+ }
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: trackler
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.2.1.79
4
+ version: 2.2.1.80
5
5
  platform: ruby
6
6
  authors:
7
7
  - Katrina Owen
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-12-29 00:00:00.000000000 Z
11
+ date: 2017-12-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rubyzip
@@ -597,11 +597,11 @@ files:
597
597
  - tracks/bash/docs/EXERCISE_README_INSERT.md
598
598
  - tracks/bash/docs/INSTALLATION.md
599
599
  - tracks/bash/docs/LEARNING.md
600
+ - tracks/bash/docs/MAINTAINING.md
600
601
  - tracks/bash/docs/RESOURCES.md
601
602
  - tracks/bash/docs/SNIPPET.txt
602
603
  - tracks/bash/docs/TESTS.md
603
604
  - tracks/bash/exercises/acronym/README.md
604
- - tracks/bash/exercises/acronym/acronym.sh
605
605
  - tracks/bash/exercises/acronym/acronym_tests.sh
606
606
  - tracks/bash/exercises/acronym/example.sh
607
607
  - tracks/bash/exercises/anagram/README.md
@@ -647,9 +647,15 @@ files:
647
647
  - tracks/bash/exercises/raindrops/README.md
648
648
  - tracks/bash/exercises/raindrops/example.sh
649
649
  - tracks/bash/exercises/raindrops/raindrops_test.sh
650
+ - tracks/bash/exercises/reverse-string/README.md
651
+ - tracks/bash/exercises/reverse-string/example.sh
652
+ - tracks/bash/exercises/reverse-string/reverse_string_test.sh
650
653
  - tracks/bash/exercises/rna-transcription/README.md
651
654
  - tracks/bash/exercises/rna-transcription/example.sh
652
655
  - tracks/bash/exercises/rna-transcription/rna_transcription_test.sh
656
+ - tracks/bash/exercises/roman-numerals/README.md
657
+ - tracks/bash/exercises/roman-numerals/example.sh
658
+ - tracks/bash/exercises/roman-numerals/roman_numerals_test.sh
653
659
  - tracks/bash/exercises/triangle/README.md
654
660
  - tracks/bash/exercises/triangle/example.sh
655
661
  - tracks/bash/exercises/triangle/triangle_test.sh
@@ -1392,14 +1398,17 @@ files:
1392
1398
  - tracks/clojure/exercises/accumulate/test/accumulate_test.clj
1393
1399
  - tracks/clojure/exercises/acronym/README.md
1394
1400
  - tracks/clojure/exercises/acronym/project.clj
1401
+ - tracks/clojure/exercises/acronym/src/acronym.clj
1395
1402
  - tracks/clojure/exercises/acronym/src/example.clj
1396
1403
  - tracks/clojure/exercises/acronym/test/acronym_test.clj
1397
1404
  - tracks/clojure/exercises/all-your-base/README.md
1398
1405
  - tracks/clojure/exercises/all-your-base/project.clj
1406
+ - tracks/clojure/exercises/all-your-base/src/all_your_base.clj
1399
1407
  - tracks/clojure/exercises/all-your-base/src/example.clj
1400
1408
  - tracks/clojure/exercises/all-your-base/test/all_your_base_test.clj
1401
1409
  - tracks/clojure/exercises/allergies/README.md
1402
1410
  - tracks/clojure/exercises/allergies/project.clj
1411
+ - tracks/clojure/exercises/allergies/src/allergies.clj
1403
1412
  - tracks/clojure/exercises/allergies/src/example.clj
1404
1413
  - tracks/clojure/exercises/allergies/test/allergies_test.clj
1405
1414
  - tracks/clojure/exercises/anagram/README.md
@@ -1409,10 +1418,12 @@ files:
1409
1418
  - tracks/clojure/exercises/anagram/test/anagram_test.clj
1410
1419
  - tracks/clojure/exercises/atbash-cipher/README.md
1411
1420
  - tracks/clojure/exercises/atbash-cipher/project.clj
1421
+ - tracks/clojure/exercises/atbash-cipher/src/atbash_cipher.clj
1412
1422
  - tracks/clojure/exercises/atbash-cipher/src/example.clj
1413
1423
  - tracks/clojure/exercises/atbash-cipher/test/atbash_cipher_test.clj
1414
1424
  - tracks/clojure/exercises/bank-account/README.md
1415
1425
  - tracks/clojure/exercises/bank-account/project.clj
1426
+ - tracks/clojure/exercises/bank-account/src/bank_account.clj
1416
1427
  - tracks/clojure/exercises/bank-account/src/example.clj
1417
1428
  - tracks/clojure/exercises/bank-account/test/bank_account_test.clj
1418
1429
  - tracks/clojure/exercises/beer-song/README.md
@@ -1422,14 +1433,17 @@ files:
1422
1433
  - tracks/clojure/exercises/beer-song/test/beer_song_test.clj
1423
1434
  - tracks/clojure/exercises/binary-search-tree/README.md
1424
1435
  - tracks/clojure/exercises/binary-search-tree/project.clj
1436
+ - tracks/clojure/exercises/binary-search-tree/src/binary_search_tree.clj
1425
1437
  - tracks/clojure/exercises/binary-search-tree/src/example.clj
1426
1438
  - tracks/clojure/exercises/binary-search-tree/test/binary_search_tree_test.clj
1427
1439
  - tracks/clojure/exercises/binary-search/README.md
1428
1440
  - tracks/clojure/exercises/binary-search/project.clj
1441
+ - tracks/clojure/exercises/binary-search/src/binary_search.clj
1429
1442
  - tracks/clojure/exercises/binary-search/src/example.clj
1430
1443
  - tracks/clojure/exercises/binary-search/test/binary_search_test.clj
1431
1444
  - tracks/clojure/exercises/binary/README.md
1432
1445
  - tracks/clojure/exercises/binary/project.clj
1446
+ - tracks/clojure/exercises/binary/src/binary.clj
1433
1447
  - tracks/clojure/exercises/binary/src/example.clj
1434
1448
  - tracks/clojure/exercises/binary/test/binary_test.clj
1435
1449
  - tracks/clojure/exercises/bob/README.md
@@ -1439,15 +1453,18 @@ files:
1439
1453
  - tracks/clojure/exercises/bob/test/bob_test.clj
1440
1454
  - tracks/clojure/exercises/bracket-push/README.md
1441
1455
  - tracks/clojure/exercises/bracket-push/project.clj
1456
+ - tracks/clojure/exercises/bracket-push/src/bracket_push.clj
1442
1457
  - tracks/clojure/exercises/bracket-push/src/example.clj
1443
1458
  - tracks/clojure/exercises/bracket-push/test/bracket_push_test.clj
1444
1459
  - tracks/clojure/exercises/change/README.md
1445
1460
  - tracks/clojure/exercises/change/project.clj
1461
+ - tracks/clojure/exercises/change/src/change.clj
1446
1462
  - tracks/clojure/exercises/change/src/example.clj
1447
1463
  - tracks/clojure/exercises/change/test/change_test.clj
1448
1464
  - tracks/clojure/exercises/clock/.meta/clock.mustache
1449
1465
  - tracks/clojure/exercises/clock/README.md
1450
1466
  - tracks/clojure/exercises/clock/project.clj
1467
+ - tracks/clojure/exercises/clock/src/clock.clj
1451
1468
  - tracks/clojure/exercises/clock/src/example.clj
1452
1469
  - tracks/clojure/exercises/clock/test/clock_test.clj
1453
1470
  - tracks/clojure/exercises/collatz-conjecture/README.md
@@ -1462,23 +1479,28 @@ files:
1462
1479
  - tracks/clojure/exercises/complex-numbers/test/complex_numbers_test.clj
1463
1480
  - tracks/clojure/exercises/crypto-square/README.md
1464
1481
  - tracks/clojure/exercises/crypto-square/project.clj
1482
+ - tracks/clojure/exercises/crypto-square/src/crypto_square.clj
1465
1483
  - tracks/clojure/exercises/crypto-square/src/example.clj
1466
1484
  - tracks/clojure/exercises/crypto-square/test/crypto_square_test.clj
1467
1485
  - tracks/clojure/exercises/diamond/README.md
1468
1486
  - tracks/clojure/exercises/diamond/project.clj
1487
+ - tracks/clojure/exercises/diamond/src/diamond.clj
1469
1488
  - tracks/clojure/exercises/diamond/src/example.clj
1470
1489
  - tracks/clojure/exercises/diamond/test/diamond_test.clj
1471
1490
  - tracks/clojure/exercises/difference-of-squares/README.md
1472
1491
  - tracks/clojure/exercises/difference-of-squares/project.clj
1492
+ - tracks/clojure/exercises/difference-of-squares/src/difference_of_squares.clj
1473
1493
  - tracks/clojure/exercises/difference-of-squares/src/example.clj
1474
1494
  - tracks/clojure/exercises/difference-of-squares/test/difference_of_squares_test.clj
1475
1495
  - tracks/clojure/exercises/etl/README.md
1476
1496
  - tracks/clojure/exercises/etl/project.clj
1497
+ - tracks/clojure/exercises/etl/src/etl.clj
1477
1498
  - tracks/clojure/exercises/etl/src/example.clj
1478
1499
  - tracks/clojure/exercises/etl/test/etl_test.clj
1479
1500
  - tracks/clojure/exercises/flatten-array/README.md
1480
1501
  - tracks/clojure/exercises/flatten-array/project.clj
1481
1502
  - tracks/clojure/exercises/flatten-array/src/example.clj
1503
+ - tracks/clojure/exercises/flatten-array/src/flatten_array.clj
1482
1504
  - tracks/clojure/exercises/flatten-array/test/flatten_array_test.clj
1483
1505
  - tracks/clojure/exercises/gigasecond/README.md
1484
1506
  - tracks/clojure/exercises/gigasecond/project.clj
@@ -6231,6 +6253,10 @@ files:
6231
6253
  - tracks/groovy/exercises/difference-of-squares/DifferenceOfSquaresSpec.groovy
6232
6254
  - tracks/groovy/exercises/difference-of-squares/Example.groovy
6233
6255
  - tracks/groovy/exercises/difference-of-squares/README.md
6256
+ - tracks/groovy/exercises/double-linked-list/DoubleLinkedList.groovy
6257
+ - tracks/groovy/exercises/double-linked-list/DoubleLinkedListSpec.groovy
6258
+ - tracks/groovy/exercises/double-linked-list/Example.groovy
6259
+ - tracks/groovy/exercises/double-linked-list/README.md
6234
6260
  - tracks/groovy/exercises/flatten-array/Example.groovy
6235
6261
  - tracks/groovy/exercises/flatten-array/FlattenArraySpec.groovy
6236
6262
  - tracks/groovy/exercises/flatten-array/README.md
@@ -6254,10 +6280,6 @@ files:
6254
6280
  - tracks/groovy/exercises/leap/Leap.groovy
6255
6281
  - tracks/groovy/exercises/leap/LeapSpec.groovy
6256
6282
  - tracks/groovy/exercises/leap/README.md
6257
- - tracks/groovy/exercises/linked-list/Example.groovy
6258
- - tracks/groovy/exercises/linked-list/LinkedList.groovy
6259
- - tracks/groovy/exercises/linked-list/LinkedListSpec.groovy
6260
- - tracks/groovy/exercises/linked-list/README.md
6261
6283
  - tracks/groovy/exercises/nth-prime/Example.groovy
6262
6284
  - tracks/groovy/exercises/nth-prime/NthPrime.groovy
6263
6285
  - tracks/groovy/exercises/nth-prime/NthPrimeSpec.groovy
@@ -1,18 +0,0 @@
1
- #!/bin/bash
2
-
3
- if [ "$#" -ne 1 ]; then
4
- echo 'Usage: $0 "<phrase1>"' >&2
5
- exit 1
6
- fi
7
-
8
- phrase=`echo $1 | tr '-' ' '`
9
- set -f -- junk $phrase
10
- shift
11
- for word; do
12
- initial="$(echo $word | head -c 1 | tr '[:lower:]' '[:upper:]')"
13
- acronym+=$initial
14
- #echo "[$word] [$initial] [$acronym]"
15
- done
16
- echo $acronym
17
-
18
- exit 0