trackler 2.2.1.103 → 2.2.1.104

Sign up to get free protection for your applications and to get access to all the features.
Files changed (432) hide show
  1. checksums.yaml +4 -4
  2. data/lib/trackler/version.rb +1 -1
  3. data/problem-specifications/exercises/all-your-base/canonical-data.json +43 -43
  4. data/tracks/bash/.github/PULL_REQUEST_TEMPLATE.md +10 -0
  5. data/tracks/cfml/tasks/exercise_template/.meta/hints.md +1 -0
  6. data/tracks/csharp/config/exercise_readme.go.tmpl +4 -4
  7. data/tracks/csharp/exercises/accumulate/README.md +1 -5
  8. data/tracks/csharp/exercises/acronym/README.md +1 -3
  9. data/tracks/csharp/exercises/all-your-base/README.md +2 -4
  10. data/tracks/csharp/exercises/allergies/README.md +1 -3
  11. data/tracks/csharp/exercises/alphametics/README.md +3 -5
  12. data/tracks/csharp/exercises/anagram/README.md +1 -2
  13. data/tracks/csharp/exercises/armstrong-numbers/README.md +14 -1
  14. data/tracks/csharp/exercises/atbash-cipher/README.md +3 -3
  15. data/tracks/csharp/exercises/bank-account/README.md +1 -3
  16. data/tracks/csharp/exercises/beer-song/README.md +3 -4
  17. data/tracks/csharp/exercises/binary-search-tree/README.md +1 -2
  18. data/tracks/csharp/exercises/binary-search/README.md +1 -2
  19. data/tracks/csharp/exercises/binary/README.md +3 -2
  20. data/tracks/csharp/exercises/bob/README.md +3 -3
  21. data/tracks/csharp/exercises/book-store/README.md +6 -7
  22. data/tracks/csharp/exercises/bowling/README.md +21 -8
  23. data/tracks/csharp/exercises/bracket-push/README.md +1 -2
  24. data/tracks/csharp/exercises/change/README.md +2 -3
  25. data/tracks/csharp/exercises/circular-buffer/README.md +14 -8
  26. data/tracks/csharp/exercises/clock/README.md +1 -2
  27. data/tracks/csharp/exercises/collatz-conjecture/README.md +4 -4
  28. data/tracks/csharp/exercises/complex-numbers/README.md +1 -2
  29. data/tracks/csharp/exercises/connect/README.md +2 -4
  30. data/tracks/csharp/exercises/crypto-square/README.md +11 -10
  31. data/tracks/csharp/exercises/custom-set/README.md +1 -3
  32. data/tracks/csharp/exercises/diamond/README.md +10 -9
  33. data/tracks/csharp/exercises/difference-of-squares/README.md +1 -2
  34. data/tracks/csharp/exercises/diffie-hellman/README.md +1 -2
  35. data/tracks/csharp/exercises/dominoes/README.md +10 -3
  36. data/tracks/csharp/exercises/dot-dsl/README.md +2 -4
  37. data/tracks/csharp/exercises/error-handling/README.md +1 -3
  38. data/tracks/csharp/exercises/etl/README.md +4 -3
  39. data/tracks/csharp/exercises/flatten-array/README.md +2 -4
  40. data/tracks/csharp/exercises/food-chain/README.md +2 -3
  41. data/tracks/csharp/exercises/forth/README.md +1 -3
  42. data/tracks/csharp/exercises/gigasecond/README.md +1 -2
  43. data/tracks/csharp/exercises/go-counting/README.md +2 -4
  44. data/tracks/csharp/exercises/grade-school/README.md +1 -3
  45. data/tracks/csharp/exercises/grains/README.md +1 -3
  46. data/tracks/csharp/exercises/grep/README.md +13 -14
  47. data/tracks/csharp/exercises/hamming/README.md +1 -2
  48. data/tracks/csharp/exercises/hangman/README.md +1 -3
  49. data/tracks/csharp/exercises/hello-world/README.md +1 -2
  50. data/tracks/csharp/exercises/hexadecimal/README.md +1 -2
  51. data/tracks/csharp/exercises/house/README.md +3 -5
  52. data/tracks/csharp/exercises/isbn-verifier/README.md +34 -22
  53. data/tracks/csharp/exercises/isogram/README.md +3 -3
  54. data/tracks/csharp/exercises/kindergarten-garden/README.md +14 -15
  55. data/tracks/csharp/exercises/largest-series-product/README.md +1 -2
  56. data/tracks/csharp/exercises/leap/README.md +2 -3
  57. data/tracks/csharp/exercises/ledger/README.md +1 -3
  58. data/tracks/csharp/exercises/linked-list/README.md +11 -12
  59. data/tracks/csharp/exercises/list-ops/README.md +1 -3
  60. data/tracks/csharp/exercises/luhn/README.md +8 -9
  61. data/tracks/csharp/exercises/markdown/README.md +1 -3
  62. data/tracks/csharp/exercises/matrix/README.md +7 -6
  63. data/tracks/csharp/exercises/meetup/README.md +17 -15
  64. data/tracks/csharp/exercises/minesweeper/README.md +1 -3
  65. data/tracks/csharp/exercises/nth-prime/README.md +1 -2
  66. data/tracks/csharp/exercises/nucleotide-count/README.md +9 -24
  67. data/tracks/csharp/exercises/ocr-numbers/README.md +7 -8
  68. data/tracks/csharp/exercises/octal/README.md +7 -4
  69. data/tracks/csharp/exercises/palindrome-products/README.md +16 -18
  70. data/tracks/csharp/exercises/pangram/README.md +2 -3
  71. data/tracks/csharp/exercises/parallel-letter-frequency/README.md +1 -3
  72. data/tracks/csharp/exercises/pascals-triangle/README.md +3 -4
  73. data/tracks/csharp/exercises/perfect-numbers/README.md +3 -4
  74. data/tracks/csharp/exercises/phone-number/README.md +5 -5
  75. data/tracks/csharp/exercises/pig-latin/README.md +1 -2
  76. data/tracks/csharp/exercises/poker/README.md +1 -2
  77. data/tracks/csharp/exercises/pov/README.md +4 -7
  78. data/tracks/csharp/exercises/prime-factors/README.md +1 -2
  79. data/tracks/csharp/exercises/protein-translation/README.md +6 -8
  80. data/tracks/csharp/exercises/proverb/README.md +15 -11
  81. data/tracks/csharp/exercises/pythagorean-triplet/README.md +4 -5
  82. data/tracks/csharp/exercises/queen-attack/README.md +2 -3
  83. data/tracks/csharp/exercises/rail-fence-cipher/README.md +13 -9
  84. data/tracks/csharp/exercises/raindrops/README.md +1 -2
  85. data/tracks/csharp/exercises/react/README.md +1 -3
  86. data/tracks/csharp/exercises/rectangles/README.md +17 -19
  87. data/tracks/csharp/exercises/reverse-string/README.md +16 -1
  88. data/tracks/csharp/exercises/rna-transcription/README.md +3 -4
  89. data/tracks/csharp/exercises/robot-name/README.md +1 -2
  90. data/tracks/csharp/exercises/robot-simulator/README.md +1 -2
  91. data/tracks/csharp/exercises/roman-numerals/README.md +2 -3
  92. data/tracks/csharp/exercises/rotational-cipher/README.md +3 -3
  93. data/tracks/csharp/exercises/run-length-encoding/README.md +5 -6
  94. data/tracks/csharp/exercises/saddle-points/README.md +3 -4
  95. data/tracks/csharp/exercises/say/README.md +1 -2
  96. data/tracks/csharp/exercises/scale-generator/README.md +1 -4
  97. data/tracks/csharp/exercises/scrabble-score/README.md +4 -3
  98. data/tracks/csharp/exercises/secret-handshake/README.md +2 -3
  99. data/tracks/csharp/exercises/series/README.md +1 -2
  100. data/tracks/csharp/exercises/sgf-parsing/README.md +5 -7
  101. data/tracks/csharp/exercises/sieve/README.md +1 -2
  102. data/tracks/csharp/exercises/simple-cipher/README.md +6 -9
  103. data/tracks/csharp/exercises/simple-linked-list/README.md +1 -2
  104. data/tracks/csharp/exercises/space-age/README.md +2 -3
  105. data/tracks/csharp/exercises/spiral-matrix/README.md +7 -8
  106. data/tracks/csharp/exercises/strain/README.md +1 -2
  107. data/tracks/csharp/exercises/sublist/README.md +1 -3
  108. data/tracks/csharp/exercises/sum-of-multiples/README.md +4 -8
  109. data/tracks/csharp/exercises/tournament/README.md +6 -8
  110. data/tracks/csharp/exercises/transpose/README.md +8 -9
  111. data/tracks/csharp/exercises/tree-building/README.md +4 -6
  112. data/tracks/csharp/exercises/triangle/README.md +10 -8
  113. data/tracks/csharp/exercises/trinary/README.md +2 -3
  114. data/tracks/csharp/exercises/twelve-days/README.md +2 -3
  115. data/tracks/csharp/exercises/two-bucket/README.md +11 -12
  116. data/tracks/csharp/exercises/two-fer/README.md +8 -9
  117. data/tracks/csharp/exercises/variable-length-quantity/README.md +7 -9
  118. data/tracks/csharp/exercises/word-count/README.md +2 -4
  119. data/tracks/csharp/exercises/word-search/README.md +2 -4
  120. data/tracks/csharp/exercises/wordy/README.md +1 -7
  121. data/tracks/csharp/exercises/zebra-puzzle/README.md +1 -2
  122. data/tracks/csharp/exercises/zipper/README.md +2 -4
  123. data/tracks/dart/config.json +2 -2
  124. data/tracks/go/config/exercise_readme.go.tmpl +17 -4
  125. data/tracks/go/exercises/acronym/README.md +0 -1
  126. data/tracks/go/exercises/all-your-base/README.md +0 -1
  127. data/tracks/go/exercises/allergies/README.md +0 -1
  128. data/tracks/go/exercises/alphametics/README.md +0 -1
  129. data/tracks/go/exercises/atbash-cipher/README.md +2 -1
  130. data/tracks/go/exercises/bank-account/README.md +0 -1
  131. data/tracks/go/exercises/beer-song/README.md +2 -2
  132. data/tracks/go/exercises/binary/README.md +2 -0
  133. data/tracks/go/exercises/bowling/README.md +20 -6
  134. data/tracks/go/exercises/change/README.md +1 -1
  135. data/tracks/go/exercises/circular-buffer/README.md +13 -6
  136. data/tracks/go/exercises/collatz-conjecture/README.md +1 -1
  137. data/tracks/go/exercises/connect/README.md +1 -2
  138. data/tracks/go/exercises/counter/README.md +0 -1
  139. data/tracks/go/exercises/crypto-square/README.md +10 -8
  140. data/tracks/go/exercises/custom-set/README.md +0 -1
  141. data/tracks/go/exercises/diamond/README.md +6 -6
  142. data/tracks/go/exercises/dominoes/README.md +0 -1
  143. data/tracks/go/exercises/error-handling/README.md +0 -1
  144. data/tracks/go/exercises/etl/README.md +3 -1
  145. data/tracks/go/exercises/food-chain/README.md +1 -1
  146. data/tracks/go/exercises/forth/README.md +0 -1
  147. data/tracks/go/exercises/grade-school/README.md +0 -1
  148. data/tracks/go/exercises/grains/README.md +0 -1
  149. data/tracks/go/exercises/house/README.md +2 -3
  150. data/tracks/go/exercises/isbn-verifier/README.md +26 -21
  151. data/tracks/go/exercises/isogram/README.md +2 -1
  152. data/tracks/go/exercises/kindergarten-garden/README.md +13 -13
  153. data/tracks/go/exercises/leap/README.md +1 -1
  154. data/tracks/go/exercises/ledger/README.md +0 -1
  155. data/tracks/go/exercises/luhn/README.md +7 -7
  156. data/tracks/go/exercises/matrix/README.md +6 -4
  157. data/tracks/go/exercises/meetup/README.md +16 -13
  158. data/tracks/go/exercises/minesweeper/README.md +0 -1
  159. data/tracks/go/exercises/nucleotide-count/README.md +25 -17
  160. data/tracks/go/exercises/ocr-numbers/README.md +6 -6
  161. data/tracks/go/exercises/octal/README.md +6 -2
  162. data/tracks/go/exercises/palindrome-products/README.md +15 -16
  163. data/tracks/go/exercises/pangram/README.md +1 -1
  164. data/tracks/go/exercises/parallel-letter-frequency/README.md +0 -1
  165. data/tracks/go/exercises/pascals-triangle/README.md +2 -2
  166. data/tracks/go/exercises/pov/README.md +3 -5
  167. data/tracks/go/exercises/protein-translation/README.md +5 -6
  168. data/tracks/go/exercises/pythagorean-triplet/README.md +3 -3
  169. data/tracks/go/exercises/queen-attack/README.md +1 -1
  170. data/tracks/go/exercises/react/README.md +0 -1
  171. data/tracks/go/exercises/reverse-string/README.md +1 -1
  172. data/tracks/go/exercises/rna-transcription/README.md +2 -2
  173. data/tracks/go/exercises/robot-name/README.md +15 -0
  174. data/tracks/go/exercises/roman-numerals/README.md +1 -1
  175. data/tracks/go/exercises/rotational-cipher/README.md +0 -1
  176. data/tracks/go/exercises/run-length-encoding/README.md +21 -4
  177. data/tracks/go/exercises/saddle-points/README.md +2 -2
  178. data/tracks/go/exercises/scrabble-score/README.md +3 -1
  179. data/tracks/go/exercises/secret-handshake/README.md +1 -1
  180. data/tracks/go/exercises/simple-linked-list/README.md +1 -2
  181. data/tracks/go/exercises/space-age/README.md +1 -2
  182. data/tracks/go/exercises/spiral-matrix/README.md +1 -1
  183. data/tracks/go/exercises/sublist/README.md +0 -1
  184. data/tracks/go/exercises/sum-of-multiples/README.md +3 -6
  185. data/tracks/go/exercises/tournament/README.md +5 -6
  186. data/tracks/go/exercises/transpose/README.md +7 -7
  187. data/tracks/go/exercises/tree-building/README.md +3 -4
  188. data/tracks/go/exercises/triangle/README.md +21 -6
  189. data/tracks/go/exercises/trinary/README.md +1 -1
  190. data/tracks/go/exercises/twelve-days/README.md +2 -3
  191. data/tracks/go/exercises/two-fer/README.md +2 -31
  192. data/tracks/go/exercises/variable-length-quantity/README.md +6 -7
  193. data/tracks/go/exercises/word-count/README.md +1 -2
  194. data/tracks/go/exercises/word-search/README.md +1 -2
  195. data/tracks/go/exercises/wordy/README.md +0 -5
  196. data/tracks/groovy/config.json +11 -0
  197. data/tracks/groovy/exercises/rotational-cipher/Example.groovy +38 -0
  198. data/tracks/groovy/exercises/rotational-cipher/README.md +49 -0
  199. data/tracks/groovy/exercises/rotational-cipher/RotationalCipher.groovy +11 -0
  200. data/tracks/groovy/exercises/rotational-cipher/RotationalCipherSpec.groovy +68 -0
  201. data/tracks/haskell/exercises/acronym/package.yaml +1 -1
  202. data/tracks/haskell/exercises/acronym/test/Tests.hs +2 -6
  203. data/tracks/haskell/exercises/anagram/package.yaml +1 -1
  204. data/tracks/haskell/exercises/anagram/test/Tests.hs +0 -20
  205. data/tracks/haskell/exercises/clock/package.yaml +1 -1
  206. data/tracks/haskell/exercises/clock/test/Tests.hs +16 -9
  207. data/tracks/haskell/exercises/complex-numbers/package.yaml +1 -1
  208. data/tracks/haskell/exercises/custom-set/package.yaml +1 -1
  209. data/tracks/haskell/exercises/hamming/package.yaml +1 -1
  210. data/tracks/haskell/exercises/kindergarten-garden/package.yaml +1 -1
  211. data/tracks/haskell/exercises/matrix/package.yaml +1 -1
  212. data/tracks/haskell/exercises/matrix/test/Tests.hs +25 -13
  213. data/tracks/haskell/exercises/ocr-numbers/package.yaml +1 -1
  214. data/tracks/haskell/exercises/prime-factors/package.yaml +1 -1
  215. data/tracks/haskell/exercises/queen-attack/package.yaml +1 -1
  216. data/tracks/haskell/exercises/rail-fence-cipher/package.yaml +1 -1
  217. data/tracks/haskell/exercises/raindrops/package.yaml +1 -1
  218. data/tracks/haskell/exercises/robot-simulator/package.yaml +1 -1
  219. data/tracks/haskell/exercises/roman-numerals/package.yaml +1 -1
  220. data/tracks/haskell/exercises/roman-numerals/test/Tests.hs +4 -0
  221. data/tracks/haskell/exercises/run-length-encoding/package.yaml +1 -1
  222. data/tracks/haskell/exercises/word-count/package.yaml +1 -1
  223. data/tracks/java/config.json +0 -1
  224. data/tracks/java/exercises/forth/README.md +1 -1
  225. data/tracks/objective-c/config/exercise_readme.go.tmpl +22 -4
  226. data/tracks/objective-c/exercises/acronym/README.md +8 -3
  227. data/tracks/objective-c/exercises/all-your-base/README.md +8 -3
  228. data/tracks/objective-c/exercises/allergies/README.md +8 -3
  229. data/tracks/objective-c/exercises/anagram/README.md +8 -2
  230. data/tracks/objective-c/exercises/atbash-cipher/README.md +10 -3
  231. data/tracks/objective-c/exercises/beer-song/README.md +10 -4
  232. data/tracks/objective-c/exercises/binary-search/README.md +8 -2
  233. data/tracks/objective-c/exercises/bob/.meta/description.md +10 -0
  234. data/tracks/objective-c/exercises/bob/README.md +8 -2
  235. data/tracks/objective-c/exercises/bracket-push/README.md +8 -2
  236. data/tracks/objective-c/exercises/clock/README.md +8 -2
  237. data/tracks/objective-c/exercises/collatz-conjecture/README.md +8 -2
  238. data/tracks/objective-c/exercises/crypto-square/README.md +18 -10
  239. data/tracks/objective-c/exercises/difference-of-squares/README.md +8 -2
  240. data/tracks/objective-c/exercises/etl/README.md +11 -3
  241. data/tracks/objective-c/exercises/flatten-array/README.md +9 -4
  242. data/tracks/objective-c/exercises/gigasecond/README.md +8 -2
  243. data/tracks/objective-c/exercises/grade-school/README.md +8 -3
  244. data/tracks/objective-c/exercises/grains/README.md +8 -2
  245. data/tracks/objective-c/exercises/hamming/README.md +8 -2
  246. data/tracks/objective-c/exercises/hello-world/README.md +8 -2
  247. data/tracks/objective-c/exercises/isogram/README.md +10 -3
  248. data/tracks/objective-c/exercises/largest-series-product/README.md +8 -2
  249. data/tracks/objective-c/exercises/leap/README.md +9 -3
  250. data/tracks/objective-c/exercises/luhn/README.md +15 -9
  251. data/tracks/objective-c/exercises/meetup/README.md +24 -15
  252. data/tracks/objective-c/exercises/nth-prime/README.md +8 -2
  253. data/tracks/objective-c/exercises/nucleotide-count/README.md +16 -24
  254. data/tracks/objective-c/exercises/pangram/README.md +9 -3
  255. data/tracks/objective-c/exercises/pascals-triangle/README.md +10 -4
  256. data/tracks/objective-c/exercises/perfect-numbers/README.md +10 -4
  257. data/tracks/objective-c/exercises/phone-number/README.md +12 -5
  258. data/tracks/objective-c/exercises/raindrops/README.md +8 -2
  259. data/tracks/objective-c/exercises/rna-transcription/README.md +10 -4
  260. data/tracks/objective-c/exercises/robot-name/README.md +8 -2
  261. data/tracks/objective-c/exercises/roman-numerals/README.md +9 -3
  262. data/tracks/objective-c/exercises/run-length-encoding/README.md +12 -6
  263. data/tracks/objective-c/exercises/say/README.md +8 -2
  264. data/tracks/objective-c/exercises/scrabble-score/README.md +11 -3
  265. data/tracks/objective-c/exercises/secret-handshake/README.md +10 -4
  266. data/tracks/objective-c/exercises/sieve/README.md +8 -2
  267. data/tracks/objective-c/exercises/space-age/README.md +9 -3
  268. data/tracks/objective-c/exercises/sublist/README.md +7 -2
  269. data/tracks/objective-c/exercises/sum-of-multiples/README.md +11 -8
  270. data/tracks/objective-c/exercises/transpose/README.md +15 -9
  271. data/tracks/objective-c/exercises/triangle/README.md +17 -8
  272. data/tracks/objective-c/exercises/two-fer/README.md +8 -2
  273. data/tracks/objective-c/exercises/word-count/README.md +9 -4
  274. data/tracks/php/.travis.yml +1 -1
  275. data/tracks/php/config/exercise_readme.go.tmpl +20 -4
  276. data/tracks/php/exercises/accumulate/README.md +9 -6
  277. data/tracks/php/exercises/acronym/README.md +9 -4
  278. data/tracks/php/exercises/all-your-base/README.md +35 -11
  279. data/tracks/php/exercises/allergies/README.md +9 -4
  280. data/tracks/php/exercises/anagram/README.md +10 -4
  281. data/tracks/php/exercises/atbash-cipher/README.md +12 -5
  282. data/tracks/php/exercises/beer-song/README.md +12 -6
  283. data/tracks/php/exercises/binary-search/README.md +10 -4
  284. data/tracks/php/exercises/binary/README.md +12 -4
  285. data/tracks/php/exercises/bob/.meta/description.md +10 -0
  286. data/tracks/php/exercises/bob/README.md +10 -4
  287. data/tracks/php/exercises/book-store/README.md +15 -9
  288. data/tracks/php/exercises/bowling/README.md +30 -10
  289. data/tracks/php/exercises/bracket-push/README.md +10 -4
  290. data/tracks/php/exercises/change/README.md +11 -5
  291. data/tracks/php/exercises/clock/README.md +10 -4
  292. data/tracks/php/exercises/collatz-conjecture/README.md +10 -4
  293. data/tracks/php/exercises/connect/README.md +11 -6
  294. data/tracks/php/exercises/crypto-square/README.md +10 -4
  295. data/tracks/php/exercises/difference-of-squares/README.md +10 -4
  296. data/tracks/php/exercises/etl/README.md +13 -5
  297. data/tracks/php/exercises/flatten-array/README.md +10 -4
  298. data/tracks/php/exercises/gigasecond/README.md +10 -4
  299. data/tracks/php/exercises/grade-school/README.md +10 -5
  300. data/tracks/php/exercises/grains/README.md +10 -5
  301. data/tracks/php/exercises/hamming/README.md +10 -4
  302. data/tracks/php/exercises/hello-world/README.md +10 -4
  303. data/tracks/php/exercises/isogram/README.md +12 -5
  304. data/tracks/php/exercises/largest-series-product/README.md +10 -4
  305. data/tracks/php/exercises/leap/README.md +11 -5
  306. data/tracks/php/exercises/luhn/README.md +17 -11
  307. data/tracks/php/exercises/markdown/README.md +10 -5
  308. data/tracks/php/exercises/meetup/README.md +45 -12
  309. data/tracks/php/exercises/meetup/example.php +0 -2
  310. data/tracks/php/exercises/meetup/meetup_test.php +0 -2
  311. data/tracks/php/exercises/minesweeper/README.md +10 -5
  312. data/tracks/php/exercises/nth-prime/README.md +10 -4
  313. data/tracks/php/exercises/nucleotide-count/README.md +15 -23
  314. data/tracks/php/exercises/ocr-numbers/README.md +16 -10
  315. data/tracks/php/exercises/pangram/README.md +11 -5
  316. data/tracks/php/exercises/pascals-triangle/README.md +12 -6
  317. data/tracks/php/exercises/perfect-numbers/README.md +12 -6
  318. data/tracks/php/exercises/phone-number/README.md +14 -7
  319. data/tracks/php/exercises/pig-latin/README.md +10 -4
  320. data/tracks/php/exercises/prime-factors/README.md +10 -4
  321. data/tracks/php/exercises/queen-attack/README.md +11 -5
  322. data/tracks/php/exercises/rail-fence-cipher/README.md +10 -4
  323. data/tracks/php/exercises/raindrops/README.md +10 -4
  324. data/tracks/php/exercises/rna-transcription/README.md +11 -5
  325. data/tracks/php/exercises/robot-name/README.md +10 -4
  326. data/tracks/php/exercises/robot-simulator/README.md +10 -4
  327. data/tracks/php/exercises/roman-numerals/README.md +11 -5
  328. data/tracks/php/exercises/run-length-encoding/README.md +13 -4
  329. data/tracks/php/exercises/scrabble-score/README.md +13 -5
  330. data/tracks/php/exercises/series/README.md +27 -0
  331. data/tracks/php/exercises/series/example.php +0 -2
  332. data/tracks/php/exercises/series/series_test.php +0 -1
  333. data/tracks/php/exercises/sieve/README.md +10 -4
  334. data/tracks/php/exercises/space-age/README.md +11 -5
  335. data/tracks/php/exercises/sum-of-multiples/README.md +12 -9
  336. data/tracks/php/exercises/transpose/README.md +10 -4
  337. data/tracks/php/exercises/triangle/README.md +19 -10
  338. data/tracks/php/exercises/trinary/README.md +11 -5
  339. data/tracks/php/exercises/variable-length-quantity/README.md +16 -11
  340. data/tracks/php/exercises/word-count/README.md +10 -5
  341. data/tracks/php/exercises/wordy/README.md +9 -8
  342. data/tracks/rust/config/exercise_readme.go.tmpl +32 -4
  343. data/tracks/rust/exercises/all-your-base/README.md +0 -1
  344. data/tracks/rust/exercises/alphametics/README.md +0 -1
  345. data/tracks/rust/exercises/custom-set/README.md +0 -1
  346. data/tracks/rust/exercises/dominoes/README.md +0 -1
  347. data/tracks/rust/exercises/forth/README.md +0 -1
  348. data/tracks/rust/exercises/isbn-verifier/README.md +1 -1
  349. data/tracks/rust/exercises/minesweeper/README.md +0 -1
  350. data/tracks/rust/exercises/nucleotide-codons/README.md +0 -1
  351. data/tracks/rust/exercises/parallel-letter-frequency/README.md +0 -1
  352. data/tracks/rust/exercises/protein-translation/README.md +2 -2
  353. data/tracks/rust/exercises/react/README.md +0 -1
  354. data/tracks/rust/exercises/rectangles/README.md +0 -1
  355. data/tracks/rust/exercises/reverse-string/README.md +1 -1
  356. data/tracks/rust/exercises/rna-transcription/.meta/hints.md +9 -0
  357. data/tracks/rust/exercises/rna-transcription/README.md +12 -1
  358. data/tracks/rust/exercises/rna-transcription/example.rs +66 -27
  359. data/tracks/rust/exercises/rna-transcription/tests/rna-transcription.rs +52 -19
  360. data/tracks/rust/exercises/sublist/README.md +0 -1
  361. data/tracks/rust/exercises/tournament/README.md +0 -1
  362. data/tracks/swift/config/exercise_readme.go.tmpl +7 -4
  363. data/tracks/swift/exercises/accumulate/README.md +0 -3
  364. data/tracks/swift/exercises/acronym/README.md +0 -1
  365. data/tracks/swift/exercises/all-your-base/README.md +1 -2
  366. data/tracks/swift/exercises/allergies/README.md +0 -1
  367. data/tracks/swift/exercises/atbash-cipher/README.md +2 -1
  368. data/tracks/swift/exercises/beer-song/README.md +2 -2
  369. data/tracks/swift/exercises/binary/README.md +2 -0
  370. data/tracks/swift/exercises/bob/.meta/description.md +10 -0
  371. data/tracks/swift/exercises/bowling/README.md +20 -6
  372. data/tracks/swift/exercises/circular-buffer/README.md +21 -13
  373. data/tracks/swift/exercises/collatz-conjecture/README.md +1 -1
  374. data/tracks/swift/exercises/crypto-square/README.md +10 -8
  375. data/tracks/swift/exercises/custom-set/README.md +0 -1
  376. data/tracks/swift/exercises/diamond/README.md +3 -0
  377. data/tracks/swift/exercises/dominoes/README.md +3 -4
  378. data/tracks/swift/exercises/etl/README.md +3 -1
  379. data/tracks/swift/exercises/flatten-array/README.md +1 -2
  380. data/tracks/swift/exercises/food-chain/README.md +1 -1
  381. data/tracks/swift/exercises/grade-school/README.md +0 -1
  382. data/tracks/swift/exercises/grains/README.md +0 -1
  383. data/tracks/swift/exercises/house/README.md +2 -3
  384. data/tracks/swift/exercises/isbn-verifier/README.md +32 -16
  385. data/tracks/swift/exercises/isogram/README.md +2 -1
  386. data/tracks/swift/exercises/kindergarten-garden/README.md +13 -13
  387. data/tracks/swift/exercises/leap/README.md +1 -1
  388. data/tracks/swift/exercises/linked-list/README.md +10 -10
  389. data/tracks/swift/exercises/list-ops/README.md +1 -0
  390. data/tracks/swift/exercises/luhn/README.md +7 -7
  391. data/tracks/swift/exercises/matrix/README.md +6 -4
  392. data/tracks/swift/exercises/meetup/README.md +16 -13
  393. data/tracks/swift/exercises/minesweeper/README.md +0 -1
  394. data/tracks/swift/exercises/nucleotide-count/README.md +8 -22
  395. data/tracks/swift/exercises/ocr-numbers/README.md +6 -6
  396. data/tracks/swift/exercises/octal/README.md +6 -2
  397. data/tracks/swift/exercises/palindrome-products/README.md +15 -16
  398. data/tracks/swift/exercises/pangram/README.md +1 -1
  399. data/tracks/swift/exercises/pascals-triangle/README.md +2 -2
  400. data/tracks/swift/exercises/perfect-numbers/README.md +2 -2
  401. data/tracks/swift/exercises/phone-number/README.md +4 -3
  402. data/tracks/swift/exercises/protein-translation/README.md +4 -4
  403. data/tracks/swift/exercises/pythagorean-triplet/README.md +3 -3
  404. data/tracks/swift/exercises/queen-attack/README.md +1 -1
  405. data/tracks/swift/exercises/rna-transcription/README.md +2 -2
  406. data/tracks/swift/exercises/roman-numerals/README.md +1 -1
  407. data/tracks/swift/exercises/run-length-encoding/README.md +4 -4
  408. data/tracks/swift/exercises/saddle-points/README.md +2 -2
  409. data/tracks/swift/exercises/say/README.md +1 -1
  410. data/tracks/swift/exercises/scrabble-score/README.md +3 -1
  411. data/tracks/swift/exercises/secret-handshake/README.md +2 -2
  412. data/tracks/swift/exercises/simple-cipher/README.md +5 -7
  413. data/tracks/swift/exercises/space-age/README.md +1 -1
  414. data/tracks/swift/exercises/sublist/README.md +0 -1
  415. data/tracks/swift/exercises/sum-of-multiples/README.md +3 -6
  416. data/tracks/swift/exercises/tournament/README.md +5 -6
  417. data/tracks/swift/exercises/transpose/README.md +7 -7
  418. data/tracks/swift/exercises/triangle/README.md +9 -6
  419. data/tracks/swift/exercises/trinary/README.md +1 -1
  420. data/tracks/swift/exercises/twelve-days/README.md +1 -1
  421. data/tracks/swift/exercises/two-fer/README.md +2 -29
  422. data/tracks/swift/exercises/word-count/README.md +1 -2
  423. data/tracks/swift/exercises/wordy/README.md +0 -5
  424. metadata +12 -10
  425. data/tracks/cfml/tasks/exercise_template/.meta/HINTS.md +0 -0
  426. data/tracks/csharp/docs/EXERCISE_README_INSERT.md +0 -5
  427. data/tracks/go/docs/EXERCISE_README_INSERT.md +0 -16
  428. data/tracks/java/exercises/forth/.meta/readme.go.tmpl +0 -17
  429. data/tracks/objective-c/docs/EXERCISE_README_INSERT.md +0 -15
  430. data/tracks/php/docs/EXERCISE_README_INSERT.md +0 -13
  431. data/tracks/rust/config/exercise-readme-insert.md +0 -31
  432. data/tracks/swift/docs/EXERCISE_README_INSERT.md +0 -6
@@ -8,11 +8,13 @@ Implement octal to decimal conversion. Given an octal input
8
8
  string, your program should produce a decimal output.
9
9
 
10
10
  ## Note
11
+
11
12
  - Implement the conversion yourself.
12
13
  Do not use something else to perform the conversion for you.
13
14
  - Treat invalid input as octal 0.
14
15
 
15
16
  ## About Octal (Base-8)
17
+
16
18
  Decimal is a base-10 system.
17
19
 
18
20
  A number 233 in base 10 notation can be understood
@@ -25,7 +27,8 @@ as a linear combination of powers of 10:
25
27
  - All these values are summed.
26
28
 
27
29
  So:
28
- ```
30
+
31
+ ```text
29
32
  233 # decimal
30
33
  = 2*10^2 + 3*10^1 + 3*10^0
31
34
  = 2*100 + 3*10 + 3*1
@@ -34,7 +37,8 @@ So:
34
37
  Octal is similar, but uses powers of 8 rather than powers of 10.
35
38
 
36
39
  So:
37
- ```
40
+
41
+ ```text
38
42
  233 # octal
39
43
  = 2*8^2 + 3*8^1 + 3*8^0
40
44
  = 2*64 + 3*8 + 3*1
@@ -44,9 +48,8 @@ So:
44
48
 
45
49
  ### Submitting Exercises
46
50
 
47
- Note that, when trying to submit an exercise, make sure the exercise file that you're submitting is in the `exercism/csharp/<exerciseName>` directory.
51
+ Note that, when trying to submit an exercise, make sure the exercise file that you're submitting is in the `exercism/csharp/octal` directory.
48
52
 
49
- For example, if you're submitting `bob.cs` for the Bob exercise, the submit command would be something like `exercism submit <path_to_exercism_dir>/csharp/bob/bob.cs`.
50
53
  ## Source
51
54
 
52
55
  All of Computer Science [http://www.wolframalpha.com/input/?i=base+8](http://www.wolframalpha.com/input/?i=base+8)
@@ -5,33 +5,32 @@ Detect palindrome products in a given range.
5
5
  A palindromic number is a number that remains the same when its digits are
6
6
  reversed. For example, `121` is a palindromic number but `112` is not.
7
7
 
8
- Given the definition of a palindromic number, we define a palindrome _product_
9
- to be the product `c`, such that `a * b = c`, where `c` is a palindromic number and
10
- `a` and `b` are integers (possibly, but _not_ necessarily palindromic numbers).
8
+ Given a range of numbers, find the largest and smallest palindromes which
9
+ are products of numbers within that range.
11
10
 
12
- For example, the palindromic number 9009 can be written as the palindrome
13
- product: `91 * 99 = 9009`.
14
-
15
- It's possible (and indeed common) for a palindrome product to be the product
16
- of multiple combinations of numbers. For example, the palindrome product `9` has
17
- the factors `(1, 9)`, `(3, 3)`, and `(9, 1)`.
18
-
19
- Write a program that given a range of integers, returns the smallest and largest
20
- palindromic product within that range, along with all of it's factors.
11
+ Your solution should return the largest and smallest palindromes, along with the
12
+ factors of each within the range. If the largest or smallest palindrome has more
13
+ than one pair of factors within the range, then return all the pairs.
21
14
 
22
15
  ## Example 1
23
16
 
24
17
  Given the range `[1, 9]` (both inclusive)...
25
18
 
26
- The smallest product is `1`. It's factors are `(1, 1)`.
27
- The largest product is `9`. It's factors are `(1, 9)`, `(3, 3)`, and `(9, 1)`.
19
+ And given the list of all possible products within this range:
20
+ `[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 14, 16, 18, 15, 21, 24, 27, 20, 28, 32, 36, 25, 30, 35, 40, 45, 42, 48, 54, 49, 56, 63, 64, 72, 81]`
21
+
22
+ The palindrome products are all single digit numbers (in this case):
23
+ `[1, 2, 3, 4, 5, 6, 7, 8, 9]`
24
+
25
+ The smallest palindrome product is `1`. Its factors are `(1, 1)`.
26
+ The largest palindrome product is `9`. Its factors are `(1, 9)` and `(3, 3)`.
28
27
 
29
28
  ## Example 2
30
29
 
31
30
  Given the range `[10, 99]` (both inclusive)...
32
31
 
33
- The smallest palindrome product is `121`. It's factors are `(11, 11)`.
34
- The largest palindrome product is `9009`. It's factors are `(91, 99)` and `(99, 91)`.
32
+ The smallest palindrome product is `121`. Its factors are `(11, 11)`.
33
+ The largest palindrome product is `9009`. Its factors are `(91, 99)`.
35
34
 
36
35
  ## Hints
37
36
 
@@ -40,9 +39,8 @@ For more information on tuples, see [this link](https://msdn.microsoft.com/en-us
40
39
 
41
40
  ### Submitting Exercises
42
41
 
43
- Note that, when trying to submit an exercise, make sure the exercise file that you're submitting is in the `exercism/csharp/<exerciseName>` directory.
42
+ Note that, when trying to submit an exercise, make sure the exercise file that you're submitting is in the `exercism/csharp/palindrome-products` directory.
44
43
 
45
- For example, if you're submitting `bob.cs` for the Bob exercise, the submit command would be something like `exercism submit <path_to_exercism_dir>/csharp/bob/bob.cs`.
46
44
  ## Source
47
45
 
48
46
  Problem 4 at Project Euler [http://projecteuler.net/problem=4](http://projecteuler.net/problem=4)
@@ -2,7 +2,7 @@
2
2
 
3
3
  Determine if a sentence is a pangram. A pangram (Greek: παν γράμμα, pan gramma,
4
4
  "every letter") is a sentence using every letter of the alphabet at least once.
5
- The best known English pangram is:
5
+ The best known English pangram is:
6
6
  > The quick brown fox jumps over the lazy dog.
7
7
 
8
8
  The alphabet used consists of ASCII letters `a` to `z`, inclusive, and is case
@@ -10,9 +10,8 @@ insensitive. Input will not contain non-ASCII symbols.
10
10
 
11
11
  ### Submitting Exercises
12
12
 
13
- Note that, when trying to submit an exercise, make sure the exercise file that you're submitting is in the `exercism/csharp/<exerciseName>` directory.
13
+ Note that, when trying to submit an exercise, make sure the exercise file that you're submitting is in the `exercism/csharp/pangram` directory.
14
14
 
15
- For example, if you're submitting `bob.cs` for the Bob exercise, the submit command would be something like `exercism submit <path_to_exercism_dir>/csharp/bob/bob.cs`.
16
15
  ## Source
17
16
 
18
17
  Wikipedia [https://en.wikipedia.org/wiki/Pangram](https://en.wikipedia.org/wiki/Pangram)
@@ -9,9 +9,7 @@ list of texts and that employs parallelism.
9
9
 
10
10
  ### Submitting Exercises
11
11
 
12
- Note that, when trying to submit an exercise, make sure the exercise file that you're submitting is in the `exercism/csharp/<exerciseName>` directory.
13
-
14
- For example, if you're submitting `bob.cs` for the Bob exercise, the submit command would be something like `exercism submit <path_to_exercism_dir>/csharp/bob/bob.cs`.
12
+ Note that, when trying to submit an exercise, make sure the exercise file that you're submitting is in the `exercism/csharp/parallel-letter-frequency` directory.
15
13
 
16
14
  ## Submitting Incomplete Solutions
17
15
  It's possible to submit an incomplete solution so you can see how others have completed the exercise.
@@ -1,11 +1,11 @@
1
- # Pascals Triangle
1
+ # Pascal's Triangle
2
2
 
3
3
  Compute Pascal's triangle up to a given number of rows.
4
4
 
5
5
  In Pascal's Triangle each number is computed by adding the numbers to
6
6
  the right and left of the current position in the previous row.
7
7
 
8
- ```plain
8
+ ```text
9
9
  1
10
10
  1 1
11
11
  1 2 1
@@ -16,9 +16,8 @@ the right and left of the current position in the previous row.
16
16
 
17
17
  ### Submitting Exercises
18
18
 
19
- Note that, when trying to submit an exercise, make sure the exercise file that you're submitting is in the `exercism/csharp/<exerciseName>` directory.
19
+ Note that, when trying to submit an exercise, make sure the exercise file that you're submitting is in the `exercism/csharp/pascals-triangle` directory.
20
20
 
21
- For example, if you're submitting `bob.cs` for the Bob exercise, the submit command would be something like `exercism submit <path_to_exercism_dir>/csharp/bob/bob.cs`.
22
21
  ## Source
23
22
 
24
23
  Pascal's Triangle at Wolfram Math World [http://mathworld.wolfram.com/PascalsTriangle.html](http://mathworld.wolfram.com/PascalsTriangle.html)
@@ -5,7 +5,7 @@ Nicomachus' (60 - 120 CE) classification scheme for natural numbers.
5
5
 
6
6
  The Greek mathematician [Nicomachus](https://en.wikipedia.org/wiki/Nicomachus) devised a classification scheme for natural numbers, identifying each as belonging uniquely to the categories of **perfect**, **abundant**, or **deficient** based on their [aliquot sum](https://en.wikipedia.org/wiki/Aliquot_sum). The aliquot sum is defined as the sum of the factors of a number not including the number itself. For example, the aliquot sum of 15 is (1 + 3 + 5) = 9
7
7
 
8
- - **Perfect**: aliquot sum = number
8
+ - **Perfect**: aliquot sum = number
9
9
  - 6 is a perfect number because (1 + 2 + 3) = 6
10
10
  - 28 is a perfect number because (1 + 2 + 4 + 7 + 14) = 28
11
11
  - **Abundant**: aliquot sum > number
@@ -14,14 +14,13 @@ The Greek mathematician [Nicomachus](https://en.wikipedia.org/wiki/Nicomachus) d
14
14
  - **Deficient**: aliquot sum < number
15
15
  - 8 is a deficient number because (1 + 2 + 4) = 7
16
16
  - Prime numbers are deficient
17
-
17
+
18
18
  Implement a way to determine whether a given number is **perfect**. Depending on your language track, you may also need to implement a way to determine whether a given number is **abundant** or **deficient**.
19
19
 
20
20
  ### Submitting Exercises
21
21
 
22
- Note that, when trying to submit an exercise, make sure the exercise file that you're submitting is in the `exercism/csharp/<exerciseName>` directory.
22
+ Note that, when trying to submit an exercise, make sure the exercise file that you're submitting is in the `exercism/csharp/perfect-numbers` directory.
23
23
 
24
- For example, if you're submitting `bob.cs` for the Bob exercise, the submit command would be something like `exercism submit <path_to_exercism_dir>/csharp/bob/bob.cs`.
25
24
  ## Source
26
25
 
27
26
  Taken from Chapter 2 of Functional Thinking by Neal Ford. [http://shop.oreilly.com/product/0636920029687.do](http://shop.oreilly.com/product/0636920029687.do)
@@ -6,14 +6,15 @@ The **North American Numbering Plan (NANP)** is a telephone numbering system use
6
6
 
7
7
  NANP numbers are ten-digit numbers consisting of a three-digit Numbering Plan Area code, commonly known as *area code*, followed by a seven-digit local number. The first three digits of the local number represent the *exchange code*, followed by the unique four-digit number which is the *subscriber number*.
8
8
 
9
-
10
9
  The format is usually represented as
11
- ```
10
+
11
+ ```text
12
12
  (NXX)-NXX-XXXX
13
13
  ```
14
+
14
15
  where `N` is any digit from 2 through 9 and `X` is any digit from 0 through 9.
15
16
 
16
- Your task is to clean up differently formated telephone numbers by removing punctuation and the country code (1) if present.
17
+ Your task is to clean up differently formatted telephone numbers by removing punctuation and the country code (1) if present.
17
18
 
18
19
  For example, the inputs
19
20
  - `+1 (613)-995-0253`
@@ -29,9 +30,8 @@ should all produce the output
29
30
 
30
31
  ### Submitting Exercises
31
32
 
32
- Note that, when trying to submit an exercise, make sure the exercise file that you're submitting is in the `exercism/csharp/<exerciseName>` directory.
33
+ Note that, when trying to submit an exercise, make sure the exercise file that you're submitting is in the `exercism/csharp/phone-number` directory.
33
34
 
34
- For example, if you're submitting `bob.cs` for the Bob exercise, the submit command would be something like `exercism submit <path_to_exercism_dir>/csharp/bob/bob.cs`.
35
35
  ## Source
36
36
 
37
37
  Event Manager by JumpstartLab [http://tutorials.jumpstartlab.com/projects/eventmanager.html](http://tutorials.jumpstartlab.com/projects/eventmanager.html)
@@ -19,9 +19,8 @@ See <http://en.wikipedia.org/wiki/Pig_latin> for more details.
19
19
 
20
20
  ### Submitting Exercises
21
21
 
22
- Note that, when trying to submit an exercise, make sure the exercise file that you're submitting is in the `exercism/csharp/<exerciseName>` directory.
22
+ Note that, when trying to submit an exercise, make sure the exercise file that you're submitting is in the `exercism/csharp/pig-latin` directory.
23
23
 
24
- For example, if you're submitting `bob.cs` for the Bob exercise, the submit command would be something like `exercism submit <path_to_exercism_dir>/csharp/bob/bob.cs`.
25
24
  ## Source
26
25
 
27
26
  The Pig Latin exercise at Test First Teaching by Ultrasaurus [https://github.com/ultrasaurus/test-first-teaching/blob/master/learn_ruby/pig_latin/](https://github.com/ultrasaurus/test-first-teaching/blob/master/learn_ruby/pig_latin/)
@@ -7,9 +7,8 @@ overview of poker hands.
7
7
 
8
8
  ### Submitting Exercises
9
9
 
10
- Note that, when trying to submit an exercise, make sure the exercise file that you're submitting is in the `exercism/csharp/<exerciseName>` directory.
10
+ Note that, when trying to submit an exercise, make sure the exercise file that you're submitting is in the `exercism/csharp/poker` directory.
11
11
 
12
- For example, if you're submitting `bob.cs` for the Bob exercise, the submit command would be something like `exercism submit <path_to_exercism_dir>/csharp/bob/bob.cs`.
13
12
  ## Source
14
13
 
15
14
  Inspired by the training course from Udacity. [https://www.udacity.com/course/viewer#!/c-cs212/](https://www.udacity.com/course/viewer#!/c-cs212/)
@@ -1,14 +1,12 @@
1
- # Pov
1
+ # POV
2
2
 
3
3
  Reparent a graph on a selected node.
4
4
 
5
- # Tree Reparenting
6
-
7
5
  This exercise is all about re-orientating a graph to see things from a different
8
6
  point of view. For example family trees are usually presented from the
9
7
  ancestor's perspective:
10
8
 
11
- ```
9
+ ```text
12
10
  +------0------+
13
11
  | | |
14
12
  +-1-+ +-2-+ +-3-+
@@ -20,7 +18,7 @@ But the same information can be presented from the perspective of any other node
20
18
  in the graph, by pulling it up to the root and dragging its relationships along
21
19
  with it. So the same graph from 6's perspective would look like:
22
20
 
23
- ```
21
+ ```text
24
22
  6
25
23
  |
26
24
  +-----2-----+
@@ -41,9 +39,8 @@ of view of one of the nodes.
41
39
 
42
40
  ### Submitting Exercises
43
41
 
44
- Note that, when trying to submit an exercise, make sure the exercise file that you're submitting is in the `exercism/csharp/<exerciseName>` directory.
42
+ Note that, when trying to submit an exercise, make sure the exercise file that you're submitting is in the `exercism/csharp/pov` directory.
45
43
 
46
- For example, if you're submitting `bob.cs` for the Bob exercise, the submit command would be something like `exercism submit <path_to_exercism_dir>/csharp/bob/bob.cs`.
47
44
  ## Source
48
45
 
49
46
  Adaptation of exercise from 4clojure [https://www.4clojure.com/](https://www.4clojure.com/)
@@ -31,9 +31,8 @@ You can check this yourself:
31
31
 
32
32
  ### Submitting Exercises
33
33
 
34
- Note that, when trying to submit an exercise, make sure the exercise file that you're submitting is in the `exercism/csharp/<exerciseName>` directory.
34
+ Note that, when trying to submit an exercise, make sure the exercise file that you're submitting is in the `exercism/csharp/prime-factors` directory.
35
35
 
36
- For example, if you're submitting `bob.cs` for the Bob exercise, the submit command would be something like `exercism submit <path_to_exercism_dir>/csharp/bob/bob.cs`.
37
36
  ## Source
38
37
 
39
38
  The Prime Factors Kata by Uncle Bob [http://butunclebob.com/ArticleS.UncleBob.ThePrimeFactorsKata](http://butunclebob.com/ArticleS.UncleBob.ThePrimeFactorsKata)
@@ -10,21 +10,21 @@ Codons: `"AUG", "UUU", "UCU"`
10
10
  => which become a polypeptide with the following sequence =>
11
11
 
12
12
  Protein: `"Methionine", "Phenylalanine", "Serine"`
13
-
13
+
14
14
  There are 64 codons which in turn correspond to 20 amino acids; however, all of the codon sequences and resulting amino acids are not important in this exercise. If it works for one codon, the program should work for all of them.
15
- However, feel free to expand the list in the test suite to include them all.
15
+ However, feel free to expand the list in the test suite to include them all.
16
16
 
17
- There are also four terminating codons (also known as 'STOP' codons); if any of these codons are encountered (by the ribosome), all translation ends and the protein is terminated.
17
+ There are also three terminating codons (also known as 'STOP' codons); if any of these codons are encountered (by the ribosome), all translation ends and the protein is terminated.
18
18
 
19
19
  All subsequent codons after are ignored, like this:
20
20
 
21
21
  RNA: `"AUGUUUUCUUAAAUG"` =>
22
22
 
23
- Codons: `"AUG", "UUU", "UCU", "UAG", "AUG"` =>
23
+ Codons: `"AUG", "UUU", "UCU", "UAA", "AUG"` =>
24
24
 
25
25
  Protein: `"Methionine", "Phenylalanine", "Serine"`
26
26
 
27
- Note the stop codon terminates the translation and the final methionine is not translated into the protein sequence.
27
+ Note the stop codon `"UAA"` terminates the translation and the final methionine is not translated into the protein sequence.
28
28
 
29
29
  Below are the codons and resulting Amino Acids needed for the exercise.
30
30
 
@@ -39,14 +39,12 @@ UGU, UGC | Cysteine
39
39
  UGG | Tryptophan
40
40
  UAA, UAG, UGA | STOP
41
41
 
42
-
43
42
  Learn more about [protein translation on Wikipedia](http://en.wikipedia.org/wiki/Translation_(biology))
44
43
 
45
44
  ### Submitting Exercises
46
45
 
47
- Note that, when trying to submit an exercise, make sure the exercise file that you're submitting is in the `exercism/csharp/<exerciseName>` directory.
46
+ Note that, when trying to submit an exercise, make sure the exercise file that you're submitting is in the `exercism/csharp/protein-translation` directory.
48
47
 
49
- For example, if you're submitting `bob.cs` for the Bob exercise, the submit command would be something like `exercism submit <path_to_exercism_dir>/csharp/bob/bob.cs`.
50
48
  ## Source
51
49
 
52
50
  Tyler Long
@@ -1,15 +1,20 @@
1
1
  # Proverb
2
2
 
3
- For want of a horseshoe nail, a kingdom was lost, or so the saying goes. Output
4
- the full text of this proverbial rhyme:
3
+ For want of a horseshoe nail, a kingdom was lost, or so the saying goes.
5
4
 
6
- > For want of a nail the shoe was lost.
7
- > For want of a shoe the horse was lost.
8
- > For want of a horse the rider was lost.
9
- > For want of a rider the message was lost.
10
- > For want of a message the battle was lost.
11
- > For want of a battle the kingdom was lost.
12
- > And all for the want of a horseshoe nail.
5
+ Given a list of inputs, generate the relevant proverb. For example, given the list `["nail", "shoe", "horse", "rider", "message", "battle", "kingdom"]`, you will output the full text of this proverbial rhyme:
6
+
7
+ ```text
8
+ For want of a nail the shoe was lost.
9
+ For want of a shoe the horse was lost.
10
+ For want of a horse the rider was lost.
11
+ For want of a rider the message was lost.
12
+ For want of a message the battle was lost.
13
+ For want of a battle the kingdom was lost.
14
+ And all for the want of a nail.
15
+ ```
16
+
17
+ Note that the list of inputs may vary; your solution should be able to handle lists of arbitrary length and content. No line of the output text should be a static, unchanging string; all should vary according to the input given.
13
18
 
14
19
  ## HINTS
15
20
 
@@ -17,9 +22,8 @@ Try to capture the structure of the song in your code, where you build up the so
17
22
 
18
23
  ### Submitting Exercises
19
24
 
20
- Note that, when trying to submit an exercise, make sure the exercise file that you're submitting is in the `exercism/csharp/<exerciseName>` directory.
25
+ Note that, when trying to submit an exercise, make sure the exercise file that you're submitting is in the `exercism/csharp/proverb` directory.
21
26
 
22
- For example, if you're submitting `bob.cs` for the Bob exercise, the submit command would be something like `exercism submit <path_to_exercism_dir>/csharp/bob/bob.cs`.
23
27
  ## Source
24
28
 
25
29
  Wikipedia [http://en.wikipedia.org/wiki/For_Want_of_a_Nail](http://en.wikipedia.org/wiki/For_Want_of_a_Nail)
@@ -3,13 +3,13 @@
3
3
  A Pythagorean triplet is a set of three natural numbers, {a, b, c}, for
4
4
  which,
5
5
 
6
- ```
6
+ ```text
7
7
  a**2 + b**2 = c**2
8
8
  ```
9
9
 
10
- For example,
10
+ For example,
11
11
 
12
- ```
12
+ ```text
13
13
  3**2 + 4**2 = 9 + 16 = 25 = 5**2.
14
14
  ```
15
15
 
@@ -19,9 +19,8 @@ Find the product a * b * c.
19
19
 
20
20
  ### Submitting Exercises
21
21
 
22
- Note that, when trying to submit an exercise, make sure the exercise file that you're submitting is in the `exercism/csharp/<exerciseName>` directory.
22
+ Note that, when trying to submit an exercise, make sure the exercise file that you're submitting is in the `exercism/csharp/pythagorean-triplet` directory.
23
23
 
24
- For example, if you're submitting `bob.cs` for the Bob exercise, the submit command would be something like `exercism submit <path_to_exercism_dir>/csharp/bob/bob.cs`.
25
24
  ## Source
26
25
 
27
26
  Problem 9 at Project Euler [http://projecteuler.net/problem=9](http://projecteuler.net/problem=9)
@@ -11,7 +11,7 @@ A chessboard can be represented by an 8 by 8 array.
11
11
  So if you're told the white queen is at (2, 3) and the black queen at
12
12
  (5, 6), then you'd know you've got a set-up like so:
13
13
 
14
- ```plain
14
+ ```text
15
15
  _ _ _ _ _ _ _ _
16
16
  _ _ _ _ _ _ _ _
17
17
  _ _ _ W _ _ _ _
@@ -28,9 +28,8 @@ share a diagonal.
28
28
 
29
29
  ### Submitting Exercises
30
30
 
31
- Note that, when trying to submit an exercise, make sure the exercise file that you're submitting is in the `exercism/csharp/<exerciseName>` directory.
31
+ Note that, when trying to submit an exercise, make sure the exercise file that you're submitting is in the `exercism/csharp/queen-attack` directory.
32
32
 
33
- For example, if you're submitting `bob.cs` for the Bob exercise, the submit command would be something like `exercism submit <path_to_exercism_dir>/csharp/bob/bob.cs`.
34
33
  ## Source
35
34
 
36
35
  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)
@@ -11,41 +11,46 @@ Finally the message is then read off in rows.
11
11
 
12
12
  For example, using three "rails" and the message "WE ARE DISCOVERED FLEE AT ONCE",
13
13
  the cipherer writes out:
14
- ```
14
+
15
+ ```text
15
16
  W . . . E . . . C . . . R . . . L . . . T . . . E
16
17
  . E . R . D . S . O . E . E . F . E . A . O . C .
17
18
  . . A . . . I . . . V . . . D . . . E . . . N . .
18
19
  ```
19
20
 
20
21
  Then reads off:
21
- ```
22
+
23
+ ```text
22
24
  WECRLTEERDSOEEFEAOCAIVDEN
23
25
  ```
24
26
 
25
-
26
27
  To decrypt a message you take the zig-zag shape and fill the ciphertext along the rows.
27
- ```
28
+
29
+ ```text
28
30
  ? . . . ? . . . ? . . . ? . . . ? . . . ? . . . ?
29
31
  . ? . ? . ? . ? . ? . ? . ? . ? . ? . ? . ? . ? .
30
32
  . . ? . . . ? . . . ? . . . ? . . . ? . . . ? . .
31
33
  ```
32
34
 
33
35
  The first row has seven spots that can be filled with "WECRLTE".
34
- ```
36
+
37
+ ```text
35
38
  W . . . E . . . C . . . R . . . L . . . T . . . E
36
39
  . ? . ? . ? . ? . ? . ? . ? . ? . ? . ? . ? . ? .
37
40
  . . ? . . . ? . . . ? . . . ? . . . ? . . . ? . .
38
41
  ```
39
42
 
40
43
  Now the 2nd row takes "ERDSOEEFEAOC".
41
- ```
44
+
45
+ ```text
42
46
  W . . . E . . . C . . . R . . . L . . . T . . . E
43
47
  . E . R . D . S . O . E . E . F . E . A . O . C .
44
48
  . . ? . . . ? . . . ? . . . ? . . . ? . . . ? . .
45
49
  ```
46
50
 
47
51
  Leaving "AIVDEN" for the last row.
48
- ```
52
+
53
+ ```text
49
54
  W . . . E . . . C . . . R . . . L . . . T . . . E
50
55
  . E . R . D . S . O . E . E . F . E . A . O . C .
51
56
  . . A . . . I . . . V . . . D . . . E . . . N . .
@@ -55,9 +60,8 @@ If you now read along the zig-zag shape you can read the original message.
55
60
 
56
61
  ### Submitting Exercises
57
62
 
58
- Note that, when trying to submit an exercise, make sure the exercise file that you're submitting is in the `exercism/csharp/<exerciseName>` directory.
63
+ Note that, when trying to submit an exercise, make sure the exercise file that you're submitting is in the `exercism/csharp/rail-fence-cipher` directory.
59
64
 
60
- For example, if you're submitting `bob.cs` for the Bob exercise, the submit command would be something like `exercism submit <path_to_exercism_dir>/csharp/bob/bob.cs`.
61
65
  ## Source
62
66
 
63
67
  Wikipedia [https://en.wikipedia.org/wiki/Transposition_cipher#Rail_Fence_cipher](https://en.wikipedia.org/wiki/Transposition_cipher#Rail_Fence_cipher)