trackler 2.2.0.1 → 2.2.0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (636) hide show
  1. checksums.yaml +4 -4
  2. data/fixtures/tracks/fake/config.json +4 -3
  3. data/fixtures/tracks/fruit/config.json +4 -3
  4. data/lib/trackler/track.rb +2 -2
  5. data/lib/trackler/version.rb +1 -1
  6. data/tracks/{java/exercises/allergies/.meta/readme.go.tmpl → c/config/exercise_readme.go.tmpl} +0 -1
  7. data/tracks/c/exercises/acronym/README.md +47 -0
  8. data/tracks/c/exercises/all-your-base/README.md +67 -0
  9. data/tracks/c/exercises/allergies/README.md +69 -0
  10. data/tracks/c/exercises/anagram/README.md +45 -0
  11. data/tracks/c/exercises/atbash-cipher/README.md +66 -0
  12. data/tracks/c/exercises/beer-song/README.md +359 -0
  13. data/tracks/c/exercises/binary/README.md +67 -0
  14. data/tracks/c/exercises/binary-search/README.md +73 -0
  15. data/tracks/c/exercises/bob/README.md +50 -0
  16. data/tracks/c/exercises/clock/README.md +45 -0
  17. data/tracks/c/exercises/difference-of-squares/README.md +51 -0
  18. data/tracks/c/exercises/gigasecond/README.md +43 -0
  19. data/tracks/c/exercises/grains/README.md +66 -0
  20. data/tracks/c/exercises/hamming/README.md +74 -0
  21. data/tracks/c/exercises/hello-world/README.md +53 -0
  22. data/tracks/c/exercises/isogram/README.md +51 -0
  23. data/tracks/c/exercises/largest-series-product/README.md +52 -0
  24. data/tracks/c/exercises/leap/README.md +65 -0
  25. data/tracks/c/exercises/meetup/README.md +62 -0
  26. data/tracks/c/exercises/nth-prime/README.md +47 -0
  27. data/tracks/c/exercises/nucleotide-count/README.md +65 -0
  28. data/tracks/c/exercises/palindrome-products/README.md +72 -0
  29. data/tracks/c/exercises/pangram/README.md +47 -0
  30. data/tracks/c/exercises/pascals-triangle/README.md +53 -0
  31. data/tracks/c/exercises/perfect-numbers/README.md +56 -0
  32. data/tracks/c/exercises/phone-number/README.md +66 -0
  33. data/tracks/c/exercises/raindrops/README.md +56 -0
  34. data/tracks/c/exercises/react/README.md +51 -0
  35. data/tracks/c/exercises/rna-transcription/README.md +57 -0
  36. data/tracks/c/exercises/robot-simulator/README.md +66 -0
  37. data/tracks/c/exercises/roman-numerals/README.md +81 -0
  38. data/tracks/c/exercises/scrabble-score/README.md +76 -0
  39. data/tracks/c/exercises/series/README.md +59 -0
  40. data/tracks/c/exercises/sieve/README.md +66 -0
  41. data/tracks/c/exercises/space-age/README.md +56 -0
  42. data/tracks/c/exercises/sum-of-multiples/README.md +50 -0
  43. data/tracks/c/exercises/triangle/README.md +58 -0
  44. data/tracks/c/exercises/word-count/README.md +51 -0
  45. data/tracks/ceylon/README.md +3 -3
  46. data/tracks/ceylon/config/exercise-readme-insert.md +1 -0
  47. data/tracks/{java/exercises/accumulate/.meta/readme.go.tmpl → ceylon/config/exercise_readme.go.tmpl} +0 -1
  48. data/tracks/ceylon/exercises/anagram/README.md +29 -0
  49. data/tracks/ceylon/{docs/EXERCISE_README_INSERT.md → exercises/bracket-push/README.md} +12 -0
  50. data/tracks/ceylon/exercises/hamming/README.md +58 -0
  51. data/tracks/ceylon/exercises/largest-series-product/README.md +36 -0
  52. data/tracks/ceylon/exercises/leap/README.md +49 -0
  53. data/tracks/ceylon/exercises/react/README.md +35 -0
  54. data/tracks/ceylon/exercises/sieve/README.md +50 -0
  55. data/tracks/{java/exercises/acronym/.meta/readme.go.tmpl → delphi/config/exercise_readme.go.tmpl} +0 -1
  56. data/tracks/delphi/exercises/allergies/README.md +58 -0
  57. data/tracks/delphi/exercises/bank-account/README.md +51 -0
  58. data/tracks/delphi/exercises/beer-song/README.md +348 -0
  59. data/tracks/delphi/exercises/binary-search/README.md +62 -0
  60. data/tracks/delphi/exercises/bob/README.md +39 -0
  61. data/tracks/delphi/exercises/book-store/README.md +95 -0
  62. data/tracks/delphi/exercises/bowling/README.md +74 -0
  63. data/tracks/delphi/exercises/circular-buffer/README.md +71 -0
  64. data/tracks/delphi/exercises/clock/README.md +34 -0
  65. data/tracks/delphi/exercises/collatz-conjecture/README.md +54 -0
  66. data/tracks/delphi/exercises/etl/README.md +72 -0
  67. data/tracks/delphi/exercises/grains/README.md +55 -0
  68. data/tracks/delphi/exercises/hamming/README.md +63 -0
  69. data/tracks/delphi/exercises/hello-world/README.md +42 -0
  70. data/tracks/delphi/exercises/leap/README.md +54 -0
  71. data/tracks/delphi/exercises/minesweeper/README.md +51 -0
  72. data/tracks/delphi/exercises/nucleotide-count/README.md +54 -0
  73. data/tracks/delphi/exercises/perfect-numbers/README.md +45 -0
  74. data/tracks/delphi/exercises/phone-number/README.md +55 -0
  75. data/tracks/delphi/exercises/poker/README.md +33 -0
  76. data/tracks/delphi/exercises/raindrops/README.md +45 -0
  77. data/tracks/delphi/exercises/rna-transcription/README.md +46 -0
  78. data/tracks/delphi/exercises/roman-numerals/README.md +70 -0
  79. data/tracks/delphi/exercises/saddle-points/README.md +54 -0
  80. data/tracks/delphi/exercises/triangle/README.md +47 -0
  81. data/tracks/delphi/exercises/two-fer/README.md +69 -0
  82. data/tracks/delphi/exercises/wordy/README.md +84 -0
  83. data/tracks/{java/exercises/all-your-base/.meta/readme.go.tmpl → factor/config/exercise_readme.go.tmpl} +0 -1
  84. data/tracks/factor/exercises/hello-world/README.md +34 -0
  85. data/tracks/factor/exercises/isogram/README.md +32 -0
  86. data/tracks/factor/exercises/leap/README.md +46 -0
  87. data/tracks/factor/exercises/two-fer/README.md +61 -0
  88. data/tracks/haskell/config/exercise_readme.go.tmpl +16 -0
  89. data/tracks/haskell/exercises/accumulate/README.md +89 -0
  90. data/tracks/haskell/exercises/acronym/README.md +69 -0
  91. data/tracks/haskell/exercises/all-your-base/README.md +89 -0
  92. data/tracks/haskell/exercises/allergies/README.md +104 -0
  93. data/tracks/haskell/exercises/alphametics/README.md +96 -0
  94. data/tracks/haskell/exercises/anagram/README.md +91 -0
  95. data/tracks/haskell/exercises/atbash-cipher/README.md +88 -0
  96. data/tracks/haskell/exercises/bank-account/README.md +102 -0
  97. data/tracks/haskell/exercises/beer-song/README.md +401 -0
  98. data/tracks/haskell/exercises/binary/README.md +89 -0
  99. data/tracks/haskell/exercises/binary-search-tree/README.md +133 -0
  100. data/tracks/haskell/exercises/bob/README.md +72 -0
  101. data/tracks/haskell/exercises/bowling/README.md +128 -0
  102. data/tracks/haskell/exercises/bracket-push/README.md +64 -0
  103. data/tracks/haskell/exercises/change/README.md +77 -0
  104. data/tracks/haskell/exercises/clock/README.md +86 -0
  105. data/tracks/haskell/exercises/connect/README.md +88 -0
  106. data/tracks/haskell/exercises/crypto-square/README.md +128 -0
  107. data/tracks/haskell/exercises/custom-set/README.md +94 -0
  108. data/tracks/haskell/exercises/difference-of-squares/README.md +73 -0
  109. data/tracks/haskell/exercises/dominoes/README.md +72 -0
  110. data/tracks/haskell/exercises/etl/README.md +105 -0
  111. data/tracks/haskell/exercises/food-chain/README.md +145 -0
  112. data/tracks/haskell/exercises/forth/README.md +98 -0
  113. data/tracks/haskell/exercises/gigasecond/README.md +65 -0
  114. data/tracks/haskell/exercises/go-counting/README.md +109 -0
  115. data/tracks/haskell/exercises/grade-school/README.md +111 -0
  116. data/tracks/haskell/exercises/grains/README.md +88 -0
  117. data/tracks/haskell/exercises/hamming/README.md +96 -0
  118. data/tracks/haskell/exercises/hello-world/README.md +83 -0
  119. data/tracks/haskell/exercises/hexadecimal/README.md +68 -0
  120. data/tracks/haskell/exercises/house/README.md +187 -0
  121. data/tracks/haskell/exercises/kindergarten-garden/README.md +120 -0
  122. data/tracks/haskell/exercises/largest-series-product/README.md +74 -0
  123. data/tracks/haskell/exercises/leap/README.md +100 -0
  124. data/tracks/haskell/exercises/lens-person/README.md +66 -0
  125. data/tracks/haskell/exercises/linked-list/README.md +104 -0
  126. data/tracks/haskell/exercises/list-ops/README.md +64 -0
  127. data/tracks/haskell/exercises/luhn/README.md +125 -0
  128. data/tracks/haskell/exercises/matrix/README.md +125 -0
  129. data/tracks/haskell/exercises/meetup/README.md +92 -0
  130. data/tracks/haskell/exercises/minesweeper/README.md +84 -0
  131. data/tracks/haskell/exercises/nth-prime/README.md +69 -0
  132. data/tracks/haskell/exercises/nucleotide-count/README.md +87 -0
  133. data/tracks/haskell/exercises/ocr-numbers/README.md +139 -0
  134. data/tracks/haskell/exercises/octal/README.md +115 -0
  135. data/tracks/haskell/exercises/palindrome-products/README.md +115 -0
  136. data/tracks/haskell/exercises/pangram/README.md +69 -0
  137. data/tracks/haskell/exercises/parallel-letter-frequency/README.md +76 -0
  138. data/tracks/haskell/exercises/pascals-triangle/README.md +75 -0
  139. data/tracks/haskell/exercises/phone-number/README.md +88 -0
  140. data/tracks/haskell/exercises/pig-latin/README.md +78 -0
  141. data/tracks/haskell/exercises/pov/README.md +100 -0
  142. data/tracks/haskell/exercises/prime-factors/README.md +90 -0
  143. data/tracks/haskell/exercises/pythagorean-triplet/README.md +78 -0
  144. data/tracks/haskell/exercises/queen-attack/README.md +105 -0
  145. data/tracks/haskell/exercises/raindrops/README.md +78 -0
  146. data/tracks/haskell/exercises/rna-transcription/README.md +79 -0
  147. data/tracks/haskell/exercises/robot-name/README.md +90 -0
  148. data/tracks/haskell/exercises/robot-simulator/README.md +105 -0
  149. data/tracks/haskell/exercises/roman-numerals/README.md +112 -0
  150. data/tracks/haskell/exercises/run-length-encoding/README.md +84 -0
  151. data/tracks/haskell/exercises/saddle-points/README.md +87 -0
  152. data/tracks/haskell/exercises/say/README.md +123 -0
  153. data/tracks/haskell/exercises/scrabble-score/README.md +98 -0
  154. data/tracks/haskell/exercises/secret-handshake/README.md +89 -0
  155. data/tracks/haskell/exercises/series/README.md +106 -0
  156. data/tracks/haskell/exercises/sgf-parsing/README.md +146 -0
  157. data/tracks/haskell/exercises/sieve/README.md +88 -0
  158. data/tracks/haskell/exercises/simple-cipher/README.md +144 -0
  159. data/tracks/haskell/exercises/simple-linked-list/README.md +101 -0
  160. data/tracks/haskell/exercises/space-age/README.md +94 -0
  161. data/tracks/haskell/exercises/spiral-matrix/README.md +84 -0
  162. data/tracks/haskell/exercises/strain/README.md +94 -0
  163. data/tracks/haskell/exercises/sublist/README.md +80 -0
  164. data/tracks/haskell/exercises/sum-of-multiples/README.md +72 -0
  165. data/tracks/haskell/exercises/triangle/README.md +80 -0
  166. data/tracks/haskell/exercises/trinary/README.md +96 -0
  167. data/tracks/haskell/exercises/word-count/README.md +96 -0
  168. data/tracks/haskell/exercises/wordy/README.md +122 -0
  169. data/tracks/haskell/exercises/zebra-puzzle/README.md +86 -0
  170. data/tracks/haskell/exercises/zipper/README.md +85 -0
  171. data/tracks/java/config/exercise_readme.go.tmpl +16 -0
  172. data/tracks/java/exercises/accumulate/README.md +0 -1
  173. data/tracks/java/exercises/acronym/README.md +0 -1
  174. data/tracks/java/exercises/all-your-base/README.md +0 -1
  175. data/tracks/java/exercises/allergies/README.md +0 -1
  176. data/tracks/java/exercises/anagram/README.md +0 -1
  177. data/tracks/java/exercises/atbash-cipher/README.md +0 -1
  178. data/tracks/java/exercises/bank-account/README.md +0 -1
  179. data/tracks/java/exercises/beer-song/README.md +0 -1
  180. data/tracks/java/exercises/binary/README.md +0 -1
  181. data/tracks/java/exercises/binary-search/README.md +0 -1
  182. data/tracks/java/exercises/binary-search-tree/README.md +0 -1
  183. data/tracks/java/exercises/bob/README.md +0 -1
  184. data/tracks/java/exercises/book-store/README.md +0 -1
  185. data/tracks/java/exercises/bowling/README.md +0 -1
  186. data/tracks/java/exercises/bracket-push/README.md +0 -1
  187. data/tracks/java/exercises/change/README.md +0 -1
  188. data/tracks/java/exercises/circular-buffer/README.md +0 -1
  189. data/tracks/java/exercises/clock/README.md +0 -1
  190. data/tracks/java/exercises/collatz-conjecture/README.md +0 -1
  191. data/tracks/java/exercises/complex-numbers/README.md +0 -1
  192. data/tracks/java/exercises/crypto-square/README.md +0 -1
  193. data/tracks/java/exercises/custom-set/README.md +0 -1
  194. data/tracks/java/exercises/diamond/README.md +0 -1
  195. data/tracks/java/exercises/difference-of-squares/README.md +0 -1
  196. data/tracks/java/exercises/etl/README.md +0 -1
  197. data/tracks/java/exercises/flatten-array/README.md +0 -1
  198. data/tracks/java/exercises/food-chain/README.md +0 -1
  199. data/tracks/java/exercises/gigasecond/README.md +0 -1
  200. data/tracks/java/exercises/grade-school/README.md +0 -1
  201. data/tracks/java/exercises/hamming/README.md +0 -1
  202. data/tracks/java/exercises/hello-world/README.md +0 -1
  203. data/tracks/java/exercises/hexadecimal/README.md +0 -1
  204. data/tracks/java/exercises/isogram/README.md +0 -1
  205. data/tracks/java/exercises/kindergarten-garden/README.md +0 -1
  206. data/tracks/java/exercises/largest-series-product/README.md +0 -1
  207. data/tracks/java/exercises/linked-list/README.md +0 -1
  208. data/tracks/java/exercises/list-ops/README.md +0 -1
  209. data/tracks/java/exercises/luhn/README.md +0 -1
  210. data/tracks/java/exercises/matrix/README.md +0 -1
  211. data/tracks/java/exercises/meetup/README.md +0 -1
  212. data/tracks/java/exercises/minesweeper/README.md +0 -1
  213. data/tracks/java/exercises/nth-prime/README.md +0 -1
  214. data/tracks/java/exercises/nucleotide-count/README.md +0 -1
  215. data/tracks/java/exercises/ocr-numbers/README.md +0 -1
  216. data/tracks/java/exercises/octal/README.md +0 -1
  217. data/tracks/java/exercises/palindrome-products/README.md +0 -1
  218. data/tracks/java/exercises/pangram/README.md +0 -1
  219. data/tracks/java/exercises/pascals-triangle/README.md +0 -1
  220. data/tracks/java/exercises/perfect-numbers/README.md +0 -1
  221. data/tracks/java/exercises/phone-number/README.md +0 -1
  222. data/tracks/java/exercises/pig-latin/README.md +0 -1
  223. data/tracks/java/exercises/poker/README.md +0 -1
  224. data/tracks/java/exercises/prime-factors/README.md +0 -1
  225. data/tracks/java/exercises/pythagorean-triplet/README.md +0 -1
  226. data/tracks/java/exercises/queen-attack/README.md +0 -1
  227. data/tracks/java/exercises/raindrops/README.md +0 -1
  228. data/tracks/java/exercises/rectangles/README.md +0 -1
  229. data/tracks/java/exercises/rna-transcription/README.md +0 -1
  230. data/tracks/java/exercises/robot-name/README.md +0 -1
  231. data/tracks/java/exercises/robot-simulator/README.md +0 -1
  232. data/tracks/java/exercises/roman-numerals/README.md +0 -1
  233. data/tracks/java/exercises/rotational-cipher/README.md +47 -0
  234. data/tracks/java/exercises/run-length-encoding/README.md +0 -1
  235. data/tracks/java/exercises/saddle-points/README.md +0 -1
  236. data/tracks/java/exercises/scrabble-score/README.md +0 -1
  237. data/tracks/java/exercises/secret-handshake/README.md +0 -1
  238. data/tracks/java/exercises/series/README.md +0 -1
  239. data/tracks/java/exercises/sieve/README.md +0 -1
  240. data/tracks/java/exercises/simple-cipher/README.md +0 -1
  241. data/tracks/java/exercises/simple-linked-list/README.md +0 -1
  242. data/tracks/java/exercises/space-age/README.md +0 -1
  243. data/tracks/java/exercises/spiral-matrix/README.md +0 -1
  244. data/tracks/java/exercises/strain/README.md +0 -1
  245. data/tracks/java/exercises/sublist/README.md +0 -1
  246. data/tracks/java/exercises/sum-of-multiples/README.md +0 -1
  247. data/tracks/java/exercises/transpose/README.md +0 -1
  248. data/tracks/java/exercises/triangle/README.md +0 -1
  249. data/tracks/java/exercises/trinary/README.md +0 -1
  250. data/tracks/java/exercises/twelve-days/README.md +0 -1
  251. data/tracks/java/exercises/two-fer/README.md +0 -1
  252. data/tracks/java/exercises/word-count/README.md +0 -1
  253. data/tracks/java/exercises/word-search/README.md +0 -1
  254. data/tracks/java/exercises/wordy/README.md +0 -1
  255. data/tracks/javascript/config/exercise_readme.go.tmpl +16 -0
  256. data/tracks/javascript/exercises/accumulate/README.md +59 -0
  257. data/tracks/javascript/exercises/acronym/README.md +39 -0
  258. data/tracks/javascript/exercises/all-your-base/README.md +59 -0
  259. data/tracks/javascript/exercises/allergies/README.md +61 -0
  260. data/tracks/javascript/exercises/alphametics/README.md +59 -0
  261. data/tracks/javascript/exercises/anagram/README.md +37 -0
  262. data/tracks/javascript/exercises/atbash-cipher/README.md +58 -0
  263. data/tracks/javascript/exercises/beer-song/README.md +351 -0
  264. data/tracks/javascript/exercises/binary/README.md +59 -0
  265. data/tracks/javascript/exercises/binary-search/README.md +65 -0
  266. data/tracks/javascript/exercises/binary-search-tree/README.md +84 -0
  267. data/tracks/javascript/exercises/bob/README.md +42 -0
  268. data/tracks/javascript/exercises/bowling/README.md +77 -0
  269. data/tracks/javascript/exercises/bracket-push/README.md +34 -0
  270. data/tracks/javascript/exercises/circular-buffer/README.md +74 -0
  271. data/tracks/javascript/exercises/clock/README.md +37 -0
  272. data/tracks/javascript/exercises/crypto-square/README.md +98 -0
  273. data/tracks/javascript/exercises/custom-set/README.md +35 -0
  274. data/tracks/javascript/exercises/diamond/README.md +83 -0
  275. data/tracks/javascript/exercises/difference-of-squares/README.md +43 -0
  276. data/tracks/javascript/exercises/etl/README.md +75 -0
  277. data/tracks/javascript/exercises/flatten-array/README.md +42 -0
  278. data/tracks/javascript/exercises/food-chain/README.md +94 -0
  279. data/tracks/javascript/exercises/gigasecond/README.md +35 -0
  280. data/tracks/javascript/exercises/grade-school/README.md +66 -0
  281. data/tracks/javascript/exercises/grains/README.md +58 -0
  282. data/tracks/javascript/exercises/hamming/README.md +66 -0
  283. data/tracks/javascript/exercises/hello-world/README.md +132 -0
  284. data/tracks/javascript/exercises/hexadecimal/README.md +38 -0
  285. data/tracks/javascript/exercises/isogram/README.md +43 -0
  286. data/tracks/javascript/exercises/kindergarten-garden/README.md +90 -0
  287. data/tracks/javascript/exercises/largest-series-product/README.md +44 -0
  288. data/tracks/javascript/exercises/leap/README.md +57 -0
  289. data/tracks/javascript/exercises/linked-list/README.md +58 -0
  290. data/tracks/javascript/exercises/list-ops/README.md +34 -0
  291. data/tracks/javascript/exercises/luhn/README.md +95 -0
  292. data/tracks/javascript/exercises/matrix/README.md +69 -0
  293. data/tracks/javascript/exercises/meetup/README.md +54 -0
  294. data/tracks/javascript/exercises/minesweeper/README.md +54 -0
  295. data/tracks/javascript/exercises/nth-prime/README.md +39 -0
  296. data/tracks/javascript/exercises/nucleotide-count/README.md +57 -0
  297. data/tracks/javascript/exercises/ocr-numbers/README.md +109 -0
  298. data/tracks/javascript/exercises/octal/README.md +73 -0
  299. data/tracks/javascript/exercises/palindrome-products/README.md +64 -0
  300. data/tracks/javascript/exercises/pangram/README.md +39 -0
  301. data/tracks/javascript/exercises/pascals-triangle/README.md +45 -0
  302. data/tracks/javascript/exercises/perfect-numbers/README.md +48 -0
  303. data/tracks/javascript/exercises/phone-number/README.md +58 -0
  304. data/tracks/javascript/exercises/pig-latin/README.md +48 -0
  305. data/tracks/javascript/exercises/point-mutations/README.md +65 -0
  306. data/tracks/javascript/exercises/prime-factors/README.md +60 -0
  307. data/tracks/javascript/exercises/proverb/README.md +42 -0
  308. data/tracks/javascript/exercises/pythagorean-triplet/README.md +48 -0
  309. data/tracks/javascript/exercises/queen-attack/README.md +57 -0
  310. data/tracks/javascript/exercises/raindrops/README.md +48 -0
  311. data/tracks/javascript/exercises/rna-transcription/README.md +49 -0
  312. data/tracks/javascript/exercises/robot-name/README.md +46 -0
  313. data/tracks/javascript/exercises/robot-simulator/README.md +58 -0
  314. data/tracks/javascript/exercises/roman-numerals/README.md +73 -0
  315. data/tracks/javascript/exercises/run-length-encoding/README.md +54 -0
  316. data/tracks/javascript/exercises/saddle-points/README.md +57 -0
  317. data/tracks/javascript/exercises/say/README.md +93 -0
  318. data/tracks/javascript/exercises/scrabble-score/README.md +68 -0
  319. data/tracks/javascript/exercises/secret-handshake/README.md +59 -0
  320. data/tracks/javascript/exercises/series/README.md +51 -0
  321. data/tracks/javascript/exercises/sieve/README.md +58 -0
  322. data/tracks/javascript/exercises/simple-cipher/README.md +114 -0
  323. data/tracks/javascript/exercises/simple-linked-list/README.md +52 -0
  324. data/tracks/javascript/exercises/space-age/README.md +48 -0
  325. data/tracks/javascript/exercises/strain/README.md +64 -0
  326. data/tracks/javascript/exercises/sum-of-multiples/README.md +42 -0
  327. data/tracks/javascript/exercises/triangle/README.md +50 -0
  328. data/tracks/javascript/exercises/trinary/README.md +52 -0
  329. data/tracks/javascript/exercises/two-bucket/README.md +60 -0
  330. data/tracks/javascript/exercises/word-count/README.md +43 -0
  331. data/tracks/javascript/exercises/wordy/README.md +87 -0
  332. data/tracks/lua/config/exercise_readme.go.tmpl +16 -0
  333. data/tracks/lua/exercises/acronym/README.md +25 -0
  334. data/tracks/lua/exercises/all-your-base/README.md +45 -0
  335. data/tracks/lua/exercises/allergies/README.md +47 -0
  336. data/tracks/lua/exercises/alphametics/README.md +45 -0
  337. data/tracks/lua/exercises/anagram/README.md +23 -0
  338. data/tracks/lua/exercises/atbash-cipher/README.md +44 -0
  339. data/tracks/lua/exercises/bank-account/README.md +40 -0
  340. data/tracks/lua/exercises/beer-song/README.md +337 -0
  341. data/tracks/lua/exercises/binary/README.md +45 -0
  342. data/tracks/lua/exercises/binary-search/README.md +51 -0
  343. data/tracks/lua/exercises/binary-search-tree/README.md +70 -0
  344. data/tracks/lua/exercises/bob/README.md +28 -0
  345. data/tracks/lua/exercises/bowling/README.md +63 -0
  346. data/tracks/lua/exercises/bracket-push/README.md +20 -0
  347. data/tracks/lua/exercises/change/README.md +33 -0
  348. data/tracks/lua/exercises/circular-buffer/README.md +60 -0
  349. data/tracks/lua/exercises/clock/README.md +23 -0
  350. data/tracks/lua/exercises/crypto-square/README.md +84 -0
  351. data/tracks/lua/exercises/custom-set/README.md +21 -0
  352. data/tracks/lua/exercises/diamond/README.md +69 -0
  353. data/tracks/lua/exercises/difference-of-squares/README.md +29 -0
  354. data/tracks/lua/exercises/etl/README.md +61 -0
  355. data/tracks/lua/exercises/flatten-array/README.md +28 -0
  356. data/tracks/lua/exercises/food-chain/README.md +80 -0
  357. data/tracks/lua/exercises/gigasecond/README.md +21 -0
  358. data/tracks/lua/exercises/grade-school/README.md +52 -0
  359. data/tracks/lua/exercises/grains/README.md +44 -0
  360. data/tracks/lua/exercises/hamming/README.md +52 -0
  361. data/tracks/lua/exercises/hello-world/README.md +31 -0
  362. data/tracks/lua/exercises/house/README.md +123 -0
  363. data/tracks/lua/exercises/isogram/README.md +29 -0
  364. data/tracks/lua/exercises/kindergarten-garden/README.md +76 -0
  365. data/tracks/lua/exercises/largest-series-product/README.md +30 -0
  366. data/tracks/lua/exercises/leap/README.md +43 -0
  367. data/tracks/lua/exercises/linked-list/README.md +44 -0
  368. data/tracks/lua/exercises/list-ops/README.md +20 -0
  369. data/tracks/lua/exercises/luhn/README.md +81 -0
  370. data/tracks/lua/exercises/matrix/README.md +55 -0
  371. data/tracks/lua/exercises/meetup/README.md +40 -0
  372. data/tracks/lua/exercises/minesweeper/README.md +40 -0
  373. data/tracks/lua/exercises/nth-prime/README.md +25 -0
  374. data/tracks/lua/exercises/nucleotide-count/README.md +43 -0
  375. data/tracks/lua/exercises/ocr-numbers/README.md +95 -0
  376. data/tracks/lua/exercises/octal/README.md +59 -0
  377. data/tracks/lua/exercises/pangram/README.md +25 -0
  378. data/tracks/lua/exercises/pascals-triangle/README.md +31 -0
  379. data/tracks/lua/exercises/perfect-numbers/README.md +34 -0
  380. data/tracks/lua/exercises/phone-number/README.md +44 -0
  381. data/tracks/lua/exercises/pig-latin/README.md +34 -0
  382. data/tracks/lua/exercises/pov/README.md +56 -0
  383. data/tracks/lua/exercises/prime-factors/README.md +46 -0
  384. data/tracks/lua/exercises/protein-translation/README.md +59 -0
  385. data/tracks/lua/exercises/pythagorean-triplet/README.md +34 -0
  386. data/tracks/lua/exercises/rail-fence-cipher/README.md +70 -0
  387. data/tracks/lua/exercises/raindrops/README.md +34 -0
  388. data/tracks/lua/exercises/rectangles/README.md +77 -0
  389. data/tracks/lua/exercises/rna-transcription/README.md +35 -0
  390. data/tracks/lua/exercises/robot-name/README.md +32 -0
  391. data/tracks/lua/exercises/robot-simulator/README.md +44 -0
  392. data/tracks/lua/exercises/roman-numerals/README.md +59 -0
  393. data/tracks/lua/exercises/run-length-encoding/README.md +40 -0
  394. data/tracks/lua/exercises/say/README.md +79 -0
  395. data/tracks/lua/exercises/scrabble-score/README.md +54 -0
  396. data/tracks/lua/exercises/secret-handshake/README.md +45 -0
  397. data/tracks/lua/exercises/series/README.md +37 -0
  398. data/tracks/lua/exercises/sieve/README.md +44 -0
  399. data/tracks/lua/exercises/space-age/README.md +34 -0
  400. data/tracks/lua/exercises/sublist/README.md +31 -0
  401. data/tracks/lua/exercises/sum-of-multiples/README.md +28 -0
  402. data/tracks/lua/exercises/tournament/README.md +78 -0
  403. data/tracks/lua/exercises/transpose/README.md +75 -0
  404. data/tracks/lua/exercises/triangle/README.md +36 -0
  405. data/tracks/lua/exercises/variable-length-quantity/README.md +49 -0
  406. data/tracks/lua/exercises/word-count/README.md +29 -0
  407. data/tracks/lua/exercises/word-search/README.md +40 -0
  408. data/tracks/mips/config/exercise_readme.go.tmpl +16 -0
  409. data/tracks/mips/exercises/atbash-cipher/README.md +34 -0
  410. data/tracks/mips/exercises/binary/README.md +35 -0
  411. data/tracks/mips/exercises/difference-of-squares/README.md +19 -0
  412. data/tracks/mips/exercises/hamming/README.md +42 -0
  413. data/tracks/mips/exercises/hexadecimal/README.md +14 -0
  414. data/tracks/mips/exercises/isogram/README.md +19 -0
  415. data/tracks/mips/exercises/leap/README.md +33 -0
  416. data/tracks/mips/exercises/nth-prime/README.md +15 -0
  417. data/tracks/mips/exercises/octal/README.md +49 -0
  418. data/tracks/mips/exercises/raindrops/README.md +24 -0
  419. data/tracks/mips/exercises/rna-transcription/README.md +25 -0
  420. data/tracks/mips/exercises/scrabble-score/README.md +44 -0
  421. data/tracks/mips/exercises/triangle/README.md +26 -0
  422. data/tracks/mips/exercises/trinary/README.md +28 -0
  423. data/tracks/purescript/config/exercise_readme.go.tmpl +16 -0
  424. data/tracks/purescript/exercises/accumulate/README.md +35 -0
  425. data/tracks/purescript/exercises/acronym/README.md +15 -0
  426. data/tracks/purescript/exercises/all-your-base/README.md +35 -0
  427. data/tracks/purescript/exercises/allergies/README.md +37 -0
  428. data/tracks/purescript/exercises/atbash-cipher/README.md +34 -0
  429. data/tracks/purescript/exercises/binary-search/README.md +41 -0
  430. data/tracks/purescript/exercises/bob/README.md +18 -0
  431. data/tracks/purescript/exercises/bracket-push/README.md +10 -0
  432. data/tracks/purescript/exercises/crypto-square/README.md +74 -0
  433. data/tracks/purescript/exercises/diamond/README.md +59 -0
  434. data/tracks/purescript/exercises/difference-of-squares/README.md +19 -0
  435. data/tracks/purescript/exercises/etl/README.md +51 -0
  436. data/tracks/purescript/exercises/hamming/README.md +42 -0
  437. data/tracks/purescript/exercises/hello-world/README.md +21 -0
  438. data/tracks/purescript/exercises/isogram/README.md +19 -0
  439. data/tracks/purescript/exercises/largest-series-product/README.md +20 -0
  440. data/tracks/purescript/exercises/leap/README.md +33 -0
  441. data/tracks/purescript/exercises/meetup/README.md +30 -0
  442. data/tracks/purescript/exercises/pangram/README.md +15 -0
  443. data/tracks/purescript/exercises/pascals-triangle/README.md +21 -0
  444. data/tracks/purescript/exercises/raindrops/README.md +24 -0
  445. data/tracks/purescript/exercises/scrabble-score/README.md +44 -0
  446. data/tracks/purescript/exercises/triangle/README.md +26 -0
  447. data/tracks/purescript/exercises/word-count/README.md +19 -0
  448. data/tracks/r/config/exercise_readme.go.tmpl +16 -0
  449. data/tracks/r/exercises/anagram/README.md +23 -0
  450. data/tracks/r/exercises/beer-song/README.md +337 -0
  451. data/tracks/r/exercises/bob/README.md +28 -0
  452. data/tracks/r/exercises/difference-of-squares/README.md +29 -0
  453. data/tracks/r/exercises/grains/README.md +44 -0
  454. data/tracks/r/exercises/hamming/README.md +52 -0
  455. data/tracks/r/exercises/hello-world/README.md +31 -0
  456. data/tracks/r/exercises/isogram/README.md +29 -0
  457. data/tracks/r/exercises/largest-series-product/README.md +30 -0
  458. data/tracks/r/exercises/leap/README.md +43 -0
  459. data/tracks/r/exercises/luhn/README.md +81 -0
  460. data/tracks/r/exercises/pascals-triangle/README.md +31 -0
  461. data/tracks/r/exercises/perfect-numbers/README.md +34 -0
  462. data/tracks/r/exercises/phone-number/README.md +44 -0
  463. data/tracks/r/exercises/prime-factors/README.md +46 -0
  464. data/tracks/r/exercises/raindrops/README.md +34 -0
  465. data/tracks/r/exercises/rna-transcription/README.md +35 -0
  466. data/tracks/r/exercises/rotational-cipher/README.md +46 -0
  467. data/tracks/r/exercises/scrabble-score/README.md +54 -0
  468. data/tracks/r/exercises/secret-handshake/README.md +45 -0
  469. data/tracks/r/exercises/sieve/README.md +44 -0
  470. data/tracks/r/exercises/space-age/README.md +34 -0
  471. data/tracks/r/exercises/sum-of-multiples/README.md +28 -0
  472. data/tracks/r/exercises/tournament/README.md +78 -0
  473. data/tracks/r/exercises/word-count/README.md +29 -0
  474. data/tracks/rust/{docs/EXERCISE_README_INSERT.md → config/exercise-readme-insert.md} +1 -1
  475. data/tracks/rust/config/exercise_readme.go.tmpl +16 -0
  476. data/tracks/rust/exercises/acronym/README.md +47 -0
  477. data/tracks/rust/exercises/all-your-base/README.md +67 -0
  478. data/tracks/rust/exercises/allergies/README.md +69 -0
  479. data/tracks/rust/exercises/alphametics/README.md +67 -0
  480. data/tracks/rust/exercises/anagram/README.md +45 -0
  481. data/tracks/rust/exercises/atbash-cipher/README.md +66 -0
  482. data/tracks/rust/exercises/beer-song/README.md +359 -0
  483. data/tracks/rust/exercises/bob/README.md +50 -0
  484. data/tracks/rust/exercises/bowling/README.md +85 -0
  485. data/tracks/rust/exercises/bracket-push/README.md +50 -0
  486. data/tracks/rust/exercises/circular-buffer/README.md +82 -0
  487. data/tracks/rust/exercises/custom-set/README.md +43 -0
  488. data/tracks/rust/exercises/difference-of-squares/README.md +51 -0
  489. data/tracks/rust/exercises/dominoes/README.md +50 -0
  490. data/tracks/rust/exercises/etl/README.md +83 -0
  491. data/tracks/rust/exercises/forth/README.md +61 -0
  492. data/tracks/rust/exercises/gigasecond/Cargo.lock +3 -3
  493. data/tracks/rust/exercises/gigasecond/Cargo.toml +1 -1
  494. data/tracks/rust/exercises/gigasecond/README.md +43 -0
  495. data/tracks/rust/exercises/gigasecond/example.rs +1 -1
  496. data/tracks/rust/exercises/gigasecond/src/lib.rs +2 -2
  497. data/tracks/rust/exercises/gigasecond/tests/gigasecond.rs +10 -10
  498. data/tracks/rust/exercises/grade-school/README.md +74 -0
  499. data/tracks/rust/exercises/grains/README.md +66 -0
  500. data/tracks/rust/exercises/hamming/README.md +74 -0
  501. data/tracks/rust/exercises/hello-world/README.md +53 -0
  502. data/tracks/rust/exercises/hexadecimal/README.md +46 -0
  503. data/tracks/rust/exercises/largest-series-product/README.md +60 -0
  504. data/tracks/rust/exercises/leap/README.md +65 -0
  505. data/tracks/rust/exercises/luhn/README.md +103 -0
  506. data/tracks/rust/exercises/luhn-from/README.md +49 -0
  507. data/tracks/rust/exercises/luhn-trait/README.md +57 -0
  508. data/tracks/rust/exercises/minesweeper/README.md +62 -0
  509. data/tracks/rust/exercises/nucleotide-codons/README.md +54 -0
  510. data/tracks/rust/exercises/nucleotide-count/README.md +65 -0
  511. data/tracks/rust/exercises/ocr-numbers/README.md +117 -0
  512. data/tracks/rust/exercises/pangram/README.md +47 -0
  513. data/tracks/rust/exercises/parallel-letter-frequency/README.md +77 -0
  514. data/tracks/rust/exercises/pascals-triangle/README.md +53 -0
  515. data/tracks/rust/exercises/phone-number/README.md +66 -0
  516. data/tracks/rust/exercises/protein-translation/README.md +81 -0
  517. data/tracks/rust/exercises/queen-attack/README.md +65 -0
  518. data/tracks/rust/exercises/raindrops/README.md +56 -0
  519. data/tracks/rust/exercises/react/README.md +51 -0
  520. data/tracks/rust/exercises/rectangles/README.md +99 -0
  521. data/tracks/rust/exercises/rna-transcription/README.md +57 -0
  522. data/tracks/rust/exercises/robot-name/README.md +54 -0
  523. data/tracks/rust/exercises/robot-simulator/README.md +66 -0
  524. data/tracks/rust/exercises/roman-numerals/README.md +81 -0
  525. data/tracks/rust/exercises/rotational-cipher/README.md +68 -0
  526. data/tracks/rust/exercises/run-length-encoding/README.md +62 -0
  527. data/tracks/rust/exercises/scrabble-score/README.md +76 -0
  528. data/tracks/rust/exercises/sieve/README.md +66 -0
  529. data/tracks/rust/exercises/space-age/README.md +64 -0
  530. data/tracks/rust/exercises/sublist/README.md +53 -0
  531. data/tracks/rust/exercises/sum-of-multiples/README.md +50 -0
  532. data/tracks/rust/exercises/tournament/README.md +100 -0
  533. data/tracks/rust/exercises/triangle/README.md +71 -0
  534. data/tracks/rust/exercises/variable-length-quantity/README.md +71 -0
  535. data/tracks/rust/exercises/word-count/README.md +51 -0
  536. data/tracks/rust/exercises/wordy/README.md +95 -0
  537. data/tracks/vimscript/config/exercise_readme.go.tmpl +16 -0
  538. data/tracks/vimscript/exercises/allergies/README.md +46 -0
  539. data/tracks/vimscript/exercises/anagram/README.md +22 -0
  540. data/tracks/vimscript/exercises/atbash-cipher/README.md +43 -0
  541. data/tracks/vimscript/exercises/beer-song/README.md +336 -0
  542. data/tracks/vimscript/exercises/bob/README.md +27 -0
  543. data/tracks/vimscript/exercises/difference-of-squares/README.md +28 -0
  544. data/tracks/vimscript/exercises/etl/README.md +60 -0
  545. data/tracks/vimscript/exercises/hamming/README.md +51 -0
  546. data/tracks/vimscript/exercises/hello-world/README.md +30 -0
  547. data/tracks/vimscript/exercises/largest-series-product/README.md +29 -0
  548. data/tracks/vimscript/exercises/leap/README.md +42 -0
  549. data/tracks/vimscript/exercises/nucleotide-count/README.md +42 -0
  550. data/tracks/vimscript/exercises/pangram/README.md +24 -0
  551. data/tracks/vimscript/exercises/phone-number/README.md +43 -0
  552. data/tracks/vimscript/exercises/raindrops/README.md +33 -0
  553. data/tracks/vimscript/exercises/rna-transcription/README.md +34 -0
  554. data/tracks/vimscript/exercises/roman-numerals/README.md +58 -0
  555. data/tracks/vimscript/exercises/scrabble-score/README.md +53 -0
  556. data/tracks/vimscript/exercises/triangle/README.md +35 -0
  557. data/tracks/vimscript/exercises/word-count/README.md +28 -0
  558. metadata +466 -86
  559. data/tracks/java/exercises/anagram/.meta/readme.go.tmpl +0 -17
  560. data/tracks/java/exercises/atbash-cipher/.meta/readme.go.tmpl +0 -17
  561. data/tracks/java/exercises/bank-account/.meta/readme.go.tmpl +0 -17
  562. data/tracks/java/exercises/beer-song/.meta/readme.go.tmpl +0 -17
  563. data/tracks/java/exercises/binary/.meta/readme.go.tmpl +0 -17
  564. data/tracks/java/exercises/binary-search/.meta/readme.go.tmpl +0 -17
  565. data/tracks/java/exercises/binary-search-tree/.meta/readme.go.tmpl +0 -17
  566. data/tracks/java/exercises/bob/.meta/readme.go.tmpl +0 -17
  567. data/tracks/java/exercises/book-store/.meta/readme.go.tmpl +0 -17
  568. data/tracks/java/exercises/bowling/.meta/readme.go.tmpl +0 -17
  569. data/tracks/java/exercises/bracket-push/.meta/readme.go.tmpl +0 -17
  570. data/tracks/java/exercises/change/.meta/readme.go.tmpl +0 -17
  571. data/tracks/java/exercises/circular-buffer/.meta/readme.go.tmpl +0 -17
  572. data/tracks/java/exercises/clock/.meta/readme.go.tmpl +0 -17
  573. data/tracks/java/exercises/collatz-conjecture/.meta/readme.go.tmpl +0 -17
  574. data/tracks/java/exercises/complex-numbers/.meta/readme.go.tmpl +0 -17
  575. data/tracks/java/exercises/crypto-square/.meta/readme.go.tmpl +0 -17
  576. data/tracks/java/exercises/custom-set/.meta/readme.go.tmpl +0 -17
  577. data/tracks/java/exercises/diamond/.meta/readme.go.tmpl +0 -17
  578. data/tracks/java/exercises/difference-of-squares/.meta/readme.go.tmpl +0 -17
  579. data/tracks/java/exercises/etl/.meta/readme.go.tmpl +0 -17
  580. data/tracks/java/exercises/flatten-array/.meta/readme.go.tmpl +0 -17
  581. data/tracks/java/exercises/food-chain/.meta/readme.go.tmpl +0 -17
  582. data/tracks/java/exercises/gigasecond/.meta/readme.go.tmpl +0 -17
  583. data/tracks/java/exercises/grade-school/.meta/readme.go.tmpl +0 -17
  584. data/tracks/java/exercises/hamming/.meta/readme.go.tmpl +0 -17
  585. data/tracks/java/exercises/hello-world/.meta/readme.go.tmpl +0 -17
  586. data/tracks/java/exercises/hexadecimal/.meta/readme.go.tmpl +0 -17
  587. data/tracks/java/exercises/isogram/.meta/readme.go.tmpl +0 -17
  588. data/tracks/java/exercises/kindergarten-garden/.meta/readme.go.tmpl +0 -17
  589. data/tracks/java/exercises/largest-series-product/.meta/readme.go.tmpl +0 -17
  590. data/tracks/java/exercises/linked-list/.meta/readme.go.tmpl +0 -17
  591. data/tracks/java/exercises/list-ops/.meta/readme.go.tmpl +0 -17
  592. data/tracks/java/exercises/luhn/.meta/readme.go.tmpl +0 -17
  593. data/tracks/java/exercises/matrix/.meta/readme.go.tmpl +0 -17
  594. data/tracks/java/exercises/meetup/.meta/readme.go.tmpl +0 -17
  595. data/tracks/java/exercises/minesweeper/.meta/readme.go.tmpl +0 -17
  596. data/tracks/java/exercises/nth-prime/.meta/readme.go.tmpl +0 -17
  597. data/tracks/java/exercises/nucleotide-count/.meta/readme.go.tmpl +0 -17
  598. data/tracks/java/exercises/ocr-numbers/.meta/readme.go.tmpl +0 -17
  599. data/tracks/java/exercises/octal/.meta/readme.go.tmpl +0 -17
  600. data/tracks/java/exercises/palindrome-products/.meta/readme.go.tmpl +0 -17
  601. data/tracks/java/exercises/pangram/.meta/readme.go.tmpl +0 -17
  602. data/tracks/java/exercises/pascals-triangle/.meta/readme.go.tmpl +0 -17
  603. data/tracks/java/exercises/perfect-numbers/.meta/readme.go.tmpl +0 -17
  604. data/tracks/java/exercises/phone-number/.meta/readme.go.tmpl +0 -17
  605. data/tracks/java/exercises/pig-latin/.meta/readme.go.tmpl +0 -17
  606. data/tracks/java/exercises/poker/.meta/readme.go.tmpl +0 -17
  607. data/tracks/java/exercises/prime-factors/.meta/readme.go.tmpl +0 -17
  608. data/tracks/java/exercises/pythagorean-triplet/.meta/readme.go.tmpl +0 -17
  609. data/tracks/java/exercises/queen-attack/.meta/readme.go.tmpl +0 -17
  610. data/tracks/java/exercises/raindrops/.meta/readme.go.tmpl +0 -17
  611. data/tracks/java/exercises/rectangles/.meta/readme.go.tmpl +0 -17
  612. data/tracks/java/exercises/rna-transcription/.meta/readme.go.tmpl +0 -17
  613. data/tracks/java/exercises/robot-name/.meta/readme.go.tmpl +0 -17
  614. data/tracks/java/exercises/robot-simulator/.meta/readme.go.tmpl +0 -17
  615. data/tracks/java/exercises/roman-numerals/.meta/readme.go.tmpl +0 -17
  616. data/tracks/java/exercises/run-length-encoding/.meta/readme.go.tmpl +0 -17
  617. data/tracks/java/exercises/saddle-points/.meta/readme.go.tmpl +0 -17
  618. data/tracks/java/exercises/scrabble-score/.meta/readme.go.tmpl +0 -17
  619. data/tracks/java/exercises/secret-handshake/.meta/readme.go.tmpl +0 -17
  620. data/tracks/java/exercises/series/.meta/readme.go.tmpl +0 -17
  621. data/tracks/java/exercises/sieve/.meta/readme.go.tmpl +0 -17
  622. data/tracks/java/exercises/simple-cipher/.meta/readme.go.tmpl +0 -17
  623. data/tracks/java/exercises/simple-linked-list/.meta/readme.go.tmpl +0 -17
  624. data/tracks/java/exercises/space-age/.meta/readme.go.tmpl +0 -17
  625. data/tracks/java/exercises/spiral-matrix/.meta/readme.go.tmpl +0 -17
  626. data/tracks/java/exercises/strain/.meta/readme.go.tmpl +0 -17
  627. data/tracks/java/exercises/sublist/.meta/readme.go.tmpl +0 -17
  628. data/tracks/java/exercises/sum-of-multiples/.meta/readme.go.tmpl +0 -17
  629. data/tracks/java/exercises/transpose/.meta/readme.go.tmpl +0 -17
  630. data/tracks/java/exercises/triangle/.meta/readme.go.tmpl +0 -17
  631. data/tracks/java/exercises/trinary/.meta/readme.go.tmpl +0 -17
  632. data/tracks/java/exercises/twelve-days/.meta/readme.go.tmpl +0 -17
  633. data/tracks/java/exercises/two-fer/.meta/readme.go.tmpl +0 -17
  634. data/tracks/java/exercises/word-count/.meta/readme.go.tmpl +0 -17
  635. data/tracks/java/exercises/word-search/.meta/readme.go.tmpl +0 -17
  636. data/tracks/java/exercises/wordy/.meta/readme.go.tmpl +0 -17
@@ -0,0 +1,44 @@
1
+ # Scrabble Score
2
+
3
+ Given a word, compute the scrabble score for that word.
4
+
5
+ ## Letter Values
6
+
7
+ You'll need these:
8
+
9
+ ```plain
10
+ Letter Value
11
+ A, E, I, O, U, L, N, R, S, T 1
12
+ D, G 2
13
+ B, C, M, P 3
14
+ F, H, V, W, Y 4
15
+ K 5
16
+ J, X 8
17
+ Q, Z 10
18
+ ```
19
+
20
+ ## Examples
21
+ "cabbage" should be scored as worth 14 points:
22
+
23
+ - 3 points for C
24
+ - 1 point for A, twice
25
+ - 3 points for B, twice
26
+ - 2 points for G
27
+ - 1 point for E
28
+
29
+ And to total:
30
+
31
+ - `3 + 2*1 + 2*3 + 2 + 1`
32
+ - = `3 + 2 + 6 + 3`
33
+ - = `5 + 9`
34
+ - = 14
35
+
36
+ ## Extensions
37
+ - You can play a double or a triple letter.
38
+ - You can play a double or a triple word.
39
+ ## Source
40
+
41
+ Inspired by the Extreme Startup game [https://github.com/rchatley/extreme_startup](https://github.com/rchatley/extreme_startup)
42
+
43
+ ## Submitting Incomplete Solutions
44
+ It's possible to submit an incomplete solution so you can see how others have completed the exercise.
@@ -0,0 +1,26 @@
1
+ # Triangle
2
+
3
+ Determine if a triangle is equilateral, isosceles, or scalene.
4
+
5
+ An _equilateral_ triangle has all three sides the same length.<br/>
6
+ An _isosceles_ triangle has at least two sides the same length. (It is sometimes
7
+ specified as having exactly two sides the same length, but for the purposes of
8
+ this exercise we'll say at least two.)<br/>
9
+ A _scalene_ triangle has all sides of different lengths.
10
+
11
+ ## Note
12
+
13
+ For a shape to be a triangle at all, all sides have to be of length > 0, and
14
+ the sum of the lengths of any two sides must be greater than or equal to the
15
+ length of the third side. See [Triangle Inequality](https://en.wikipedia.org/wiki/Triangle_inequality).
16
+
17
+ ## Dig Deeper
18
+
19
+ The case where the sum of the lengths of two sides _equals_ that of the
20
+ third is known as a _degenerate_ triangle - it has zero area and looks like
21
+ a single line. Feel free to add your own code/tests to check for degenerate triangles.## Source
22
+
23
+ The Ruby Koans triangle project, parts 1 & 2 [http://rubykoans.com](http://rubykoans.com)
24
+
25
+ ## Submitting Incomplete Solutions
26
+ It's possible to submit an incomplete solution so you can see how others have completed the exercise.
@@ -0,0 +1,28 @@
1
+ # Trinary
2
+
3
+ Convert a trinary number, represented as a string (e.g. '102012'), to its
4
+ decimal equivalent using first principles.
5
+
6
+ The program should consider strings specifying an invalid trinary as the
7
+ value 0.
8
+
9
+ Trinary numbers contain three symbols: 0, 1, and 2.
10
+
11
+ The last place in a trinary number is the 1's place. The second to last
12
+ is the 3's place, the third to last is the 9's place, etc.
13
+
14
+ ```bash
15
+ # "102012"
16
+ 1 0 2 0 1 2 # the number
17
+ 1*3^5 + 0*3^4 + 2*3^3 + 0*3^2 + 1*3^1 + 2*3^0 # the value
18
+ 243 + 0 + 54 + 0 + 3 + 2 = 302
19
+ ```
20
+
21
+ If your language provides a method in the standard library to perform the
22
+ conversion, pretend it doesn't exist and implement it yourself.
23
+ ## Source
24
+
25
+ All of Computer Science [http://www.wolframalpha.com/input/?i=binary&a=*C.binary-_*MathWorld-](http://www.wolframalpha.com/input/?i=binary&a=*C.binary-_*MathWorld-)
26
+
27
+ ## Submitting Incomplete Solutions
28
+ It's possible to submit an incomplete solution so you can see how others have completed the exercise.
@@ -0,0 +1,16 @@
1
+ # {{ .Spec.Name }}
2
+
3
+ {{ .Spec.Description -}}
4
+ {{- with .Hints }}
5
+ {{ . }}
6
+ {{ end }}
7
+ {{- with .TrackInsert }}
8
+ {{ . }}
9
+ {{ end }}
10
+ {{- with .Spec.Credits -}}
11
+ ## Source
12
+
13
+ {{ . }}
14
+ {{ end }}
15
+ ## Submitting Incomplete Solutions
16
+ It's possible to submit an incomplete solution so you can see how others have completed the exercise.
@@ -0,0 +1,35 @@
1
+ # Accumulate
2
+
3
+ Implement the `accumulate` operation, which, given a collection and an
4
+ operation to perform on each element of the collection, returns a new
5
+ collection containing the result of applying that operation to each element of
6
+ the input collection.
7
+
8
+ Given the collection of numbers:
9
+
10
+ - 1, 2, 3, 4, 5
11
+
12
+ And the operation:
13
+
14
+ - square a number (`x => x * x`)
15
+
16
+ Your code should be able to produce the collection of squares:
17
+
18
+ - 1, 4, 9, 16, 25
19
+
20
+ Check out the test suite to see the expected function signature.
21
+
22
+ ## Restrictions
23
+
24
+ Keep your hands off that collect/map/fmap/whatchamacallit functionality
25
+ provided by your standard library!
26
+ Solve this one yourself using other basic tools instead.
27
+
28
+ Lisp specific: it's perfectly fine to use `MAPCAR` or the equivalent,
29
+ as this is idiomatic Lisp, not a library function.
30
+ ## Source
31
+
32
+ Conversation with James Edward Gray II [https://twitter.com/jeg2](https://twitter.com/jeg2)
33
+
34
+ ## Submitting Incomplete Solutions
35
+ It's possible to submit an incomplete solution so you can see how others have completed the exercise.
@@ -0,0 +1,15 @@
1
+ # Acronym
2
+
3
+ Convert a phrase to its acronym.
4
+
5
+ Techies love their TLA (Three Letter Acronyms)!
6
+
7
+ Help generate some jargon by writing a program that converts a long name
8
+ like Portable Network Graphics to its acronym (PNG).
9
+
10
+ ## Source
11
+
12
+ Julien Vanier [https://github.com/monkbroc](https://github.com/monkbroc)
13
+
14
+ ## Submitting Incomplete Solutions
15
+ It's possible to submit an incomplete solution so you can see how others have completed the exercise.
@@ -0,0 +1,35 @@
1
+ # All Your Base
2
+
3
+ Convert a number, represented as a sequence of digits in one base, to any other base.
4
+
5
+ Implement general base conversion. Given a number in base **a**,
6
+ represented as a sequence of digits, convert it to base **b**.
7
+
8
+ ## Note
9
+ - Try to implement the conversion yourself.
10
+ Do not use something else to perform the conversion for you.
11
+
12
+ ## About [Positional Notation](https://en.wikipedia.org/wiki/Positional_notation)
13
+
14
+ In positional notation, a number in base **b** can be understood as a linear
15
+ combination of powers of **b**.
16
+
17
+ The number 42, *in base 10*, means:
18
+
19
+ (4 * 10^1) + (2 * 10^0)
20
+
21
+ The number 101010, *in base 2*, means:
22
+
23
+ (1 * 2^5) + (0 * 2^4) + (1 * 2^3) + (0 * 2^2) + (1 * 2^1) + (0 * 2^0)
24
+
25
+ The number 1120, *in base 3*, means:
26
+
27
+ (1 * 3^3) + (1 * 3^2) + (2 * 3^1) + (0 * 3^0)
28
+
29
+ I think you got the idea!
30
+
31
+
32
+ *Yes. Those three numbers above are exactly the same. Congratulations!*
33
+
34
+ ## Submitting Incomplete Solutions
35
+ It's possible to submit an incomplete solution so you can see how others have completed the exercise.
@@ -0,0 +1,37 @@
1
+ # Allergies
2
+
3
+ Given a person's allergy score, determine whether or not they're allergic to a given item, and their full list of allergies.
4
+
5
+ An allergy test produces a single numeric score which contains the
6
+ information about all the allergies the person has (that they were
7
+ tested for).
8
+
9
+ The list of items (and their value) that were tested are:
10
+
11
+ * eggs (1)
12
+ * peanuts (2)
13
+ * shellfish (4)
14
+ * strawberries (8)
15
+ * tomatoes (16)
16
+ * chocolate (32)
17
+ * pollen (64)
18
+ * cats (128)
19
+
20
+ So if Tom is allergic to peanuts and chocolate, he gets a score of 34.
21
+
22
+ Now, given just that score of 34, your program should be able to say:
23
+
24
+ - Whether Tom is allergic to any one of those allergens listed above.
25
+ - All the allergens Tom is allergic to.
26
+
27
+ Note: a given score may include allergens **not** listed above (i.e.
28
+ allergens that score 256, 512, 1024, etc.). Your program should
29
+ ignore those components of the score. For example, if the allergy
30
+ score is 257, your program should only report the eggs (1) allergy.
31
+
32
+ ## Source
33
+
34
+ Jumpstart Lab Warm-up [http://jumpstartlab.com](http://jumpstartlab.com)
35
+
36
+ ## Submitting Incomplete Solutions
37
+ It's possible to submit an incomplete solution so you can see how others have completed the exercise.
@@ -0,0 +1,34 @@
1
+ # Atbash Cipher
2
+
3
+ Create an implementation of the atbash cipher, an ancient encryption system created in the Middle East.
4
+
5
+ The Atbash cipher is a simple substitution cipher that relies on
6
+ transposing all the letters in the alphabet such that the resulting
7
+ alphabet is backwards. The first letter is replaced with the last
8
+ letter, the second with the second-last, and so on.
9
+
10
+ An Atbash cipher for the Latin alphabet would be as follows:
11
+
12
+ ```plain
13
+ Plain: abcdefghijklmnopqrstuvwxyz
14
+ Cipher: zyxwvutsrqponmlkjihgfedcba
15
+ ```
16
+
17
+ It is a very weak cipher because it only has one possible key, and it is
18
+ a simple monoalphabetic substitution cipher. However, this may not have
19
+ been an issue in the cipher's time.
20
+
21
+ Ciphertext is written out in groups of fixed length, the traditional group size
22
+ being 5 letters, and punctuation is excluded. This is to make it harder to guess
23
+ things based on word boundaries.
24
+
25
+ ## Examples
26
+ - Encoding `test` gives `gvhg`
27
+ - Decoding `gvhg` gives `test`
28
+ - Decoding `gsvjf rxpyi ldmul cqfnk hlevi gsvoz abwlt` gives `thequickbrownfoxjumpsoverthelazydog`
29
+ ## Source
30
+
31
+ Wikipedia [http://en.wikipedia.org/wiki/Atbash](http://en.wikipedia.org/wiki/Atbash)
32
+
33
+ ## Submitting Incomplete Solutions
34
+ It's possible to submit an incomplete solution so you can see how others have completed the exercise.
@@ -0,0 +1,41 @@
1
+ # Binary Search
2
+
3
+ Implement a binary search algorithm.
4
+
5
+ Searching a sorted collection is a common task. A dictionary is a sorted
6
+ list of word definitions. Given a word, one can find its definition. A
7
+ telephone book is a sorted list of people's names, addresses, and
8
+ telephone numbers. Knowing someone's name allows one to quickly find
9
+ their telephone number and address.
10
+
11
+ If the list to be searched contains more than a few items (a dozen, say)
12
+ a binary search will require far fewer comparisons than a linear search,
13
+ but it imposes the requirement that the list be sorted.
14
+
15
+ In computer science, a binary search or half-interval search algorithm
16
+ finds the position of a specified input value (the search "key") within
17
+ an array sorted by key value.
18
+
19
+ In each step, the algorithm compares the search key value with the key
20
+ value of the middle element of the array.
21
+
22
+ If the keys match, then a matching element has been found and its index,
23
+ or position, is returned.
24
+
25
+ Otherwise, if the search key is less than the middle element's key, then
26
+ the algorithm repeats its action on the sub-array to the left of the
27
+ middle element or, if the search key is greater, on the sub-array to the
28
+ right.
29
+
30
+ If the remaining array to be searched is empty, then the key cannot be
31
+ found in the array and a special "not found" indication is returned.
32
+
33
+ A binary search halves the number of items to check with each iteration,
34
+ so locating an item (or determining its absence) takes logarithmic time.
35
+ A binary search is a dichotomic divide and conquer search algorithm.
36
+ ## Source
37
+
38
+ Wikipedia [http://en.wikipedia.org/wiki/Binary_search_algorithm](http://en.wikipedia.org/wiki/Binary_search_algorithm)
39
+
40
+ ## Submitting Incomplete Solutions
41
+ It's possible to submit an incomplete solution so you can see how others have completed the exercise.
@@ -0,0 +1,18 @@
1
+ # Bob
2
+
3
+ Bob is a lackadaisical teenager. In conversation, his responses are very limited.
4
+
5
+ Bob answers 'Sure.' if you ask him a question.
6
+
7
+ He answers 'Whoa, chill out!' if you yell at him.
8
+
9
+ He says 'Fine. Be that way!' if you address him without actually saying
10
+ anything.
11
+
12
+ He answers 'Whatever.' to anything else.
13
+ ## Source
14
+
15
+ Inspired by the 'Deaf Grandma' exercise in Chris Pine's Learn to Program tutorial. [http://pine.fm/LearnToProgram/?Chapter=06](http://pine.fm/LearnToProgram/?Chapter=06)
16
+
17
+ ## Submitting Incomplete Solutions
18
+ It's possible to submit an incomplete solution so you can see how others have completed the exercise.
@@ -0,0 +1,10 @@
1
+ # Bracket Push
2
+
3
+ Given a string containing brackets `[]`, braces `{}` and parentheses `()`,
4
+ verify that all the pairs are matched and nested correctly.
5
+ ## Source
6
+
7
+ Ginna Baker
8
+
9
+ ## Submitting Incomplete Solutions
10
+ It's possible to submit an incomplete solution so you can see how others have completed the exercise.
@@ -0,0 +1,74 @@
1
+ # Crypto Square
2
+
3
+ Implement the classic method for composing secret messages called a square code.
4
+
5
+ Given an English text, output the encoded version of that text.
6
+
7
+ First, the input is normalized: the spaces and punctuation are removed
8
+ from the English text and the message is downcased.
9
+
10
+ Then, the normalized characters are broken into rows. These rows can be
11
+ regarded as forming a rectangle when printed with intervening newlines.
12
+
13
+ For example, the sentence
14
+
15
+ > If man was meant to stay on the ground, god would have given us roots.
16
+
17
+ is normalized to:
18
+
19
+ > ifmanwasmeanttostayonthegroundgodwouldhavegivenusroots
20
+
21
+ The plaintext should be organized in to a rectangle. The size of the
22
+ rectangle (`r x c`) should be decided by the length of the message,
23
+ such that `c >= r` and `c - r <= 1`, where `c` is the number of columns
24
+ and `r` is the number of rows.
25
+
26
+ Our normalized text is 54 characters long, dictating a rectangle with
27
+ `c = 8` and `r = 7`:
28
+
29
+ ```plain
30
+ ifmanwas
31
+ meanttos
32
+ tayonthe
33
+ groundgo
34
+ dwouldha
35
+ vegivenu
36
+ sroots
37
+ ```
38
+
39
+ The coded message is obtained by reading down the columns going left to
40
+ right.
41
+
42
+ The message above is coded as:
43
+
44
+ ```plain
45
+ imtgdvsfearwermayoogoanouuiontnnlvtwttddesaohghnsseoau
46
+ ```
47
+
48
+ Output the encoded text in chunks. Phrases that fill perfect squares
49
+ `(r X r)` should be output in `r`-length chunks separated by spaces.
50
+ Imperfect squares will have `n` empty spaces. Those spaces should be distributed evenly across the last `n` rows.
51
+
52
+ ```plain
53
+ imtgdvs fearwer mayoogo anouuio ntnnlvt wttddes aohghn sseoau
54
+ ```
55
+
56
+ Notice that were we to stack these, we could visually decode the
57
+ cyphertext back in to the original message:
58
+
59
+ ```plain
60
+ imtgdvs
61
+ fearwer
62
+ mayoogo
63
+ anouuio
64
+ ntnnlvt
65
+ wttddes
66
+ aohghn
67
+ sseoau
68
+ ```
69
+ ## Source
70
+
71
+ J Dalbey's Programming Practice problems [http://users.csc.calpoly.edu/~jdalbey/103/Projects/ProgrammingPractice.html](http://users.csc.calpoly.edu/~jdalbey/103/Projects/ProgrammingPractice.html)
72
+
73
+ ## Submitting Incomplete Solutions
74
+ It's possible to submit an incomplete solution so you can see how others have completed the exercise.
@@ -0,0 +1,59 @@
1
+ # Diamond
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
5
+ supplied letter at the widest point.
6
+
7
+ ## Requirements
8
+
9
+ * The first row contains one 'A'.
10
+ * The last row contains one 'A'.
11
+ * All rows, except the first and last, have exactly two identical letters.
12
+ * All rows have as many trailing spaces as leading spaces. (This might be 0).
13
+ * The diamond is horizontally symmetric.
14
+ * The diamond is vertically symmetric.
15
+ * The diamond has a square shape (width equals height).
16
+ * The letters form a diamond shape.
17
+ * The top half has the letters in ascending order.
18
+ * The bottom half has the letters in descending order.
19
+ * The four corners (containing the spaces) are triangles.
20
+
21
+ ## Examples
22
+
23
+ In the following examples, spaces are indicated by `·` characters.
24
+
25
+ Diamond for letter 'A':
26
+
27
+ ```plain
28
+ A
29
+ ```
30
+
31
+ Diamond for letter 'C':
32
+
33
+ ```plain
34
+ ··A··
35
+ ·B·B·
36
+ C···C
37
+ ·B·B·
38
+ ··A··
39
+ ```
40
+
41
+ Diamond for letter 'E':
42
+
43
+ ```plain
44
+ ····A····
45
+ ···B·B···
46
+ ··C···C··
47
+ ·D·····D·
48
+ E·······E
49
+ ·D·····D·
50
+ ··C···C··
51
+ ···B·B···
52
+ ····A····
53
+ ```
54
+ ## Source
55
+
56
+ Seb Rose [http://claysnow.co.uk/recycling-tests-in-tdd/](http://claysnow.co.uk/recycling-tests-in-tdd/)
57
+
58
+ ## Submitting Incomplete Solutions
59
+ It's possible to submit an incomplete solution so you can see how others have completed the exercise.
@@ -0,0 +1,19 @@
1
+ # Difference Of Squares
2
+
3
+ Find the difference between the square of the sum and the sum of the squares of the first N natural numbers.
4
+
5
+ The square of the sum of the first ten natural numbers is
6
+ (1 + 2 + ... + 10)² = 55² = 3025.
7
+
8
+ The sum of the squares of the first ten natural numbers is
9
+ 1² + 2² + ... + 10² = 385.
10
+
11
+ Hence the difference between the square of the sum of the first
12
+ ten natural numbers and the sum of the squares of the first ten
13
+ natural numbers is 3025 - 385 = 2640.
14
+ ## Source
15
+
16
+ Problem 6 at Project Euler [http://projecteuler.net/problem=6](http://projecteuler.net/problem=6)
17
+
18
+ ## Submitting Incomplete Solutions
19
+ It's possible to submit an incomplete solution so you can see how others have completed the exercise.
@@ -0,0 +1,51 @@
1
+ # Etl
2
+
3
+ We are going to do the `Transform` step of an Extract-Transform-Load.
4
+
5
+ ### ETL
6
+ 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
+ we're going to migrate this."
8
+
9
+ (Typically, this is followed by, "We're only going to need to run this
10
+ once." That's then typically followed by much forehead slapping and
11
+ moaning about how stupid we could possibly be.)
12
+
13
+ ### The goal
14
+ We're going to extract some scrabble scores from a legacy system.
15
+
16
+ The old system stored a list of letters per score:
17
+
18
+ - 1 point: "A", "E", "I", "O", "U", "L", "N", "R", "S", "T",
19
+ - 2 points: "D", "G",
20
+ - 3 points: "B", "C", "M", "P",
21
+ - 4 points: "F", "H", "V", "W", "Y",
22
+ - 5 points: "K",
23
+ - 8 points: "J", "X",
24
+ - 10 points: "Q", "Z",
25
+
26
+ The shiny new scrabble system instead stores the score per letter, which
27
+ makes it much faster and easier to calculate the score for a word. It
28
+ also stores the letters in lower-case regardless of the case of the
29
+ input letters:
30
+
31
+ - "a" is worth 1 point.
32
+ - "b" is worth 3 points.
33
+ - "c" is worth 3 points.
34
+ - "d" is worth 2 points.
35
+ - Etc.
36
+
37
+ Your mission, should you choose to accept it, is to transform the legacy data
38
+ format to the shiny new format.
39
+
40
+ ### Notes
41
+
42
+ A final note about scoring, Scrabble is played around the world in a
43
+ variety of languages, each with its own unique scoring table. For
44
+ example, an "E" is scored at 2 in the Māori-language version of the
45
+ game while being scored at 4 in the Hawaiian-language version.
46
+ ## Source
47
+
48
+ The Jumpstart Lab team [http://jumpstartlab.com](http://jumpstartlab.com)
49
+
50
+ ## Submitting Incomplete Solutions
51
+ It's possible to submit an incomplete solution so you can see how others have completed the exercise.
@@ -0,0 +1,42 @@
1
+ # Hamming
2
+
3
+ Calculate the Hamming difference between two DNA strands.
4
+
5
+ A mutation is simply a mistake that occurs during the creation or
6
+ copying of a nucleic acid, in particular DNA. Because nucleic acids are
7
+ vital to cellular functions, mutations tend to cause a ripple effect
8
+ throughout the cell. Although mutations are technically mistakes, a very
9
+ rare mutation may equip the cell with a beneficial attribute. In fact,
10
+ the macro effects of evolution are attributable by the accumulated
11
+ result of beneficial microscopic mutations over many generations.
12
+
13
+ The simplest and most common type of nucleic acid mutation is a point
14
+ mutation, which replaces one base with another at a single nucleotide.
15
+
16
+ By counting the number of differences between two homologous DNA strands
17
+ taken from different genomes with a common ancestor, we get a measure of
18
+ the minimum number of point mutations that could have occurred on the
19
+ evolutionary path between the two strands.
20
+
21
+ This is called the 'Hamming distance'.
22
+
23
+ It is found by comparing two DNA strands and counting how many of the
24
+ nucleotides are different from their equivalent in the other string.
25
+
26
+ GAGCCTACTAACGGGAT
27
+ CATCGTAATGACGGCCT
28
+ ^ ^ ^ ^ ^ ^^
29
+
30
+ The Hamming distance between these two DNA strands is 7.
31
+
32
+ # Implementation notes
33
+
34
+ The Hamming distance is only defined for sequences of equal length. This means
35
+ that based on the definition, each language could deal with getting sequences
36
+ of equal length differently.
37
+ ## Source
38
+
39
+ The Calculating Point Mutations problem at Rosalind [http://rosalind.info/problems/hamm/](http://rosalind.info/problems/hamm/)
40
+
41
+ ## Submitting Incomplete Solutions
42
+ It's possible to submit an incomplete solution so you can see how others have completed the exercise.
@@ -0,0 +1,21 @@
1
+ # Hello World
2
+
3
+ The classical introductory exercise. Just say "Hello, World!".
4
+
5
+ ["Hello, World!"](http://en.wikipedia.org/wiki/%22Hello,_world!%22_program) is
6
+ the traditional first program for beginning programming in a new language
7
+ or environment.
8
+
9
+ The objectives are simple:
10
+
11
+ - Write a function that returns the string "Hello, World!".
12
+ - Run the test suite and make sure that it succeeds.
13
+ - Submit your solution and check it at the website.
14
+
15
+ If everything goes well, you will be ready to fetch your first real exercise.
16
+ ## Source
17
+
18
+ This is an exercise to introduce users to using Exercism [http://en.wikipedia.org/wiki/%22Hello,_world!%22_program](http://en.wikipedia.org/wiki/%22Hello,_world!%22_program)
19
+
20
+ ## Submitting Incomplete Solutions
21
+ It's possible to submit an incomplete solution so you can see how others have completed the exercise.
@@ -0,0 +1,19 @@
1
+ # Isogram
2
+
3
+ Determine if a word or phrase is an isogram.
4
+
5
+ An isogram (also known as a "nonpattern word") is a word or phrase without a repeating letter.
6
+
7
+ Examples of isograms:
8
+
9
+ - lumberjacks
10
+ - background
11
+ - downstream
12
+
13
+ The word *isograms*, however, is not an isogram, because the s repeats.
14
+ ## Source
15
+
16
+ Wikipedia [https://en.wikipedia.org/wiki/Isogram](https://en.wikipedia.org/wiki/Isogram)
17
+
18
+ ## Submitting Incomplete Solutions
19
+ It's possible to submit an incomplete solution so you can see how others have completed the exercise.
@@ -0,0 +1,20 @@
1
+ # Largest Series Product
2
+
3
+ Given a string of digits, calculate the largest product for a contiguous
4
+ substring of digits of length n.
5
+
6
+ For example, for the input `'1027839564'`, the largest product for a
7
+ series of 3 digits is 270 (9 * 5 * 6), and the largest product for a
8
+ series of 5 digits is 7560 (7 * 8 * 3 * 9 * 5).
9
+
10
+ Note that these series are only required to occupy *adjacent positions*
11
+ in the input; the digits need not be *numerically consecutive*.
12
+
13
+ For the input `'73167176531330624919225119674426574742355349194934'`,
14
+ the largest product for a series of 6 digits is 23520.
15
+ ## Source
16
+
17
+ A variation on Problem 8 at Project Euler [http://projecteuler.net/problem=8](http://projecteuler.net/problem=8)
18
+
19
+ ## Submitting Incomplete Solutions
20
+ It's possible to submit an incomplete solution so you can see how others have completed the exercise.