From a2efb1d0ab2831cc2a70f1354d4ceada87d84a4a Mon Sep 17 00:00:00 2001 From: w3cj Date: Wed, 27 Feb 2019 23:18:28 -0700 Subject: [PATCH] :sparkles: Update kata names to match slug --- README.md | 212 +-- episode_000/contents.md | 217 --- episode_000/generate.js | 74 + episode_000/generateJSON.js | 57 - episode_000/generateReadme.js | 47 - episode_000/katas.json | 1549 +++++++++-------- episode_000/videos.json | 44 +- ...morse-code.js => decode-the-morse-code.js} | 0 episode_001/{accum.js => mumbling.js} | 0 episode_002/{exes-os.js => exes-and-ohs.js} | 0 ...{jaden-case.js => jaden-casing-strings.js} | 0 episode_002/{sum-pairs.js => sum-of-pairs.js} | 0 ...dna-compliment.js => complementary-dna.js} | 0 .../{pig-latin.js => simple-pig-latin.js} | 0 ...ePhoneNumber.js => create-phone-number.js} | 0 ...ides-sum.js => equal-sides-of-an-array.js} | 0 ...inLength.js => palindrome-chain-length.js} | 0 ...=> sum-of-two-lowest-positive-integers.js} | 0 ...eginner-series-number-3-sum-of-numbers.js} | 0 .../{odd-int.js => find-the-odd-int.js} | 0 ...s-to-end.js => moving-zeros-to-the-end.js} | 0 ... => reverse-polish-notation-calculator.js} | 0 ...js => sum-of-digits-slash-digital-root.js} | 0 ...ase.js => convert-string-to-camel-case.js} | 0 episode_007/{isogram.js => isograms.js} | 0 ...s-of-3-and-5.js => multiples-of-3-or-5.js} | 0 ...rgb-to-hex.js => rgb-to-hex-conversion.js} | 0 .../{anagrams.js => where-my-anagrams-at.js} | 0 ...opulation.js => growth-of-a-population.js} | 0 episode_008/{rot13.js => rot13-1.js} | 0 ...-of-the-character-recognition-software.js} | 0 ....js => does-my-number-look-big-in-this.js} | 0 ...are.js => nesting-structure-comparison.js} | 0 ...ssword.js => regex-password-validation.js} | 0 ...{find-divisors.js => find-the-divisors.js} | 0 ...ing-words.js => stop-gninnips-my-sdrow.js} | 0 ...square-digits.js => square-every-digit.js} | 0 ...ing-of-names-like-bart-lisa-and-maggie.js} | 0 ...gination-helper.js => paginationhelper.js} | 0 ...-outlier.js => find-the-parity-outlier.js} | 0 ...er.js => first-non-repeating-character.js} | 0 ...=> sum-of-the-first-nth-term-of-series.js} | 0 ...uplicateEncode.js => duplicate-encoder.js} | 0 ...oizeFibonacci.js => memoized-fibonacci.js} | 0 episode_014/{twoToOne.js => two-to-one.js} | 0 ...vert-pascalcase-string-into-snake-case.js} | 0 ...ble-number-combos-that-sum-to-a-number.js} | 0 ...t-consecutive-zeros-of-a-binary-number.js} | 0 ...r-treat.js => halloween-trick-or-treat.js} | 0 ...dies.js => distributing-candies-fairly.js} | 0 50 files changed, 1017 insertions(+), 1183 deletions(-) delete mode 100644 episode_000/contents.md create mode 100644 episode_000/generate.js delete mode 100644 episode_000/generateJSON.js delete mode 100644 episode_000/generateReadme.js rename episode_001/{morse-code.js => decode-the-morse-code.js} (100%) rename episode_001/{accum.js => mumbling.js} (100%) rename episode_002/{exes-os.js => exes-and-ohs.js} (100%) rename episode_002/{jaden-case.js => jaden-casing-strings.js} (100%) rename episode_002/{sum-pairs.js => sum-of-pairs.js} (100%) rename episode_003/{dna-compliment.js => complementary-dna.js} (100%) rename episode_003/{pig-latin.js => simple-pig-latin.js} (100%) rename episode_005/{createPhoneNumber.js => create-phone-number.js} (100%) rename episode_005/{equal-sides-sum.js => equal-sides-of-an-array.js} (100%) rename episode_005/{palindromeChainLength.js => palindrome-chain-length.js} (100%) rename episode_005/{sum-of-two-lowest.js => sum-of-two-lowest-positive-integers.js} (100%) rename episode_006/{sum-of-numbers.js => beginner-series-number-3-sum-of-numbers.js} (100%) rename episode_006/{odd-int.js => find-the-odd-int.js} (100%) rename episode_006/{zeros-to-end.js => moving-zeros-to-the-end.js} (100%) rename episode_006/{reverse-polish-notation.js => reverse-polish-notation-calculator.js} (100%) rename episode_006/{digital-root.js => sum-of-digits-slash-digital-root.js} (100%) rename episode_007/{camel-case.js => convert-string-to-camel-case.js} (100%) rename episode_007/{isogram.js => isograms.js} (100%) rename episode_007/{multiples-of-3-and-5.js => multiples-of-3-or-5.js} (100%) rename episode_007/{rgb-to-hex.js => rgb-to-hex-conversion.js} (100%) rename episode_007/{anagrams.js => where-my-anagrams-at.js} (100%) rename episode_008/{growth-population.js => growth-of-a-population.js} (100%) rename episode_008/{rot13.js => rot13-1.js} (100%) rename episode_009/{character-recognition-mistakes.js => correct-the-mistakes-of-the-character-recognition-software.js} (100%) rename episode_009/{narcissistic-numbers.js => does-my-number-look-big-in-this.js} (100%) rename episode_009/{nested-structure-compare.js => nesting-structure-comparison.js} (100%) rename episode_009/{regex-password.js => regex-password-validation.js} (100%) rename episode_010/{find-divisors.js => find-the-divisors.js} (100%) rename episode_010/{spinning-words.js => stop-gninnips-my-sdrow.js} (100%) rename episode_011/{square-digits.js => square-every-digit.js} (100%) rename episode_012/{format-string-names.js => format-a-string-of-names-like-bart-lisa-and-maggie.js} (100%) rename episode_012/{pagination-helper.js => paginationhelper.js} (100%) rename episode_013/{parity-outlier.js => find-the-parity-outlier.js} (100%) rename episode_013/{firstNonRepeatingCharacter.js => first-non-repeating-character.js} (100%) rename episode_013/{series-sum.js => sum-of-the-first-nth-term-of-series.js} (100%) rename episode_014/{duplicateEncode.js => duplicate-encoder.js} (100%) rename episode_014/{memoizeFibonacci.js => memoized-fibonacci.js} (100%) rename episode_014/{twoToOne.js => two-to-one.js} (100%) rename episode_019/{pascalcase-into-snake-case.js => convert-pascalcase-string-into-snake-case.js} (100%) rename episode_019/{number-combos.js => find-all-possible-number-combos-that-sum-to-a-number.js} (100%) rename episode_019/{most-consecutive-zeros.js => most-consecutive-zeros-of-a-binary-number.js} (100%) rename episode_020/{trick-or-treat.js => halloween-trick-or-treat.js} (100%) rename episode_021/{distributing-candies.js => distributing-candies-fairly.js} (100%) diff --git a/README.md b/README.md index 205789d..59bbccf 100644 --- a/README.md +++ b/README.md @@ -1,230 +1,230 @@ # Code Katas Search / Filter solutions [here](https://code-katas.now.sh/) - + # Episodes - + ## [Episode 24](./episode_024) [Watch on YouTube](https://www.youtube.com/watch?v=QOWczTDlPh8) -* [the-highest-profit-wins](./episode_024/the-highest-profit-wins.js) - 7 kyu -* [ip-validation](./episode_024/ip-validation.js) - 6 kyu -* [simple-time-bomb](./episode_024/simple-time-bomb.js) - 5 kyu -* [bowling-score-calculator](./episode_024/bowling-score-calculator.js) - 5 kyu +* [The highest profit wins!](./episode_024/the-highest-profit-wins.js) - [7 kyu](https://www.codewars.com/kata/the-highest-profit-wins) +* [IP Validation](./episode_024/ip-validation.js) - [6 kyu](https://www.codewars.com/kata/ip-validation) +* [Bowling score calculator](./episode_024/bowling-score-calculator.js) - [5 kyu](https://www.codewars.com/kata/bowling-score-calculator) +* [Simple Time Bomb](./episode_024/simple-time-bomb.js) - [5 kyu](https://www.codewars.com/kata/simple-time-bomb) ## [Episode 23](./episode_023) [Watch on YouTube](https://www.youtube.com/watch?v=c_EREn-eF5s) -* [remove-the-minimum](./episode_023/remove-the-minimum.js) - 7 kyu -* [rot13](./episode_023/rot13.js) - 5 kyu -* [strip-comments](./episode_023/strip-comments.js) - 4 kyu -* [title-case](./episode_023/title-case.js) - 6 kyu +* [Remove the minimum](./episode_023/remove-the-minimum.js) - [7 kyu](https://www.codewars.com/kata/remove-the-minimum) +* [Title Case](./episode_023/title-case.js) - [6 kyu](https://www.codewars.com/kata/title-case) +* [ROT13](./episode_023/rot13.js) - [5 kyu](https://www.codewars.com/kata/rot13) +* [Strip Comments](./episode_023/strip-comments.js) - [4 kyu](https://www.codewars.com/kata/strip-comments) ## [Episode 22](./episode_022) [Watch on YouTube](https://www.youtube.com/watch?v=xgW-due5ukM) -* [delete-occurrences-of-an-element-if-it-occurs-more-than-n-times](./episode_022/delete-occurrences-of-an-element-if-it-occurs-more-than-n-times.js) - 6 kyu -* [regex-validate-pin-code](./episode_022/regex-validate-pin-code.js) - 7 kyu -* [tic-tac-toe-checker](./episode_022/tic-tac-toe-checker.js) - 5 kyu -* [vector-class](./episode_022/vector-class.js) - 5 kyu +* [Regex validate PIN code](./episode_022/regex-validate-pin-code.js) - [7 kyu](https://www.codewars.com/kata/regex-validate-pin-code) +* [Delete occurrences of an element if it occurs more than n times](./episode_022/delete-occurrences-of-an-element-if-it-occurs-more-than-n-times.js) - [6 kyu](https://www.codewars.com/kata/delete-occurrences-of-an-element-if-it-occurs-more-than-n-times) +* [Tic-Tac-Toe Checker](./episode_022/tic-tac-toe-checker.js) - [5 kyu](https://www.codewars.com/kata/tic-tac-toe-checker) +* [Vector class](./episode_022/vector-class.js) - [5 kyu](https://www.codewars.com/kata/vector-class) ## [Episode 21](./episode_021) [Watch on YouTube](https://www.youtube.com/watch?v=LiD9TT--F5Y) -* [did-i-finish-my-sudoku](./episode_021/did-i-finish-my-sudoku.js) - 5 kyu -* [distributing-candies](./episode_021/distributing-candies.js) - 7 kyu -* [vasya-clerk](./episode_021/vasya-clerk.js) - 6 kyu +* [Distributing Candies Fairly](./episode_021/distributing-candies-fairly.js) - [7 kyu](https://www.codewars.com/kata/distributing-candies-fairly) +* [Vasya - Clerk](./episode_021/vasya-clerk.js) - [6 kyu](https://www.codewars.com/kata/vasya-clerk) +* [Did I Finish my Sudoku?](./episode_021/did-i-finish-my-sudoku.js) - [5 kyu](https://www.codewars.com/kata/did-i-finish-my-sudoku) ## [Episode 20](./episode_020) [Watch on YouTube](https://www.youtube.com/watch?v=NGcsIUBKHiI) -* [halloween-sweets](./episode_020/halloween-sweets.js) - 5 kyu -* [pirate-code](./episode_020/pirate-code.js) - 7 kyu -* [trick-or-treat](./episode_020/trick-or-treat.js) - 6 kyu +* [Pirate Code](./episode_020/pirate-code.js) - [7 kyu](https://www.codewars.com/kata/pirate-code) +* [Halloween: trick or treat!](./episode_020/halloween-trick-or-treat.js) - [6 kyu](https://www.codewars.com/kata/halloween-trick-or-treat) +* [Halloween Sweets](./episode_020/halloween-sweets.js) - [5 kyu](https://www.codewars.com/kata/halloween-sweets) ## [Episode 19](./episode_019) [Watch on YouTube](https://www.youtube.com/watch?v=EyyiM71-r18) -* [bouncing-balls](./episode_019/bouncing-balls.js) - 6 kyu -* [most-consecutive-zeros](./episode_019/most-consecutive-zeros.js) - 6 kyu -* [number-combos](./episode_019/number-combos.js) - 4 kyu -* [pascalcase-into-snake-case](./episode_019/pascalcase-into-snake-case.js) - 5 kyu -* [sum-of-a-sequence](./episode_019/sum-of-a-sequence.js) - 7 kyu +* [Sum of a sequence](./episode_019/sum-of-a-sequence.js) - [7 kyu](https://www.codewars.com/kata/sum-of-a-sequence) +* [Bouncing Balls](./episode_019/bouncing-balls.js) - [6 kyu](https://www.codewars.com/kata/bouncing-balls) +* [Most Consecutive Zeros of a Binary Number](./episode_019/most-consecutive-zeros-of-a-binary-number.js) - [6 kyu](https://www.codewars.com/kata/most-consecutive-zeros-of-a-binary-number) +* [Convert PascalCase string into snake_case](./episode_019/convert-pascalcase-string-into-snake-case.js) - [5 kyu](https://www.codewars.com/kata/convert-pascalcase-string-into-snake-case) +* [Find all possible number combos that sum to a number](./episode_019/find-all-possible-number-combos-that-sum-to-a-number.js) - [4 kyu](https://www.codewars.com/kata/find-all-possible-number-combos-that-sum-to-a-number) ## [Episode 18](./episode_018) [Watch on YouTube](https://www.youtube.com/watch?v=qqznbb9xJa4) -* [friend-or-foe](./episode_018/friend-or-foe.js) - 7 kyu -* [greed-is-good](./episode_018/greed-is-good.js) - 5 kyu -* [math-issues](./episode_018/math-issues.js) - 5 kyu -* [which-are-in](./episode_018/which-are-in.js) - 6 kyu +* [Friend or Foe?](./episode_018/friend-or-foe.js) - [7 kyu](https://www.codewars.com/kata/friend-or-foe) +* [Which are in?](./episode_018/which-are-in.js) - [6 kyu](https://www.codewars.com/kata/which-are-in) +* [Greed is Good](./episode_018/greed-is-good.js) - [5 kyu](https://www.codewars.com/kata/greed-is-good) +* [Math Issues](./episode_018/math-issues.js) - [5 kyu](https://www.codewars.com/kata/math-issues) ## [Episode 17](./episode_017) [Watch on YouTube](https://www.youtube.com/watch?v=jFJGnX-q0Tc) -* [double-cola](./episode_017/double-cola.js) - 5 kyu -* [exponential-comparison](./episode_017/exponential-comparison.js) - 6 kyu -* [ones-and-zeros](./episode_017/ones-and-zeros.js) - 7 kyu -* [square-every-digit](./episode_017/square-every-digit.js) - 7 kyu +* [Ones and Zeros](./episode_017/ones-and-zeros.js) - [7 kyu](https://www.codewars.com/kata/ones-and-zeros) +* [Square Every Digit](./episode_017/square-every-digit.js) - [7 kyu](https://www.codewars.com/kata/square-every-digit) +* [Exponential Comparison](./episode_017/exponential-comparison.js) - [6 kyu](https://www.codewars.com/kata/exponential-comparison) +* [Double Cola](./episode_017/double-cola.js) - [5 kyu](https://www.codewars.com/kata/double-cola) ## [Episode 16](./episode_016) [Watch on YouTube](https://www.youtube.com/watch?v=BKBZLZ50xh8) -* [replace-with-alphabet-position](./episode_016/replace-with-alphabet-position.js) - 6 kyu -* [valid-parentheses](./episode_016/valid-parentheses.js) - 5 kyu -* [youre-a-square](./episode_016/youre-a-square.js) - 7 kyu +* [You're a square!](./episode_016/youre-a-square.js) - [7 kyu](https://www.codewars.com/kata/youre-a-square) +* [Replace With Alphabet Position](./episode_016/replace-with-alphabet-position.js) - [6 kyu](https://www.codewars.com/kata/replace-with-alphabet-position) +* [Valid Parentheses](./episode_016/valid-parentheses.js) - [5 kyu](https://www.codewars.com/kata/valid-parentheses) ## [Episode 15](./episode_015) [Watch on YouTube](https://www.youtube.com/watch?v=R49EFycGF3s) -* [dont-rely-on-luck](./episode_015/dont-rely-on-luck.js) - 6 kyu -* [find-the-capitals](./episode_015/find-the-capitals.js) - 7 kyu -* [range-extraction](./episode_015/range-extraction.js) - 4 kyu -* [the-hashtag-generator](./episode_015/the-hashtag-generator.js) - 5 kyu +* [Find the Capitals](./episode_015/find-the-capitals.js) - [7 kyu](https://www.codewars.com/kata/find-the-capitals) +* [Don't rely on luck.](./episode_015/dont-rely-on-luck.js) - [6 kyu](https://www.codewars.com/kata/dont-rely-on-luck) +* [The Hashtag Generator](./episode_015/the-hashtag-generator.js) - [5 kyu](https://www.codewars.com/kata/the-hashtag-generator) +* [Range Extraction](./episode_015/range-extraction.js) - [4 kyu](https://www.codewars.com/kata/range-extraction) ## [Episode 14](./episode_014) [Watch on YouTube](https://www.youtube.com/watch?v=dE5TV-TGfEo) -* [duplicateEncode](./episode_014/duplicateEncode.js) - 6 kyu -* [memoizeFibonacci](./episode_014/memoizeFibonacci.js) - 5 kyu -* [snail](./episode_014/snail.js) - 4 kyu -* [twoToOne](./episode_014/twoToOne.js) - 7 kyu +* [Two to One](./episode_014/two-to-one.js) - [7 kyu](https://www.codewars.com/kata/two-to-one) +* [Duplicate Encoder](./episode_014/duplicate-encoder.js) - [6 kyu](https://www.codewars.com/kata/duplicate-encoder) +* [Memoized Fibonacci](./episode_014/memoized-fibonacci.js) - [5 kyu](https://www.codewars.com/kata/memoized-fibonacci) +* [Snail](./episode_014/snail.js) - [4 kyu](https://www.codewars.com/kata/snail) ## [Episode 13](./episode_013) [Watch on YouTube](https://www.youtube.com/watch?v=_xud7qSXkOw) -* [firstNonRepeatingCharacter](./episode_013/firstNonRepeatingCharacter.js) - 5 kyu -* [parity-outlier](./episode_013/parity-outlier.js) - 6 kyu -* [printer-errors](./episode_013/printer-errors.js) - 7 kyu -* [series-sum](./episode_013/series-sum.js) - 7 kyu +* [Printer Errors](./episode_013/printer-errors.js) - [7 kyu](https://www.codewars.com/kata/printer-errors) +* [Sum of the first nth term of Series](./episode_013/sum-of-the-first-nth-term-of-series.js) - [7 kyu](https://www.codewars.com/kata/sum-of-the-first-nth-term-of-series) +* [Find The Parity Outlier](./episode_013/find-the-parity-outlier.js) - [6 kyu](https://www.codewars.com/kata/find-the-parity-outlier) +* [First non-repeating character](./episode_013/first-non-repeating-character.js) - [5 kyu](https://www.codewars.com/kata/first-non-repeating-character) ## [Episode 12](./episode_012) [Watch on YouTube](https://www.youtube.com/watch?v=Ozp_PY1OOnw) -* [format-string-names](./episode_012/format-string-names.js) - 6 kyu -* [pagination-helper](./episode_012/pagination-helper.js) - 5 kyu -* [sum-of-odd-numbers](./episode_012/sum-of-odd-numbers.js) - 7 kyu +* [Sum of odd numbers](./episode_012/sum-of-odd-numbers.js) - [7 kyu](https://www.codewars.com/kata/sum-of-odd-numbers) +* [Format a string of names like 'Bart, Lisa & Maggie'.](./episode_012/format-a-string-of-names-like-bart-lisa-and-maggie.js) - [6 kyu](https://www.codewars.com/kata/format-a-string-of-names-like-bart-lisa-and-maggie) +* [PaginationHelper](./episode_012/paginationhelper.js) - [5 kyu](https://www.codewars.com/kata/paginationhelper) ## [Episode 11](./episode_011) [Watch on YouTube](https://www.youtube.com/watch?v=bPTonTi42ic) -* [counting-duplicates](./episode_011/counting-duplicates.js) - 6 kyu -* [square-digits](./episode_011/square-digits.js) - 7 kyu -* [weight-for-weight](./episode_011/weight-for-weight.js) - 5 kyu +* [Square Every Digit](./episode_011/square-every-digit.js) - [7 kyu](https://www.codewars.com/kata/square-every-digit) +* [Counting Duplicates](./episode_011/counting-duplicates.js) - [6 kyu](https://www.codewars.com/kata/counting-duplicates) +* [Weight for weight](./episode_011/weight-for-weight.js) - [5 kyu](https://www.codewars.com/kata/weight-for-weight) ## [Episode 10](./episode_010) [Watch on YouTube](https://www.youtube.com/watch?v=6eoqEYc5SGI) -* [find-divisors](./episode_010/find-divisors.js) - 7 kyu -* [pete-the-baker](./episode_010/pete-the-baker.js) - 5 kyu -* [spinning-words](./episode_010/spinning-words.js) - 6 kyu +* [Find the divisors! ](./episode_010/find-the-divisors.js) - [7 kyu](https://www.codewars.com/kata/find-the-divisors) +* [Stop gninnipS My sdroW!](./episode_010/stop-gninnips-my-sdrow.js) - [6 kyu](https://www.codewars.com/kata/stop-gninnips-my-sdrow) +* [Pete, the baker](./episode_010/pete-the-baker.js) - [5 kyu](https://www.codewars.com/kata/pete-the-baker) ## [Episode 9](./episode_009) [Watch on YouTube](https://www.youtube.com/watch?v=0atKorB6tAI) -* [character-recognition-mistakes](./episode_009/character-recognition-mistakes.js) - 8 kyu -* [narcissistic-numbers](./episode_009/narcissistic-numbers.js) - 6 kyu -* [nested-structure-compare](./episode_009/nested-structure-compare.js) - 4 kyu -* [regex-password](./episode_009/regex-password.js) - 5 kyu +* [Correct the mistakes of the character recognition software](./episode_009/correct-the-mistakes-of-the-character-recognition-software.js) - [8 kyu](https://www.codewars.com/kata/correct-the-mistakes-of-the-character-recognition-software) +* [Does my number look big in this?](./episode_009/does-my-number-look-big-in-this.js) - [6 kyu](https://www.codewars.com/kata/does-my-number-look-big-in-this) +* [Regex Password Validation](./episode_009/regex-password-validation.js) - [5 kyu](https://www.codewars.com/kata/regex-password-validation) +* [Nesting Structure Comparison](./episode_009/nesting-structure-comparison.js) - [4 kyu](https://www.codewars.com/kata/nesting-structure-comparison) ## [Episode 8](./episode_008) [Watch on YouTube](https://www.youtube.com/watch?v=M_K7azm9i6o) -* [are-they-the-same](./episode_008/are-they-the-same.js) - 6 kyu -* [growth-population](./episode_008/growth-population.js) - 7 kyu -* [rot13](./episode_008/rot13.js) - 5 kyu -* [twice-linear](./episode_008/twice-linear.js) - 4 kyu -* [your-order-please](./episode_008/your-order-please.js) - 6 kyu +* [Growth of a Population](./episode_008/growth-of-a-population.js) - [7 kyu](https://www.codewars.com/kata/growth-of-a-population) +* [Are they the "same"?](./episode_008/are-they-the-same.js) - [6 kyu](https://www.codewars.com/kata/are-they-the-same) +* [Your order, please](./episode_008/your-order-please.js) - [6 kyu](https://www.codewars.com/kata/your-order-please) +* [Rot13](./episode_008/rot13-1.js) - [5 kyu](https://www.codewars.com/kata/rot13-1) +* [Twice linear](./episode_008/twice-linear.js) - [4 kyu](https://www.codewars.com/kata/twice-linear) ## [Episode 7](./episode_007) [Watch on YouTube](https://www.youtube.com/watch?v=O5DmKHgFwjE) -* [anagrams](./episode_007/anagrams.js) - 5 -* [camel-case](./episode_007/camel-case.js) - 6 kyu -* [categorize-new-member](./episode_007/categorize-new-member.js) - 7 kyu -* [isogram](./episode_007/isogram.js) - 7 kyu -* [multiples-of-3-and-5](./episode_007/multiples-of-3-and-5.js) - 6 kyu -* [priori-incantatem](./episode_007/priori-incantatem.js) - 4 kyu -* [rgb-to-hex](./episode_007/rgb-to-hex.js) - 5 kyu +* [Categorize New Member](./episode_007/categorize-new-member.js) - [7 kyu](https://www.codewars.com/kata/categorize-new-member) +* [Isograms](./episode_007/isograms.js) - [7 kyu](https://www.codewars.com/kata/isograms) +* [Convert string to camel case](./episode_007/convert-string-to-camel-case.js) - [6 kyu](https://www.codewars.com/kata/convert-string-to-camel-case) +* [Multiples of 3 or 5](./episode_007/multiples-of-3-or-5.js) - [6 kyu](https://www.codewars.com/kata/multiples-of-3-or-5) +* [RGB To Hex Conversion](./episode_007/rgb-to-hex-conversion.js) - [5 kyu](https://www.codewars.com/kata/rgb-to-hex-conversion) +* [Where my anagrams at?](./episode_007/where-my-anagrams-at.js) - [5 kyu](https://www.codewars.com/kata/where-my-anagrams-at) +* [Priori Incantatem](./episode_007/priori-incantatem.js) - [4 kyu](https://www.codewars.com/kata/priori-incantatem) ## [Episode 6](./episode_006) [Watch on YouTube](https://www.youtube.com/watch?v=mwoA9wjp7ec) -* [calculating-with-functions](./episode_006/calculating-with-functions.js) - 5 kyu -* [digital-root](./episode_006/digital-root.js) - 6 kyu -* [dubstep](./episode_006/dubstep.js) - 6 kyu -* [odd-int](./episode_006/odd-int.js) - 6 kyu -* [reverse-polish-notation](./episode_006/reverse-polish-notation.js) - 6 -* [sum-of-numbers](./episode_006/sum-of-numbers.js) - 7 -* [zeros-to-end](./episode_006/zeros-to-end.js) - 5 kyu +* [Beginner Series #3 Sum of Numbers](./episode_006/beginner-series-number-3-sum-of-numbers.js) - [7 kyu](https://www.codewars.com/kata/beginner-series-number-3-sum-of-numbers) +* [Dubstep](./episode_006/dubstep.js) - [6 kyu](https://www.codewars.com/kata/dubstep) +* [Find the odd int](./episode_006/find-the-odd-int.js) - [6 kyu](https://www.codewars.com/kata/find-the-odd-int) +* [Reverse polish notation calculator](./episode_006/reverse-polish-notation-calculator.js) - [6 kyu](https://www.codewars.com/kata/reverse-polish-notation-calculator) +* [Sum of Digits / Digital Root](./episode_006/sum-of-digits-slash-digital-root.js) - [6 kyu](https://www.codewars.com/kata/sum-of-digits-slash-digital-root) +* [Calculating with Functions](./episode_006/calculating-with-functions.js) - [5 kyu](https://www.codewars.com/kata/calculating-with-functions) +* [Moving Zeros To The End](./episode_006/moving-zeros-to-the-end.js) - [5 kyu](https://www.codewars.com/kata/moving-zeros-to-the-end) ## [Episode 5](./episode_005) [Watch on YouTube](https://www.youtube.com/watch?v=S-h_tfwHQAQ) -* [createPhoneNumber](./episode_005/createPhoneNumber.js) - 6 kyu -* [credit-card-mask](./episode_005/credit-card-mask.js) - 7 kyu -* [equal-sides-sum](./episode_005/equal-sides-sum.js) - 6 kyu -* [palindromeChainLength](./episode_005/palindromeChainLength.js) - 7 kyu -* [roman-numerals-encoder](./episode_005/roman-numerals-encoder.js) - 6 kyu -* [sum-of-two-lowest](./episode_005/sum-of-two-lowest.js) - 7 kyu +* [Credit Card Mask](./episode_005/credit-card-mask.js) - [7 kyu](https://www.codewars.com/kata/credit-card-mask) +* [Palindrome chain length](./episode_005/palindrome-chain-length.js) - [7 kyu](https://www.codewars.com/kata/palindrome-chain-length) +* [Sum of two lowest positive integers](./episode_005/sum-of-two-lowest-positive-integers.js) - [7 kyu](https://www.codewars.com/kata/sum-of-two-lowest-positive-integers) +* [Create Phone Number](./episode_005/create-phone-number.js) - [6 kyu](https://www.codewars.com/kata/create-phone-number) +* [Equal Sides Of An Array](./episode_005/equal-sides-of-an-array.js) - [6 kyu](https://www.codewars.com/kata/equal-sides-of-an-array) +* [Roman Numerals Encoder](./episode_005/roman-numerals-encoder.js) - [6 kyu](https://www.codewars.com/kata/roman-numerals-encoder) ## [Episode 4](./episode_004) [Watch on YouTube](https://www.youtube.com/watch?v=2ld5ndNkF2Q) -* [count-the-smiley-faces](./episode_004/count-the-smiley-faces.js) - 6 kyu -* [human-readable-time](./episode_004/human-readable-time.js) - 5 kyu -* [list-filtering](./episode_004/list-filtering.js) - 7 kyu -* [maximum-subarray-sum](./episode_004/maximum-subarray-sum.js) - 5 kyu -* [scramblies](./episode_004/scramblies.js) - 5 kyu -* [sum-strings-as-numbers](./episode_004/sum-strings-as-numbers.js) - 4 kyu +* [List Filtering](./episode_004/list-filtering.js) - [7 kyu](https://www.codewars.com/kata/list-filtering) +* [Count the smiley faces!](./episode_004/count-the-smiley-faces.js) - [6 kyu](https://www.codewars.com/kata/count-the-smiley-faces) +* [Human Readable Time](./episode_004/human-readable-time.js) - [5 kyu](https://www.codewars.com/kata/human-readable-time) +* [Maximum subarray sum](./episode_004/maximum-subarray-sum.js) - [5 kyu](https://www.codewars.com/kata/maximum-subarray-sum) +* [Scramblies](./episode_004/scramblies.js) - [5 kyu](https://www.codewars.com/kata/scramblies) +* [Sum Strings as Numbers](./episode_004/sum-strings-as-numbers.js) - [4 kyu](https://www.codewars.com/kata/sum-strings-as-numbers) ## [Episode 3](./episode_003) [Watch on YouTube](https://www.youtube.com/watch?v=Ms7L-aVN4Hc) -* [dna-compliment](./episode_003/dna-compliment.js) - 7 kyu -* [iq-test](./episode_003/iq-test.js) - 6 kyu -* [pig-latin](./episode_003/pig-latin.js) - 5 -* [take-a-ten-minute-walk](./episode_003/take-a-ten-minute-walk.js) - 6 kyu -* [vowel-count](./episode_003/vowel-count.js) - 7 kyu +* [Complementary DNA](./episode_003/complementary-dna.js) - [7 kyu](https://www.codewars.com/kata/complementary-dna) +* [Vowel Count](./episode_003/vowel-count.js) - [7 kyu](https://www.codewars.com/kata/vowel-count) +* [IQ Test](./episode_003/iq-test.js) - [6 kyu](https://www.codewars.com/kata/iq-test) +* [Take a Ten Minute Walk](./episode_003/take-a-ten-minute-walk.js) - [6 kyu](https://www.codewars.com/kata/take-a-ten-minute-walk) +* [Simple Pig Latin](./episode_003/simple-pig-latin.js) - [5 kyu](https://www.codewars.com/kata/simple-pig-latin) ## [Episode 2](./episode_002) [Watch on YouTube](https://www.youtube.com/watch?v=fH4w_xq2qao) -* [exes-os](./episode_002/exes-os.js) - 7 kyu -* [fat-fingers](./episode_002/fat-fingers.js) - 6 kyu -* [jaden-case](./episode_002/jaden-case.js) - 7 kyu -* [sum-pairs](./episode_002/sum-pairs.js) - 5 kyu +* [Exes and Ohs](./episode_002/exes-and-ohs.js) - [7 kyu](https://www.codewars.com/kata/exes-and-ohs) +* [Jaden Casing Strings](./episode_002/jaden-casing-strings.js) - [7 kyu](https://www.codewars.com/kata/jaden-casing-strings) +* [Fat Fingers](./episode_002/fat-fingers.js) - [6 kyu](https://www.codewars.com/kata/fat-fingers) +* [Sum of Pairs](./episode_002/sum-of-pairs.js) - [5 kyu](https://www.codewars.com/kata/sum-of-pairs) ## [Episode 1](./episode_001) [Watch on YouTube](https://www.youtube.com/watch?v=Oq7r8metsD8) -* [accum](./episode_001/accum.js) - 7 kyu -* [binary-addition](./episode_001/binary-addition.js) - 7 kyu -* [century-from-year](./episode_001/century-from-year.js) - 8 kyu -* [students-final-grade](./episode_001/students-final-grade.js) - 8 kyu -* [morse-code](./episode_001/morse-code.js) - 6 kyu +* [Century From Year](./episode_001/century-from-year.js) - [8 kyu](https://www.codewars.com/kata/century-from-year) +* [Student's Final Grade](./episode_001/students-final-grade.js) - [8 kyu](https://www.codewars.com/kata/students-final-grade) +* [Binary Addition](./episode_001/binary-addition.js) - [7 kyu](https://www.codewars.com/kata/binary-addition) +* [Mumbling](./episode_001/mumbling.js) - [7 kyu](https://www.codewars.com/kata/mumbling) +* [Decode the Morse code ](./episode_001/decode-the-morse-code.js) - [6 kyu](https://www.codewars.com/kata/decode-the-morse-code) diff --git a/episode_000/contents.md b/episode_000/contents.md deleted file mode 100644 index c9c142a..0000000 --- a/episode_000/contents.md +++ /dev/null @@ -1,217 +0,0 @@ - -## [Episode 23](./episode_023) - -[Watch on YouTube](https://www.youtube.com/watch?v=c_EREn-eF5s) - -* [remove-the-minimum](./episode_023/remove-the-minimum.js) - 7 kyu -* [rot13](./episode_023/rot13.js) - 5 kyu -* [strip-comments](./episode_023/strip-comments.js) - 4 kyu -* [title-case](./episode_023/title-case.js) - 6 kyu - -## [Episode 22](./episode_022) - -[Watch on YouTube](https://www.youtube.com/watch?v=xgW-due5ukM) - -* [delete-occurrences-of-an-element-if-it-occurs-more-than-n-times](./episode_022/delete-occurrences-of-an-element-if-it-occurs-more-than-n-times.js) - 6 kyu -* [regex-validate-pin-code](./episode_022/regex-validate-pin-code.js) - 7 kyu -* [tic-tac-toe-checker](./episode_022/tic-tac-toe-checker.js) - 5 kyu -* [vector-class](./episode_022/vector-class.js) - 5 kyu - -## [Episode 21](./episode_021) - -[Watch on YouTube](https://www.youtube.com/watch?v=LiD9TT--F5Y) - -* [did-i-finish-my-sudoku](./episode_021/did-i-finish-my-sudoku.js) - 5 kyu -* [distributing-candies](./episode_021/distributing-candies.js) - ??? kyu -* [vasya-clerk](./episode_021/vasya-clerk.js) - 6 kyu - -## [Episode 20](./episode_020) - -[Watch on YouTube](https://www.youtube.com/watch?v=NGcsIUBKHiI) - -* [halloween-sweets](./episode_020/halloween-sweets.js) - 5 kyu -* [pirate-code](./episode_020/pirate-code.js) - 7 kyu -* [trick-or-treat](./episode_020/trick-or-treat.js) - ??? kyu - -## [Episode 19](./episode_019) - -[Watch on YouTube](https://www.youtube.com/watch?v=EyyiM71-r18) - -* [bouncing-balls](./episode_019/bouncing-balls.js) - 6 kyu -* [most-consecutive-zeros](./episode_019/most-consecutive-zeros.js) - ??? kyu -* [number-combos](./episode_019/number-combos.js) - ??? kyu -* [pascalcase-into-snake-case](./episode_019/pascalcase-into-snake-case.js) - ??? kyu -* [sum-of-a-sequence](./episode_019/sum-of-a-sequence.js) - 7 kyu - -## [Episode 18](./episode_018) - -[Watch on YouTube](https://www.youtube.com/watch?v=qqznbb9xJa4) - -* [friend-or-foe](./episode_018/friend-or-foe.js) - 7 kyu -* [greed-is-good](./episode_018/greed-is-good.js) - 5 kyu -* [math-issues](./episode_018/math-issues.js) - 5 kyu -* [scratch](./episode_018/scratch.js) - ??? kyu -* [which-are-in](./episode_018/which-are-in.js) - 6 kyu - -## [Episode 17](./episode_017) - -[Watch on YouTube](https://www.youtube.com/watch?v=jFJGnX-q0Tc) - -* [double-cola](./episode_017/double-cola.js) - 5 kyu -* [exponential-comparison](./episode_017/exponential-comparison.js) - 6 kyu -* [ones-and-zeros](./episode_017/ones-and-zeros.js) - 7 kyu -* [square-every-digit](./episode_017/square-every-digit.js) - 7 kyu - -## [Episode 16](./episode_016) - -[Watch on YouTube](https://www.youtube.com/watch?v=BKBZLZ50xh8) - -* [message-from-alca](./episode_016/message-from-alca.js) - ??? kyu -* [replace-with-alphabet-position](./episode_016/replace-with-alphabet-position.js) - 6 kyu -* [valid-parentheses](./episode_016/valid-parentheses.js) - 5 kyu -* [youre-a-square](./episode_016/youre-a-square.js) - 7 kyu - -## [Episode 15](./episode_015) - -[Watch on YouTube](https://www.youtube.com/watch?v=R49EFycGF3s) - -* [dont-rely-on-luck](./episode_015/dont-rely-on-luck.js) - 6 kyu -* [find-the-capitals](./episode_015/find-the-capitals.js) - 7 kyu -* [range-extraction](./episode_015/range-extraction.js) - 4 kyu -* [the-hashtag-generator](./episode_015/the-hashtag-generator.js) - 5 kyu - -## [Episode 14](./episode_014) - -[Watch on YouTube](https://www.youtube.com/watch?v=dE5TV-TGfEo) - -* [duplicateEncode](./episode_014/duplicateEncode.js) - ??? kyu -* [memoizeFibonacci](./episode_014/memoizeFibonacci.js) - ??? kyu -* [snail](./episode_014/snail.js) - 4 kyu -* [twoToOne](./episode_014/twoToOne.js) - ??? kyu - -## [Episode 13](./episode_013) - -[Watch on YouTube](https://www.youtube.com/watch?v=_xud7qSXkOw) - -* [firstNonRepeatingCharacter](./episode_013/firstNonRepeatingCharacter.js) - ??? kyu -* [parity-outlier](./episode_013/parity-outlier.js) - ??? kyu -* [printer-errors](./episode_013/printer-errors.js) - 7 kyu -* [series-sum](./episode_013/series-sum.js) - ??? kyu - -## [Episode 12](./episode_012) - -[Watch on YouTube](https://www.youtube.com/watch?v=Ozp_PY1OOnw) - -* [format-string-names](./episode_012/format-string-names.js) - ??? kyu -* [pagination-helper](./episode_012/pagination-helper.js) - ??? kyu -* [sum-of-odd-numbers](./episode_012/sum-of-odd-numbers.js) - 7 kyu - -## [Episode 11](./episode_011) - -[Watch on YouTube](https://www.youtube.com/watch?v=bPTonTi42ic) - -* [counting-duplicates](./episode_011/counting-duplicates.js) - 6 kyu -* [square-digits](./episode_011/square-digits.js) - ??? kyu -* [weight-for-weight](./episode_011/weight-for-weight.js) - 5 kyu - -## [Episode 10](./episode_010) - -[Watch on YouTube](https://www.youtube.com/watch?v=6eoqEYc5SGI) - -* [find-divisors](./episode_010/find-divisors.js) - ??? kyu -* [pete-the-baker](./episode_010/pete-the-baker.js) - 5 kyu -* [spinning-words](./episode_010/spinning-words.js) - ??? kyu - -## [Episode 9](./episode_009) - -[Watch on YouTube](https://www.youtube.com/watch?v=0atKorB6tAI) - -* [character-recognition-mistakes](./episode_009/character-recognition-mistakes.js) - ??? kyu -* [narcissistic-numbers](./episode_009/narcissistic-numbers.js) - 7 kyu -* [nested-structure-compare](./episode_009/nested-structure-compare.js) - ??? kyu -* [regex-password](./episode_009/regex-password.js) - ??? kyu - -## [Episode 8](./episode_008) - -[Watch on YouTube](https://www.youtube.com/watch?v=M_K7azm9i6o) - -* [are-they-the-same](./episode_008/are-they-the-same.js) - 6 kyu -* [growth-population](./episode_008/growth-population.js) - ??? kyu -* [rot13](./episode_008/rot13.js) - 5 kyu -* [twice-linear](./episode_008/twice-linear.js) - 4 kyu -* [your-order-please](./episode_008/your-order-please.js) - 6 kyu - -## [Episode 7](./episode_007) - -[Watch on YouTube](https://www.youtube.com/watch?v=O5DmKHgFwjE) - -* [anagrams](./episode_007/anagrams.js) - null -* [camel-case](./episode_007/camel-case.js) - ??? kyu -* [categorize-new-member](./episode_007/categorize-new-member.js) - 7 kyu -* [isogram](./episode_007/isogram.js) - ??? kyu -* [multiples-of-3-and-5](./episode_007/multiples-of-3-and-5.js) - ??? kyu -* [priori-incantatem](./episode_007/priori-incantatem.js) - 4 kyu -* [rgb-to-hex](./episode_007/rgb-to-hex.js) - ??? kyu - -## [Episode 6](./episode_006) - -[Watch on YouTube](https://www.youtube.com/watch?v=mwoA9wjp7ec) - -* [calculating-with-functions](./episode_006/calculating-with-functions.js) - 5 kyu -* [digital-root](./episode_006/digital-root.js) - ??? kyu -* [dubstep](./episode_006/dubstep.js) - 6 kyu -* [odd-int](./episode_006/odd-int.js) - ??? kyu -* [reverse-polish-notation](./episode_006/reverse-polish-notation.js) - null -* [sum-of-numbers](./episode_006/sum-of-numbers.js) - null -* [zeros-to-end](./episode_006/zeros-to-end.js) - ??? kyu - -## [Episode 5](./episode_005) - -[Watch on YouTube](https://www.youtube.com/watch?v=S-h_tfwHQAQ) - -* [createPhoneNumber](./episode_005/createPhoneNumber.js) - ??? kyu -* [credit-card-mask](./episode_005/credit-card-mask.js) - 7 kyu -* [equal-sides-sum](./episode_005/equal-sides-sum.js) - ??? kyu -* [palindromeChainLength](./episode_005/palindromeChainLength.js) - ??? kyu -* [roman-numerals-encoder](./episode_005/roman-numerals-encoder.js) - 6 kyu -* [sum-of-two-lowest](./episode_005/sum-of-two-lowest.js) - ??? kyu - -## [Episode 4](./episode_004) - -[Watch on YouTube](https://www.youtube.com/watch?v=2ld5ndNkF2Q) - -* [count-the-smiley-faces](./episode_004/count-the-smiley-faces.js) - 6 kyu -* [human-readable-time](./episode_004/human-readable-time.js) - 5 kyu -* [list-filtering](./episode_004/list-filtering.js) - 7 kyu -* [maximum-subarray-sum](./episode_004/maximum-subarray-sum.js) - 5 kyu -* [scramblies](./episode_004/scramblies.js) - 5 kyu -* [sum-strings-as-numbers](./episode_004/sum-strings-as-numbers.js) - 4 kyu - -## [Episode 3](./episode_003) - -[Watch on YouTube](https://www.youtube.com/watch?v=Ms7L-aVN4Hc) - -* [dna-compliment](./episode_003/dna-compliment.js) - ??? kyu -* [iq-test](./episode_003/iq-test.js) - 6 kyu -* [pig-latin](./episode_003/pig-latin.js) - null -* [take-a-ten-minute-walk](./episode_003/take-a-ten-minute-walk.js) - 6 kyu -* [vowel-count](./episode_003/vowel-count.js) - 7 kyu - -## [Episode 2](./episode_002) - -[Watch on YouTube](https://www.youtube.com/watch?v=fH4w_xq2qao) - -* [exes-os](./episode_002/exes-os.js) - ??? kyu -* [fat-fingers](./episode_002/fat-fingers.js) - 6 kyu -* [jaden-case](./episode_002/jaden-case.js) - ??? kyu -* [sum-pairs](./episode_002/sum-pairs.js) - ??? kyu - -## [Episode 1](./episode_001) - -[Watch on YouTube](https://www.youtube.com/watch?v=Oq7r8metsD8) - -* [accum](./episode_001/accum.js) - ??? kyu -* [binary-addition](./episode_001/binary-addition.js) - 7 kyu -* [century-from-year](./episode_001/century-from-year.js) - 8 kyu -* [final-grade](./episode_001/final-grade.js) - ??? kyu -* [morse-code](./episode_001/morse-code.js) - ??? kyu diff --git a/episode_000/generate.js b/episode_000/generate.js new file mode 100644 index 0000000..8eaddb0 --- /dev/null +++ b/episode_000/generate.js @@ -0,0 +1,74 @@ +const { promises: fs } = require('fs'); +const axios = require('axios'); +const { items: videos } = require('./videos.json'); + +(async () => { + const katas = []; + let tableOfContents = `# Code Katas + +Search / Filter solutions [here](https://code-katas.now.sh/) + +# Episodes + +`; + const files = await fs.readdir('../', 'utf8'); + files.reverse(); + for (const directory of files) { + if (directory.startsWith('episode') && directory !== 'episode_000') { + const episodeNum = +directory.replace('episode_', ''); + const solutions = await fs.readdir(`../${directory}`, 'utf8'); + + const { + snippet: { + resourceId: { + videoId + } + } + } = videos[episodeNum - 1]; + + const video = `https://www.youtube.com/watch?v=${videoId}`; + + tableOfContents += ` +## [Episode ${episodeNum}](./${directory}) + +[Watch on YouTube](${video}) + +` + const episodeKatas = []; + for (const name of solutions) { + if (name.endsWith('.js')) { + const slug = name.replace('.js', ''); + const githubUrl = `https://github.com/CodingGarden/code-katas/blob/master/${directory}/${name}`; + try { + const { data: { name: kataName, url, rank: { name: kyu, id } } } = await axios.get(`https://www.codewars.com/api/v1/code-challenges/${slug}`); + const link = `[${kataName}](./${directory}/${name})`; + console.log(slug, kyu); + episodeKatas.push({ + id, + item: `* ${link} - [${kyu}](${url})\n`, + kata: { + episodeNum, + video, + slug, + githubUrl, + kataName, + kyu + } + }); + } catch (error) { + console.log(slug, 'not found...') + } + } + } + episodeKatas.sort((a, b) => a.id - b.id); + episodeKatas.forEach(({ item, kata }) => { + tableOfContents += item; + katas.push(kata); + }); + } + } + + await fs.writeFile('katas.json', JSON.stringify(katas, null, 2), 'utf8'); + await fs.writeFile('../README.md', tableOfContents, 'utf8'); +})(); + diff --git a/episode_000/generateJSON.js b/episode_000/generateJSON.js deleted file mode 100644 index 7de9142..0000000 --- a/episode_000/generateJSON.js +++ /dev/null @@ -1,57 +0,0 @@ -const { promises: fs } = require('fs'); -const axios = require('axios'); -const { items: videos } = require('./videos.json'); - -(async () => { - const katas = []; - const files = await fs.readdir('../', 'utf8'); - files.reverse(); - for (const directory of files) { - if (directory.startsWith('episode') && directory !== 'episode_000') { - const episodeNum = +directory.replace('episode_', ''); - const solutions = await fs.readdir(`../${directory}`, 'utf8'); - - const { - snippet: { - resourceId: { - videoId - } - } - } = videos[episodeNum - 1]; - - const video = `https://www.youtube.com/watch?v=${videoId}`; - - for (const name of solutions) { - if (name.endsWith('.js')) { - const slug = name.replace('.js', ''); - const githubUrl = `https://github.com/CodingGarden/code-katas/blob/master/${directory}/${name}`; - try { - const { data: { name: kataName, rank: { id: kyu } } } = await axios.get(`https://www.codewars.com/api/v1/code-challenges/${slug}`); - console.log(slug, kyu); - katas.push({ - episodeNum, - video, - slug, - githubUrl, - kataName, - kyu - }); - } catch (error) { - katas.push({ - episodeNum, - video, - slug, - githubUrl, - kataName: slug, - kyu: null - }); - } - - } - } - } - } - - await fs.writeFile('katas.json', JSON.stringify(katas, 2), 'utf8'); -})(); - diff --git a/episode_000/generateReadme.js b/episode_000/generateReadme.js deleted file mode 100644 index c36cf38..0000000 --- a/episode_000/generateReadme.js +++ /dev/null @@ -1,47 +0,0 @@ -const { promises: fs } = require('fs'); -const axios = require('axios'); -const { items: videos } = require('./videos.json'); - -(async () => { - let tableOfContents = ''; - const files = await fs.readdir('../', 'utf8'); - files.reverse(); - for (const directory of files) { - if (directory.startsWith('episode') && directory !== 'episode_000') { - const episodeNum = +directory.replace('episode_', ''); - const solutions = await fs.readdir(`../${directory}`, 'utf8'); - - const { - snippet: { - resourceId: { - videoId - } - } - } = videos[episodeNum - 1]; - - tableOfContents += ` -## [Episode ${episodeNum}](./${directory}) - -[Watch on YouTube](https://www.youtube.com/watch?v=${videoId}) - -` - for (const name of solutions) { - if (name.endsWith('.js')) { - const slug = name.replace('.js', ''); - const link = `[${slug}](./${directory}/${name})`; - try { - const { data: { rank: { name: kyu } } } = await axios.get(`https://www.codewars.com/api/v1/code-challenges/${slug}`); - console.log(slug, kyu); - tableOfContents += `* ${link} - ${kyu}\n` - } catch (error) { - tableOfContents += `* ${link} - ??? kyu\n` - } - - } - } - } - } - - await fs.writeFile('contents.md', tableOfContents, 'utf8'); -})(); - diff --git a/episode_000/katas.json b/episode_000/katas.json index 65607d7..a3e9119 100644 --- a/episode_000/katas.json +++ b/episode_000/katas.json @@ -1,715 +1,834 @@ -[{ - "episodeNum": 23, - "video": "https://www.youtube.com/watch?v=c_EREn-eF5s", - "slug": "remove-the-minimum", - "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_023/remove-the-minimum.js", - "kataName": "Remove the minimum", - "kyu": -7 -}, { - "episodeNum": 23, - "video": "https://www.youtube.com/watch?v=c_EREn-eF5s", - "slug": "rot13", - "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_023/rot13.js", - "kataName": "ROT13", - "kyu": -5 -}, { - "episodeNum": 23, - "video": "https://www.youtube.com/watch?v=c_EREn-eF5s", - "slug": "strip-comments", - "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_023/strip-comments.js", - "kataName": "Strip Comments", - "kyu": -4 -}, { - "episodeNum": 23, - "video": "https://www.youtube.com/watch?v=c_EREn-eF5s", - "slug": "title-case", - "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_023/title-case.js", - "kataName": "Title Case", - "kyu": -6 -}, { - "episodeNum": 22, - "video": "https://www.youtube.com/watch?v=xgW-due5ukM", - "slug": "delete-occurrences-of-an-element-if-it-occurs-more-than-n-times", - "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_022/delete-occurrences-of-an-element-if-it-occurs-more-than-n-times.js", - "kataName": "Delete occurrences of an element if it occurs more than n times", - "kyu": -6 -}, { - "episodeNum": 22, - "video": "https://www.youtube.com/watch?v=xgW-due5ukM", - "slug": "regex-validate-pin-code", - "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_022/regex-validate-pin-code.js", - "kataName": "Regex validate PIN code", - "kyu": -7 -}, { - "episodeNum": 22, - "video": "https://www.youtube.com/watch?v=xgW-due5ukM", - "slug": "tic-tac-toe-checker", - "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_022/tic-tac-toe-checker.js", - "kataName": "Tic-Tac-Toe Checker", - "kyu": -5 -}, { - "episodeNum": 22, - "video": "https://www.youtube.com/watch?v=xgW-due5ukM", - "slug": "vector-class", - "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_022/vector-class.js", - "kataName": "Vector class", - "kyu": -5 -}, { - "episodeNum": 21, - "video": "https://www.youtube.com/watch?v=LiD9TT--F5Y", - "slug": "did-i-finish-my-sudoku", - "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_021/did-i-finish-my-sudoku.js", - "kataName": "Did I Finish my Sudoku?", - "kyu": -5 -}, { - "episodeNum": 21, - "video": "https://www.youtube.com/watch?v=LiD9TT--F5Y", - "slug": "distributing-candies", - "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_021/distributing-candies.js", - "kataName": "distributing-candies", - "kyu": null -}, { - "episodeNum": 21, - "video": "https://www.youtube.com/watch?v=LiD9TT--F5Y", - "slug": "vasya-clerk", - "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_021/vasya-clerk.js", - "kataName": "Vasya - Clerk", - "kyu": -6 -}, { - "episodeNum": 20, - "video": "https://www.youtube.com/watch?v=NGcsIUBKHiI", - "slug": "halloween-sweets", - "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_020/halloween-sweets.js", - "kataName": "Halloween Sweets", - "kyu": -5 -}, { - "episodeNum": 20, - "video": "https://www.youtube.com/watch?v=NGcsIUBKHiI", - "slug": "pirate-code", - "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_020/pirate-code.js", - "kataName": "Pirate Code", - "kyu": -7 -}, { - "episodeNum": 20, - "video": "https://www.youtube.com/watch?v=NGcsIUBKHiI", - "slug": "trick-or-treat", - "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_020/trick-or-treat.js", - "kataName": "trick-or-treat", - "kyu": null -}, { - "episodeNum": 19, - "video": "https://www.youtube.com/watch?v=EyyiM71-r18", - "slug": "bouncing-balls", - "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_019/bouncing-balls.js", - "kataName": "Bouncing Balls", - "kyu": -6 -}, { - "episodeNum": 19, - "video": "https://www.youtube.com/watch?v=EyyiM71-r18", - "slug": "most-consecutive-zeros", - "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_019/most-consecutive-zeros.js", - "kataName": "most-consecutive-zeros", - "kyu": null -}, { - "episodeNum": 19, - "video": "https://www.youtube.com/watch?v=EyyiM71-r18", - "slug": "number-combos", - "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_019/number-combos.js", - "kataName": "number-combos", - "kyu": null -}, { - "episodeNum": 19, - "video": "https://www.youtube.com/watch?v=EyyiM71-r18", - "slug": "pascalcase-into-snake-case", - "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_019/pascalcase-into-snake-case.js", - "kataName": "pascalcase-into-snake-case", - "kyu": null -}, { - "episodeNum": 19, - "video": "https://www.youtube.com/watch?v=EyyiM71-r18", - "slug": "sum-of-a-sequence", - "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_019/sum-of-a-sequence.js", - "kataName": "Sum of a sequence", - "kyu": -7 -}, { - "episodeNum": 18, - "video": "https://www.youtube.com/watch?v=qqznbb9xJa4", - "slug": "friend-or-foe", - "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_018/friend-or-foe.js", - "kataName": "Friend or Foe?", - "kyu": -7 -}, { - "episodeNum": 18, - "video": "https://www.youtube.com/watch?v=qqznbb9xJa4", - "slug": "greed-is-good", - "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_018/greed-is-good.js", - "kataName": "Greed is Good", - "kyu": -5 -}, { - "episodeNum": 18, - "video": "https://www.youtube.com/watch?v=qqznbb9xJa4", - "slug": "math-issues", - "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_018/math-issues.js", - "kataName": "Math Issues", - "kyu": -5 -}, { - "episodeNum": 18, - "video": "https://www.youtube.com/watch?v=qqznbb9xJa4", - "slug": "scratch", - "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_018/scratch.js", - "kataName": "scratch", - "kyu": null -}, { - "episodeNum": 18, - "video": "https://www.youtube.com/watch?v=qqznbb9xJa4", - "slug": "which-are-in", - "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_018/which-are-in.js", - "kataName": "Which are in?", - "kyu": -6 -}, { - "episodeNum": 17, - "video": "https://www.youtube.com/watch?v=jFJGnX-q0Tc", - "slug": "double-cola", - "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_017/double-cola.js", - "kataName": "Double Cola", - "kyu": -5 -}, { - "episodeNum": 17, - "video": "https://www.youtube.com/watch?v=jFJGnX-q0Tc", - "slug": "exponential-comparison", - "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_017/exponential-comparison.js", - "kataName": "Exponential Comparison", - "kyu": -6 -}, { - "episodeNum": 17, - "video": "https://www.youtube.com/watch?v=jFJGnX-q0Tc", - "slug": "ones-and-zeros", - "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_017/ones-and-zeros.js", - "kataName": "Ones and Zeros", - "kyu": -7 -}, { - "episodeNum": 17, - "video": "https://www.youtube.com/watch?v=jFJGnX-q0Tc", - "slug": "square-every-digit", - "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_017/square-every-digit.js", - "kataName": "Square Every Digit", - "kyu": -7 -}, { - "episodeNum": 16, - "video": "https://www.youtube.com/watch?v=BKBZLZ50xh8", - "slug": "message-from-alca", - "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_016/message-from-alca.js", - "kataName": "message-from-alca", - "kyu": null -}, { - "episodeNum": 16, - "video": "https://www.youtube.com/watch?v=BKBZLZ50xh8", - "slug": "replace-with-alphabet-position", - "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_016/replace-with-alphabet-position.js", - "kataName": "Replace With Alphabet Position", - "kyu": -6 -}, { - "episodeNum": 16, - "video": "https://www.youtube.com/watch?v=BKBZLZ50xh8", - "slug": "valid-parentheses", - "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_016/valid-parentheses.js", - "kataName": "Valid Parentheses", - "kyu": -5 -}, { - "episodeNum": 16, - "video": "https://www.youtube.com/watch?v=BKBZLZ50xh8", - "slug": "youre-a-square", - "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_016/youre-a-square.js", - "kataName": "You're a square!", - "kyu": -7 -}, { - "episodeNum": 15, - "video": "https://www.youtube.com/watch?v=R49EFycGF3s", - "slug": "dont-rely-on-luck", - "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_015/dont-rely-on-luck.js", - "kataName": "Don't rely on luck.", - "kyu": -6 -}, { - "episodeNum": 15, - "video": "https://www.youtube.com/watch?v=R49EFycGF3s", - "slug": "find-the-capitals", - "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_015/find-the-capitals.js", - "kataName": "Find the Capitals", - "kyu": -7 -}, { - "episodeNum": 15, - "video": "https://www.youtube.com/watch?v=R49EFycGF3s", - "slug": "range-extraction", - "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_015/range-extraction.js", - "kataName": "Range Extraction", - "kyu": -4 -}, { - "episodeNum": 15, - "video": "https://www.youtube.com/watch?v=R49EFycGF3s", - "slug": "the-hashtag-generator", - "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_015/the-hashtag-generator.js", - "kataName": "The Hashtag Generator", - "kyu": -5 -}, { - "episodeNum": 14, - "video": "https://www.youtube.com/watch?v=dE5TV-TGfEo", - "slug": "duplicateEncode", - "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_014/duplicateEncode.js", - "kataName": "duplicateEncode", - "kyu": null -}, { - "episodeNum": 14, - "video": "https://www.youtube.com/watch?v=dE5TV-TGfEo", - "slug": "memoizeFibonacci", - "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_014/memoizeFibonacci.js", - "kataName": "memoizeFibonacci", - "kyu": null -}, { - "episodeNum": 14, - "video": "https://www.youtube.com/watch?v=dE5TV-TGfEo", - "slug": "snail", - "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_014/snail.js", - "kataName": "Snail", - "kyu": -4 -}, { - "episodeNum": 14, - "video": "https://www.youtube.com/watch?v=dE5TV-TGfEo", - "slug": "twoToOne", - "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_014/twoToOne.js", - "kataName": "twoToOne", - "kyu": null -}, { - "episodeNum": 13, - "video": "https://www.youtube.com/watch?v=_xud7qSXkOw", - "slug": "firstNonRepeatingCharacter", - "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_013/firstNonRepeatingCharacter.js", - "kataName": "firstNonRepeatingCharacter", - "kyu": null -}, { - "episodeNum": 13, - "video": "https://www.youtube.com/watch?v=_xud7qSXkOw", - "slug": "parity-outlier", - "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_013/parity-outlier.js", - "kataName": "parity-outlier", - "kyu": null -}, { - "episodeNum": 13, - "video": "https://www.youtube.com/watch?v=_xud7qSXkOw", - "slug": "printer-errors", - "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_013/printer-errors.js", - "kataName": "Printer Errors", - "kyu": -7 -}, { - "episodeNum": 13, - "video": "https://www.youtube.com/watch?v=_xud7qSXkOw", - "slug": "series-sum", - "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_013/series-sum.js", - "kataName": "series-sum", - "kyu": null -}, { - "episodeNum": 12, - "video": "https://www.youtube.com/watch?v=Ozp_PY1OOnw", - "slug": "format-string-names", - "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_012/format-string-names.js", - "kataName": "format-string-names", - "kyu": null -}, { - "episodeNum": 12, - "video": "https://www.youtube.com/watch?v=Ozp_PY1OOnw", - "slug": "pagination-helper", - "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_012/pagination-helper.js", - "kataName": "pagination-helper", - "kyu": null -}, { - "episodeNum": 12, - "video": "https://www.youtube.com/watch?v=Ozp_PY1OOnw", - "slug": "sum-of-odd-numbers", - "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_012/sum-of-odd-numbers.js", - "kataName": "Sum of odd numbers", - "kyu": -7 -}, { - "episodeNum": 11, - "video": "https://www.youtube.com/watch?v=bPTonTi42ic", - "slug": "counting-duplicates", - "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_011/counting-duplicates.js", - "kataName": "Counting Duplicates", - "kyu": -6 -}, { - "episodeNum": 11, - "video": "https://www.youtube.com/watch?v=bPTonTi42ic", - "slug": "square-digits", - "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_011/square-digits.js", - "kataName": "square-digits", - "kyu": null -}, { - "episodeNum": 11, - "video": "https://www.youtube.com/watch?v=bPTonTi42ic", - "slug": "weight-for-weight", - "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_011/weight-for-weight.js", - "kataName": "Weight for weight", - "kyu": -5 -}, { - "episodeNum": 10, - "video": "https://www.youtube.com/watch?v=6eoqEYc5SGI", - "slug": "find-divisors", - "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_010/find-divisors.js", - "kataName": "find-divisors", - "kyu": null -}, { - "episodeNum": 10, - "video": "https://www.youtube.com/watch?v=6eoqEYc5SGI", - "slug": "pete-the-baker", - "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_010/pete-the-baker.js", - "kataName": "Pete, the baker", - "kyu": -5 -}, { - "episodeNum": 10, - "video": "https://www.youtube.com/watch?v=6eoqEYc5SGI", - "slug": "spinning-words", - "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_010/spinning-words.js", - "kataName": "spinning-words", - "kyu": null -}, { - "episodeNum": 9, - "video": "https://www.youtube.com/watch?v=0atKorB6tAI", - "slug": "character-recognition-mistakes", - "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_009/character-recognition-mistakes.js", - "kataName": "character-recognition-mistakes", - "kyu": null -}, { - "episodeNum": 9, - "video": "https://www.youtube.com/watch?v=0atKorB6tAI", - "slug": "narcissistic-numbers", - "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_009/narcissistic-numbers.js", - "kataName": "Narcissistic Numbers ", - "kyu": -7 -}, { - "episodeNum": 9, - "video": "https://www.youtube.com/watch?v=0atKorB6tAI", - "slug": "nested-structure-compare", - "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_009/nested-structure-compare.js", - "kataName": "nested-structure-compare", - "kyu": null -}, { - "episodeNum": 9, - "video": "https://www.youtube.com/watch?v=0atKorB6tAI", - "slug": "regex-password", - "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_009/regex-password.js", - "kataName": "regex-password", - "kyu": null -}, { - "episodeNum": 8, - "video": "https://www.youtube.com/watch?v=M_K7azm9i6o", - "slug": "are-they-the-same", - "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_008/are-they-the-same.js", - "kataName": "Are they the \"same\"?", - "kyu": -6 -}, { - "episodeNum": 8, - "video": "https://www.youtube.com/watch?v=M_K7azm9i6o", - "slug": "growth-population", - "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_008/growth-population.js", - "kataName": "growth-population", - "kyu": null -}, { - "episodeNum": 8, - "video": "https://www.youtube.com/watch?v=M_K7azm9i6o", - "slug": "rot13", - "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_008/rot13.js", - "kataName": "ROT13", - "kyu": -5 -}, { - "episodeNum": 8, - "video": "https://www.youtube.com/watch?v=M_K7azm9i6o", - "slug": "twice-linear", - "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_008/twice-linear.js", - "kataName": "Twice linear", - "kyu": -4 -}, { - "episodeNum": 8, - "video": "https://www.youtube.com/watch?v=M_K7azm9i6o", - "slug": "your-order-please", - "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_008/your-order-please.js", - "kataName": "Your order, please", - "kyu": -6 -}, { - "episodeNum": 7, - "video": "https://www.youtube.com/watch?v=O5DmKHgFwjE", - "slug": "anagrams", - "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_007/anagrams.js", - "kataName": "Anagrams", - "kyu": null -}, { - "episodeNum": 7, - "video": "https://www.youtube.com/watch?v=O5DmKHgFwjE", - "slug": "camel-case", - "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_007/camel-case.js", - "kataName": "camel-case", - "kyu": null -}, { - "episodeNum": 7, - "video": "https://www.youtube.com/watch?v=O5DmKHgFwjE", - "slug": "categorize-new-member", - "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_007/categorize-new-member.js", - "kataName": "Categorize New Member", - "kyu": -7 -}, { - "episodeNum": 7, - "video": "https://www.youtube.com/watch?v=O5DmKHgFwjE", - "slug": "isogram", - "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_007/isogram.js", - "kataName": "isogram", - "kyu": null -}, { - "episodeNum": 7, - "video": "https://www.youtube.com/watch?v=O5DmKHgFwjE", - "slug": "multiples-of-3-and-5", - "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_007/multiples-of-3-and-5.js", - "kataName": "multiples-of-3-and-5", - "kyu": null -}, { - "episodeNum": 7, - "video": "https://www.youtube.com/watch?v=O5DmKHgFwjE", - "slug": "priori-incantatem", - "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_007/priori-incantatem.js", - "kataName": "Priori Incantatem", - "kyu": -4 -}, { - "episodeNum": 7, - "video": "https://www.youtube.com/watch?v=O5DmKHgFwjE", - "slug": "rgb-to-hex", - "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_007/rgb-to-hex.js", - "kataName": "rgb-to-hex", - "kyu": null -}, { - "episodeNum": 6, - "video": "https://www.youtube.com/watch?v=mwoA9wjp7ec", - "slug": "calculating-with-functions", - "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_006/calculating-with-functions.js", - "kataName": "Calculating with Functions", - "kyu": -5 -}, { - "episodeNum": 6, - "video": "https://www.youtube.com/watch?v=mwoA9wjp7ec", - "slug": "digital-root", - "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_006/digital-root.js", - "kataName": "digital-root", - "kyu": null -}, { - "episodeNum": 6, - "video": "https://www.youtube.com/watch?v=mwoA9wjp7ec", - "slug": "dubstep", - "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_006/dubstep.js", - "kataName": "Dubstep", - "kyu": -6 -}, { - "episodeNum": 6, - "video": "https://www.youtube.com/watch?v=mwoA9wjp7ec", - "slug": "odd-int", - "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_006/odd-int.js", - "kataName": "odd-int", - "kyu": null -}, { - "episodeNum": 6, - "video": "https://www.youtube.com/watch?v=mwoA9wjp7ec", - "slug": "reverse-polish-notation", - "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_006/reverse-polish-notation.js", - "kataName": "Reverse Polish Notation", - "kyu": null -}, { - "episodeNum": 6, - "video": "https://www.youtube.com/watch?v=mwoA9wjp7ec", - "slug": "sum-of-numbers", - "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_006/sum-of-numbers.js", - "kataName": "Sum of numbers", - "kyu": null -}, { - "episodeNum": 6, - "video": "https://www.youtube.com/watch?v=mwoA9wjp7ec", - "slug": "zeros-to-end", - "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_006/zeros-to-end.js", - "kataName": "zeros-to-end", - "kyu": null -}, { - "episodeNum": 5, - "video": "https://www.youtube.com/watch?v=S-h_tfwHQAQ", - "slug": "createPhoneNumber", - "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_005/createPhoneNumber.js", - "kataName": "createPhoneNumber", - "kyu": null -}, { - "episodeNum": 5, - "video": "https://www.youtube.com/watch?v=S-h_tfwHQAQ", - "slug": "credit-card-mask", - "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_005/credit-card-mask.js", - "kataName": "Credit Card Mask", - "kyu": -7 -}, { - "episodeNum": 5, - "video": "https://www.youtube.com/watch?v=S-h_tfwHQAQ", - "slug": "equal-sides-sum", - "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_005/equal-sides-sum.js", - "kataName": "equal-sides-sum", - "kyu": null -}, { - "episodeNum": 5, - "video": "https://www.youtube.com/watch?v=S-h_tfwHQAQ", - "slug": "palindromeChainLength", - "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_005/palindromeChainLength.js", - "kataName": "palindromeChainLength", - "kyu": null -}, { - "episodeNum": 5, - "video": "https://www.youtube.com/watch?v=S-h_tfwHQAQ", - "slug": "roman-numerals-encoder", - "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_005/roman-numerals-encoder.js", - "kataName": "Roman Numerals Encoder", - "kyu": -6 -}, { - "episodeNum": 5, - "video": "https://www.youtube.com/watch?v=S-h_tfwHQAQ", - "slug": "sum-of-two-lowest", - "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_005/sum-of-two-lowest.js", - "kataName": "sum-of-two-lowest", - "kyu": null -}, { - "episodeNum": 4, - "video": "https://www.youtube.com/watch?v=2ld5ndNkF2Q", - "slug": "count-the-smiley-faces", - "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_004/count-the-smiley-faces.js", - "kataName": "Count the smiley faces!", - "kyu": -6 -}, { - "episodeNum": 4, - "video": "https://www.youtube.com/watch?v=2ld5ndNkF2Q", - "slug": "human-readable-time", - "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_004/human-readable-time.js", - "kataName": "Human Readable Time", - "kyu": -5 -}, { - "episodeNum": 4, - "video": "https://www.youtube.com/watch?v=2ld5ndNkF2Q", - "slug": "list-filtering", - "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_004/list-filtering.js", - "kataName": "List Filtering", - "kyu": -7 -}, { - "episodeNum": 4, - "video": "https://www.youtube.com/watch?v=2ld5ndNkF2Q", - "slug": "maximum-subarray-sum", - "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_004/maximum-subarray-sum.js", - "kataName": "Maximum subarray sum", - "kyu": -5 -}, { - "episodeNum": 4, - "video": "https://www.youtube.com/watch?v=2ld5ndNkF2Q", - "slug": "scramblies", - "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_004/scramblies.js", - "kataName": "Scramblies", - "kyu": -5 -}, { - "episodeNum": 4, - "video": "https://www.youtube.com/watch?v=2ld5ndNkF2Q", - "slug": "sum-strings-as-numbers", - "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_004/sum-strings-as-numbers.js", - "kataName": "Sum Strings as Numbers", - "kyu": -4 -}, { - "episodeNum": 3, - "video": "https://www.youtube.com/watch?v=Ms7L-aVN4Hc", - "slug": "dna-compliment", - "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_003/dna-compliment.js", - "kataName": "dna-compliment", - "kyu": null -}, { - "episodeNum": 3, - "video": "https://www.youtube.com/watch?v=Ms7L-aVN4Hc", - "slug": "iq-test", - "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_003/iq-test.js", - "kataName": "IQ Test", - "kyu": -6 -}, { - "episodeNum": 3, - "video": "https://www.youtube.com/watch?v=Ms7L-aVN4Hc", - "slug": "pig-latin", - "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_003/pig-latin.js", - "kataName": "Pig Latin", - "kyu": null -}, { - "episodeNum": 3, - "video": "https://www.youtube.com/watch?v=Ms7L-aVN4Hc", - "slug": "take-a-ten-minute-walk", - "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_003/take-a-ten-minute-walk.js", - "kataName": "Take a Ten Minute Walk", - "kyu": -6 -}, { - "episodeNum": 3, - "video": "https://www.youtube.com/watch?v=Ms7L-aVN4Hc", - "slug": "vowel-count", - "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_003/vowel-count.js", - "kataName": "Vowel Count", - "kyu": -7 -}, { - "episodeNum": 2, - "video": "https://www.youtube.com/watch?v=fH4w_xq2qao", - "slug": "exes-os", - "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_002/exes-os.js", - "kataName": "exes-os", - "kyu": null -}, { - "episodeNum": 2, - "video": "https://www.youtube.com/watch?v=fH4w_xq2qao", - "slug": "fat-fingers", - "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_002/fat-fingers.js", - "kataName": "Fat Fingers", - "kyu": -6 -}, { - "episodeNum": 2, - "video": "https://www.youtube.com/watch?v=fH4w_xq2qao", - "slug": "jaden-case", - "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_002/jaden-case.js", - "kataName": "jaden-case", - "kyu": null -}, { - "episodeNum": 2, - "video": "https://www.youtube.com/watch?v=fH4w_xq2qao", - "slug": "sum-pairs", - "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_002/sum-pairs.js", - "kataName": "sum-pairs", - "kyu": null -}, { - "episodeNum": 1, - "video": "https://www.youtube.com/watch?v=Oq7r8metsD8", - "slug": "accum", - "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_001/accum.js", - "kataName": "accum", - "kyu": null -}, { - "episodeNum": 1, - "video": "https://www.youtube.com/watch?v=Oq7r8metsD8", - "slug": "binary-addition", - "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_001/binary-addition.js", - "kataName": "Binary Addition", - "kyu": -7 -}, { - "episodeNum": 1, - "video": "https://www.youtube.com/watch?v=Oq7r8metsD8", - "slug": "century-from-year", - "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_001/century-from-year.js", - "kataName": "Century From Year", - "kyu": -8 -}, { - "episodeNum": 1, - "video": "https://www.youtube.com/watch?v=Oq7r8metsD8", - "slug": "final-grade", - "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_001/final-grade.js", - "kataName": "final-grade", - "kyu": null -}, { - "episodeNum": 1, - "video": "https://www.youtube.com/watch?v=Oq7r8metsD8", - "slug": "morse-code", - "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_001/morse-code.js", - "kataName": "morse-code", - "kyu": null -}] \ No newline at end of file +[ + { + "episodeNum": 24, + "video": "https://www.youtube.com/watch?v=QOWczTDlPh8", + "slug": "the-highest-profit-wins", + "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_024/the-highest-profit-wins.js", + "kataName": "The highest profit wins!", + "kyu": "7 kyu" + }, + { + "episodeNum": 24, + "video": "https://www.youtube.com/watch?v=QOWczTDlPh8", + "slug": "ip-validation", + "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_024/ip-validation.js", + "kataName": "IP Validation", + "kyu": "6 kyu" + }, + { + "episodeNum": 24, + "video": "https://www.youtube.com/watch?v=QOWczTDlPh8", + "slug": "bowling-score-calculator", + "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_024/bowling-score-calculator.js", + "kataName": "Bowling score calculator", + "kyu": "5 kyu" + }, + { + "episodeNum": 24, + "video": "https://www.youtube.com/watch?v=QOWczTDlPh8", + "slug": "simple-time-bomb", + "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_024/simple-time-bomb.js", + "kataName": "Simple Time Bomb", + "kyu": "5 kyu" + }, + { + "episodeNum": 23, + "video": "https://www.youtube.com/watch?v=c_EREn-eF5s", + "slug": "remove-the-minimum", + "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_023/remove-the-minimum.js", + "kataName": "Remove the minimum", + "kyu": "7 kyu" + }, + { + "episodeNum": 23, + "video": "https://www.youtube.com/watch?v=c_EREn-eF5s", + "slug": "title-case", + "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_023/title-case.js", + "kataName": "Title Case", + "kyu": "6 kyu" + }, + { + "episodeNum": 23, + "video": "https://www.youtube.com/watch?v=c_EREn-eF5s", + "slug": "rot13", + "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_023/rot13.js", + "kataName": "ROT13", + "kyu": "5 kyu" + }, + { + "episodeNum": 23, + "video": "https://www.youtube.com/watch?v=c_EREn-eF5s", + "slug": "strip-comments", + "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_023/strip-comments.js", + "kataName": "Strip Comments", + "kyu": "4 kyu" + }, + { + "episodeNum": 22, + "video": "https://www.youtube.com/watch?v=xgW-due5ukM", + "slug": "regex-validate-pin-code", + "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_022/regex-validate-pin-code.js", + "kataName": "Regex validate PIN code", + "kyu": "7 kyu" + }, + { + "episodeNum": 22, + "video": "https://www.youtube.com/watch?v=xgW-due5ukM", + "slug": "delete-occurrences-of-an-element-if-it-occurs-more-than-n-times", + "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_022/delete-occurrences-of-an-element-if-it-occurs-more-than-n-times.js", + "kataName": "Delete occurrences of an element if it occurs more than n times", + "kyu": "6 kyu" + }, + { + "episodeNum": 22, + "video": "https://www.youtube.com/watch?v=xgW-due5ukM", + "slug": "tic-tac-toe-checker", + "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_022/tic-tac-toe-checker.js", + "kataName": "Tic-Tac-Toe Checker", + "kyu": "5 kyu" + }, + { + "episodeNum": 22, + "video": "https://www.youtube.com/watch?v=xgW-due5ukM", + "slug": "vector-class", + "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_022/vector-class.js", + "kataName": "Vector class", + "kyu": "5 kyu" + }, + { + "episodeNum": 21, + "video": "https://www.youtube.com/watch?v=LiD9TT--F5Y", + "slug": "distributing-candies-fairly", + "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_021/distributing-candies-fairly.js", + "kataName": "Distributing Candies Fairly", + "kyu": "7 kyu" + }, + { + "episodeNum": 21, + "video": "https://www.youtube.com/watch?v=LiD9TT--F5Y", + "slug": "vasya-clerk", + "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_021/vasya-clerk.js", + "kataName": "Vasya - Clerk", + "kyu": "6 kyu" + }, + { + "episodeNum": 21, + "video": "https://www.youtube.com/watch?v=LiD9TT--F5Y", + "slug": "did-i-finish-my-sudoku", + "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_021/did-i-finish-my-sudoku.js", + "kataName": "Did I Finish my Sudoku?", + "kyu": "5 kyu" + }, + { + "episodeNum": 20, + "video": "https://www.youtube.com/watch?v=NGcsIUBKHiI", + "slug": "pirate-code", + "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_020/pirate-code.js", + "kataName": "Pirate Code", + "kyu": "7 kyu" + }, + { + "episodeNum": 20, + "video": "https://www.youtube.com/watch?v=NGcsIUBKHiI", + "slug": "halloween-trick-or-treat", + "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_020/halloween-trick-or-treat.js", + "kataName": "Halloween: trick or treat!", + "kyu": "6 kyu" + }, + { + "episodeNum": 20, + "video": "https://www.youtube.com/watch?v=NGcsIUBKHiI", + "slug": "halloween-sweets", + "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_020/halloween-sweets.js", + "kataName": "Halloween Sweets", + "kyu": "5 kyu" + }, + { + "episodeNum": 19, + "video": "https://www.youtube.com/watch?v=EyyiM71-r18", + "slug": "sum-of-a-sequence", + "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_019/sum-of-a-sequence.js", + "kataName": "Sum of a sequence", + "kyu": "7 kyu" + }, + { + "episodeNum": 19, + "video": "https://www.youtube.com/watch?v=EyyiM71-r18", + "slug": "bouncing-balls", + "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_019/bouncing-balls.js", + "kataName": "Bouncing Balls", + "kyu": "6 kyu" + }, + { + "episodeNum": 19, + "video": "https://www.youtube.com/watch?v=EyyiM71-r18", + "slug": "most-consecutive-zeros-of-a-binary-number", + "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_019/most-consecutive-zeros-of-a-binary-number.js", + "kataName": "Most Consecutive Zeros of a Binary Number", + "kyu": "6 kyu" + }, + { + "episodeNum": 19, + "video": "https://www.youtube.com/watch?v=EyyiM71-r18", + "slug": "convert-pascalcase-string-into-snake-case", + "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_019/convert-pascalcase-string-into-snake-case.js", + "kataName": "Convert PascalCase string into snake_case", + "kyu": "5 kyu" + }, + { + "episodeNum": 19, + "video": "https://www.youtube.com/watch?v=EyyiM71-r18", + "slug": "find-all-possible-number-combos-that-sum-to-a-number", + "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_019/find-all-possible-number-combos-that-sum-to-a-number.js", + "kataName": "Find all possible number combos that sum to a number", + "kyu": "4 kyu" + }, + { + "episodeNum": 18, + "video": "https://www.youtube.com/watch?v=qqznbb9xJa4", + "slug": "friend-or-foe", + "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_018/friend-or-foe.js", + "kataName": "Friend or Foe?", + "kyu": "7 kyu" + }, + { + "episodeNum": 18, + "video": "https://www.youtube.com/watch?v=qqznbb9xJa4", + "slug": "which-are-in", + "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_018/which-are-in.js", + "kataName": "Which are in?", + "kyu": "6 kyu" + }, + { + "episodeNum": 18, + "video": "https://www.youtube.com/watch?v=qqznbb9xJa4", + "slug": "greed-is-good", + "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_018/greed-is-good.js", + "kataName": "Greed is Good", + "kyu": "5 kyu" + }, + { + "episodeNum": 18, + "video": "https://www.youtube.com/watch?v=qqznbb9xJa4", + "slug": "math-issues", + "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_018/math-issues.js", + "kataName": "Math Issues", + "kyu": "5 kyu" + }, + { + "episodeNum": 17, + "video": "https://www.youtube.com/watch?v=jFJGnX-q0Tc", + "slug": "ones-and-zeros", + "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_017/ones-and-zeros.js", + "kataName": "Ones and Zeros", + "kyu": "7 kyu" + }, + { + "episodeNum": 17, + "video": "https://www.youtube.com/watch?v=jFJGnX-q0Tc", + "slug": "square-every-digit", + "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_017/square-every-digit.js", + "kataName": "Square Every Digit", + "kyu": "7 kyu" + }, + { + "episodeNum": 17, + "video": "https://www.youtube.com/watch?v=jFJGnX-q0Tc", + "slug": "exponential-comparison", + "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_017/exponential-comparison.js", + "kataName": "Exponential Comparison", + "kyu": "6 kyu" + }, + { + "episodeNum": 17, + "video": "https://www.youtube.com/watch?v=jFJGnX-q0Tc", + "slug": "double-cola", + "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_017/double-cola.js", + "kataName": "Double Cola", + "kyu": "5 kyu" + }, + { + "episodeNum": 16, + "video": "https://www.youtube.com/watch?v=BKBZLZ50xh8", + "slug": "youre-a-square", + "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_016/youre-a-square.js", + "kataName": "You're a square!", + "kyu": "7 kyu" + }, + { + "episodeNum": 16, + "video": "https://www.youtube.com/watch?v=BKBZLZ50xh8", + "slug": "replace-with-alphabet-position", + "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_016/replace-with-alphabet-position.js", + "kataName": "Replace With Alphabet Position", + "kyu": "6 kyu" + }, + { + "episodeNum": 16, + "video": "https://www.youtube.com/watch?v=BKBZLZ50xh8", + "slug": "valid-parentheses", + "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_016/valid-parentheses.js", + "kataName": "Valid Parentheses", + "kyu": "5 kyu" + }, + { + "episodeNum": 15, + "video": "https://www.youtube.com/watch?v=R49EFycGF3s", + "slug": "find-the-capitals", + "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_015/find-the-capitals.js", + "kataName": "Find the Capitals", + "kyu": "7 kyu" + }, + { + "episodeNum": 15, + "video": "https://www.youtube.com/watch?v=R49EFycGF3s", + "slug": "dont-rely-on-luck", + "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_015/dont-rely-on-luck.js", + "kataName": "Don't rely on luck.", + "kyu": "6 kyu" + }, + { + "episodeNum": 15, + "video": "https://www.youtube.com/watch?v=R49EFycGF3s", + "slug": "the-hashtag-generator", + "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_015/the-hashtag-generator.js", + "kataName": "The Hashtag Generator", + "kyu": "5 kyu" + }, + { + "episodeNum": 15, + "video": "https://www.youtube.com/watch?v=R49EFycGF3s", + "slug": "range-extraction", + "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_015/range-extraction.js", + "kataName": "Range Extraction", + "kyu": "4 kyu" + }, + { + "episodeNum": 14, + "video": "https://www.youtube.com/watch?v=dE5TV-TGfEo", + "slug": "two-to-one", + "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_014/two-to-one.js", + "kataName": "Two to One", + "kyu": "7 kyu" + }, + { + "episodeNum": 14, + "video": "https://www.youtube.com/watch?v=dE5TV-TGfEo", + "slug": "duplicate-encoder", + "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_014/duplicate-encoder.js", + "kataName": "Duplicate Encoder", + "kyu": "6 kyu" + }, + { + "episodeNum": 14, + "video": "https://www.youtube.com/watch?v=dE5TV-TGfEo", + "slug": "memoized-fibonacci", + "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_014/memoized-fibonacci.js", + "kataName": "Memoized Fibonacci", + "kyu": "5 kyu" + }, + { + "episodeNum": 14, + "video": "https://www.youtube.com/watch?v=dE5TV-TGfEo", + "slug": "snail", + "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_014/snail.js", + "kataName": "Snail", + "kyu": "4 kyu" + }, + { + "episodeNum": 13, + "video": "https://www.youtube.com/watch?v=_xud7qSXkOw", + "slug": "printer-errors", + "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_013/printer-errors.js", + "kataName": "Printer Errors", + "kyu": "7 kyu" + }, + { + "episodeNum": 13, + "video": "https://www.youtube.com/watch?v=_xud7qSXkOw", + "slug": "sum-of-the-first-nth-term-of-series", + "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_013/sum-of-the-first-nth-term-of-series.js", + "kataName": "Sum of the first nth term of Series", + "kyu": "7 kyu" + }, + { + "episodeNum": 13, + "video": "https://www.youtube.com/watch?v=_xud7qSXkOw", + "slug": "find-the-parity-outlier", + "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_013/find-the-parity-outlier.js", + "kataName": "Find The Parity Outlier", + "kyu": "6 kyu" + }, + { + "episodeNum": 13, + "video": "https://www.youtube.com/watch?v=_xud7qSXkOw", + "slug": "first-non-repeating-character", + "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_013/first-non-repeating-character.js", + "kataName": "First non-repeating character", + "kyu": "5 kyu" + }, + { + "episodeNum": 12, + "video": "https://www.youtube.com/watch?v=Ozp_PY1OOnw", + "slug": "sum-of-odd-numbers", + "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_012/sum-of-odd-numbers.js", + "kataName": "Sum of odd numbers", + "kyu": "7 kyu" + }, + { + "episodeNum": 12, + "video": "https://www.youtube.com/watch?v=Ozp_PY1OOnw", + "slug": "format-a-string-of-names-like-bart-lisa-and-maggie", + "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_012/format-a-string-of-names-like-bart-lisa-and-maggie.js", + "kataName": "Format a string of names like 'Bart, Lisa & Maggie'.", + "kyu": "6 kyu" + }, + { + "episodeNum": 12, + "video": "https://www.youtube.com/watch?v=Ozp_PY1OOnw", + "slug": "paginationhelper", + "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_012/paginationhelper.js", + "kataName": "PaginationHelper", + "kyu": "5 kyu" + }, + { + "episodeNum": 11, + "video": "https://www.youtube.com/watch?v=bPTonTi42ic", + "slug": "square-every-digit", + "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_011/square-every-digit.js", + "kataName": "Square Every Digit", + "kyu": "7 kyu" + }, + { + "episodeNum": 11, + "video": "https://www.youtube.com/watch?v=bPTonTi42ic", + "slug": "counting-duplicates", + "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_011/counting-duplicates.js", + "kataName": "Counting Duplicates", + "kyu": "6 kyu" + }, + { + "episodeNum": 11, + "video": "https://www.youtube.com/watch?v=bPTonTi42ic", + "slug": "weight-for-weight", + "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_011/weight-for-weight.js", + "kataName": "Weight for weight", + "kyu": "5 kyu" + }, + { + "episodeNum": 10, + "video": "https://www.youtube.com/watch?v=6eoqEYc5SGI", + "slug": "find-the-divisors", + "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_010/find-the-divisors.js", + "kataName": "Find the divisors! ", + "kyu": "7 kyu" + }, + { + "episodeNum": 10, + "video": "https://www.youtube.com/watch?v=6eoqEYc5SGI", + "slug": "stop-gninnips-my-sdrow", + "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_010/stop-gninnips-my-sdrow.js", + "kataName": "Stop gninnipS My sdroW!", + "kyu": "6 kyu" + }, + { + "episodeNum": 10, + "video": "https://www.youtube.com/watch?v=6eoqEYc5SGI", + "slug": "pete-the-baker", + "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_010/pete-the-baker.js", + "kataName": "Pete, the baker", + "kyu": "5 kyu" + }, + { + "episodeNum": 9, + "video": "https://www.youtube.com/watch?v=0atKorB6tAI", + "slug": "correct-the-mistakes-of-the-character-recognition-software", + "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_009/correct-the-mistakes-of-the-character-recognition-software.js", + "kataName": "Correct the mistakes of the character recognition software", + "kyu": "8 kyu" + }, + { + "episodeNum": 9, + "video": "https://www.youtube.com/watch?v=0atKorB6tAI", + "slug": "does-my-number-look-big-in-this", + "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_009/does-my-number-look-big-in-this.js", + "kataName": "Does my number look big in this?", + "kyu": "6 kyu" + }, + { + "episodeNum": 9, + "video": "https://www.youtube.com/watch?v=0atKorB6tAI", + "slug": "regex-password-validation", + "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_009/regex-password-validation.js", + "kataName": "Regex Password Validation", + "kyu": "5 kyu" + }, + { + "episodeNum": 9, + "video": "https://www.youtube.com/watch?v=0atKorB6tAI", + "slug": "nesting-structure-comparison", + "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_009/nesting-structure-comparison.js", + "kataName": "Nesting Structure Comparison", + "kyu": "4 kyu" + }, + { + "episodeNum": 8, + "video": "https://www.youtube.com/watch?v=M_K7azm9i6o", + "slug": "growth-of-a-population", + "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_008/growth-of-a-population.js", + "kataName": "Growth of a Population", + "kyu": "7 kyu" + }, + { + "episodeNum": 8, + "video": "https://www.youtube.com/watch?v=M_K7azm9i6o", + "slug": "are-they-the-same", + "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_008/are-they-the-same.js", + "kataName": "Are they the \"same\"?", + "kyu": "6 kyu" + }, + { + "episodeNum": 8, + "video": "https://www.youtube.com/watch?v=M_K7azm9i6o", + "slug": "your-order-please", + "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_008/your-order-please.js", + "kataName": "Your order, please", + "kyu": "6 kyu" + }, + { + "episodeNum": 8, + "video": "https://www.youtube.com/watch?v=M_K7azm9i6o", + "slug": "rot13-1", + "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_008/rot13-1.js", + "kataName": "Rot13", + "kyu": "5 kyu" + }, + { + "episodeNum": 8, + "video": "https://www.youtube.com/watch?v=M_K7azm9i6o", + "slug": "twice-linear", + "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_008/twice-linear.js", + "kataName": "Twice linear", + "kyu": "4 kyu" + }, + { + "episodeNum": 7, + "video": "https://www.youtube.com/watch?v=O5DmKHgFwjE", + "slug": "categorize-new-member", + "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_007/categorize-new-member.js", + "kataName": "Categorize New Member", + "kyu": "7 kyu" + }, + { + "episodeNum": 7, + "video": "https://www.youtube.com/watch?v=O5DmKHgFwjE", + "slug": "isograms", + "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_007/isograms.js", + "kataName": "Isograms", + "kyu": "7 kyu" + }, + { + "episodeNum": 7, + "video": "https://www.youtube.com/watch?v=O5DmKHgFwjE", + "slug": "convert-string-to-camel-case", + "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_007/convert-string-to-camel-case.js", + "kataName": "Convert string to camel case", + "kyu": "6 kyu" + }, + { + "episodeNum": 7, + "video": "https://www.youtube.com/watch?v=O5DmKHgFwjE", + "slug": "multiples-of-3-or-5", + "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_007/multiples-of-3-or-5.js", + "kataName": "Multiples of 3 or 5", + "kyu": "6 kyu" + }, + { + "episodeNum": 7, + "video": "https://www.youtube.com/watch?v=O5DmKHgFwjE", + "slug": "rgb-to-hex-conversion", + "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_007/rgb-to-hex-conversion.js", + "kataName": "RGB To Hex Conversion", + "kyu": "5 kyu" + }, + { + "episodeNum": 7, + "video": "https://www.youtube.com/watch?v=O5DmKHgFwjE", + "slug": "where-my-anagrams-at", + "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_007/where-my-anagrams-at.js", + "kataName": "Where my anagrams at?", + "kyu": "5 kyu" + }, + { + "episodeNum": 7, + "video": "https://www.youtube.com/watch?v=O5DmKHgFwjE", + "slug": "priori-incantatem", + "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_007/priori-incantatem.js", + "kataName": "Priori Incantatem", + "kyu": "4 kyu" + }, + { + "episodeNum": 6, + "video": "https://www.youtube.com/watch?v=mwoA9wjp7ec", + "slug": "beginner-series-number-3-sum-of-numbers", + "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_006/beginner-series-number-3-sum-of-numbers.js", + "kataName": "Beginner Series #3 Sum of Numbers", + "kyu": "7 kyu" + }, + { + "episodeNum": 6, + "video": "https://www.youtube.com/watch?v=mwoA9wjp7ec", + "slug": "dubstep", + "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_006/dubstep.js", + "kataName": "Dubstep", + "kyu": "6 kyu" + }, + { + "episodeNum": 6, + "video": "https://www.youtube.com/watch?v=mwoA9wjp7ec", + "slug": "find-the-odd-int", + "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_006/find-the-odd-int.js", + "kataName": "Find the odd int", + "kyu": "6 kyu" + }, + { + "episodeNum": 6, + "video": "https://www.youtube.com/watch?v=mwoA9wjp7ec", + "slug": "reverse-polish-notation-calculator", + "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_006/reverse-polish-notation-calculator.js", + "kataName": "Reverse polish notation calculator", + "kyu": "6 kyu" + }, + { + "episodeNum": 6, + "video": "https://www.youtube.com/watch?v=mwoA9wjp7ec", + "slug": "sum-of-digits-slash-digital-root", + "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_006/sum-of-digits-slash-digital-root.js", + "kataName": "Sum of Digits / Digital Root", + "kyu": "6 kyu" + }, + { + "episodeNum": 6, + "video": "https://www.youtube.com/watch?v=mwoA9wjp7ec", + "slug": "calculating-with-functions", + "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_006/calculating-with-functions.js", + "kataName": "Calculating with Functions", + "kyu": "5 kyu" + }, + { + "episodeNum": 6, + "video": "https://www.youtube.com/watch?v=mwoA9wjp7ec", + "slug": "moving-zeros-to-the-end", + "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_006/moving-zeros-to-the-end.js", + "kataName": "Moving Zeros To The End", + "kyu": "5 kyu" + }, + { + "episodeNum": 5, + "video": "https://www.youtube.com/watch?v=S-h_tfwHQAQ", + "slug": "credit-card-mask", + "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_005/credit-card-mask.js", + "kataName": "Credit Card Mask", + "kyu": "7 kyu" + }, + { + "episodeNum": 5, + "video": "https://www.youtube.com/watch?v=S-h_tfwHQAQ", + "slug": "palindrome-chain-length", + "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_005/palindrome-chain-length.js", + "kataName": "Palindrome chain length", + "kyu": "7 kyu" + }, + { + "episodeNum": 5, + "video": "https://www.youtube.com/watch?v=S-h_tfwHQAQ", + "slug": "sum-of-two-lowest-positive-integers", + "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_005/sum-of-two-lowest-positive-integers.js", + "kataName": "Sum of two lowest positive integers", + "kyu": "7 kyu" + }, + { + "episodeNum": 5, + "video": "https://www.youtube.com/watch?v=S-h_tfwHQAQ", + "slug": "create-phone-number", + "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_005/create-phone-number.js", + "kataName": "Create Phone Number", + "kyu": "6 kyu" + }, + { + "episodeNum": 5, + "video": "https://www.youtube.com/watch?v=S-h_tfwHQAQ", + "slug": "equal-sides-of-an-array", + "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_005/equal-sides-of-an-array.js", + "kataName": "Equal Sides Of An Array", + "kyu": "6 kyu" + }, + { + "episodeNum": 5, + "video": "https://www.youtube.com/watch?v=S-h_tfwHQAQ", + "slug": "roman-numerals-encoder", + "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_005/roman-numerals-encoder.js", + "kataName": "Roman Numerals Encoder", + "kyu": "6 kyu" + }, + { + "episodeNum": 4, + "video": "https://www.youtube.com/watch?v=2ld5ndNkF2Q", + "slug": "list-filtering", + "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_004/list-filtering.js", + "kataName": "List Filtering", + "kyu": "7 kyu" + }, + { + "episodeNum": 4, + "video": "https://www.youtube.com/watch?v=2ld5ndNkF2Q", + "slug": "count-the-smiley-faces", + "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_004/count-the-smiley-faces.js", + "kataName": "Count the smiley faces!", + "kyu": "6 kyu" + }, + { + "episodeNum": 4, + "video": "https://www.youtube.com/watch?v=2ld5ndNkF2Q", + "slug": "human-readable-time", + "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_004/human-readable-time.js", + "kataName": "Human Readable Time", + "kyu": "5 kyu" + }, + { + "episodeNum": 4, + "video": "https://www.youtube.com/watch?v=2ld5ndNkF2Q", + "slug": "maximum-subarray-sum", + "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_004/maximum-subarray-sum.js", + "kataName": "Maximum subarray sum", + "kyu": "5 kyu" + }, + { + "episodeNum": 4, + "video": "https://www.youtube.com/watch?v=2ld5ndNkF2Q", + "slug": "scramblies", + "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_004/scramblies.js", + "kataName": "Scramblies", + "kyu": "5 kyu" + }, + { + "episodeNum": 4, + "video": "https://www.youtube.com/watch?v=2ld5ndNkF2Q", + "slug": "sum-strings-as-numbers", + "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_004/sum-strings-as-numbers.js", + "kataName": "Sum Strings as Numbers", + "kyu": "4 kyu" + }, + { + "episodeNum": 3, + "video": "https://www.youtube.com/watch?v=Ms7L-aVN4Hc", + "slug": "complementary-dna", + "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_003/complementary-dna.js", + "kataName": "Complementary DNA", + "kyu": "7 kyu" + }, + { + "episodeNum": 3, + "video": "https://www.youtube.com/watch?v=Ms7L-aVN4Hc", + "slug": "vowel-count", + "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_003/vowel-count.js", + "kataName": "Vowel Count", + "kyu": "7 kyu" + }, + { + "episodeNum": 3, + "video": "https://www.youtube.com/watch?v=Ms7L-aVN4Hc", + "slug": "iq-test", + "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_003/iq-test.js", + "kataName": "IQ Test", + "kyu": "6 kyu" + }, + { + "episodeNum": 3, + "video": "https://www.youtube.com/watch?v=Ms7L-aVN4Hc", + "slug": "take-a-ten-minute-walk", + "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_003/take-a-ten-minute-walk.js", + "kataName": "Take a Ten Minute Walk", + "kyu": "6 kyu" + }, + { + "episodeNum": 3, + "video": "https://www.youtube.com/watch?v=Ms7L-aVN4Hc", + "slug": "simple-pig-latin", + "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_003/simple-pig-latin.js", + "kataName": "Simple Pig Latin", + "kyu": "5 kyu" + }, + { + "episodeNum": 2, + "video": "https://www.youtube.com/watch?v=fH4w_xq2qao", + "slug": "exes-and-ohs", + "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_002/exes-and-ohs.js", + "kataName": "Exes and Ohs", + "kyu": "7 kyu" + }, + { + "episodeNum": 2, + "video": "https://www.youtube.com/watch?v=fH4w_xq2qao", + "slug": "jaden-casing-strings", + "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_002/jaden-casing-strings.js", + "kataName": "Jaden Casing Strings", + "kyu": "7 kyu" + }, + { + "episodeNum": 2, + "video": "https://www.youtube.com/watch?v=fH4w_xq2qao", + "slug": "fat-fingers", + "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_002/fat-fingers.js", + "kataName": "Fat Fingers", + "kyu": "6 kyu" + }, + { + "episodeNum": 2, + "video": "https://www.youtube.com/watch?v=fH4w_xq2qao", + "slug": "sum-of-pairs", + "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_002/sum-of-pairs.js", + "kataName": "Sum of Pairs", + "kyu": "5 kyu" + }, + { + "episodeNum": 1, + "video": "https://www.youtube.com/watch?v=Oq7r8metsD8", + "slug": "century-from-year", + "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_001/century-from-year.js", + "kataName": "Century From Year", + "kyu": "8 kyu" + }, + { + "episodeNum": 1, + "video": "https://www.youtube.com/watch?v=Oq7r8metsD8", + "slug": "students-final-grade", + "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_001/students-final-grade.js", + "kataName": "Student's Final Grade", + "kyu": "8 kyu" + }, + { + "episodeNum": 1, + "video": "https://www.youtube.com/watch?v=Oq7r8metsD8", + "slug": "binary-addition", + "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_001/binary-addition.js", + "kataName": "Binary Addition", + "kyu": "7 kyu" + }, + { + "episodeNum": 1, + "video": "https://www.youtube.com/watch?v=Oq7r8metsD8", + "slug": "mumbling", + "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_001/mumbling.js", + "kataName": "Mumbling", + "kyu": "7 kyu" + }, + { + "episodeNum": 1, + "video": "https://www.youtube.com/watch?v=Oq7r8metsD8", + "slug": "decode-the-morse-code", + "githubUrl": "https://github.com/CodingGarden/code-katas/blob/master/episode_001/decode-the-morse-code.js", + "kataName": "Decode the Morse code ", + "kyu": "6 kyu" + } +] \ No newline at end of file diff --git a/episode_000/videos.json b/episode_000/videos.json index 9d8139a..d88e8b1 100644 --- a/episode_000/videos.json +++ b/episode_000/videos.json @@ -912,49 +912,11 @@ } }, { - "kind": "youtube#playlistItem", - "etag": "\"XpPGQXPnxQJhLgs6enD_n8JR4Qk/igDbiZW6UpEHGlPU4fA29U9qNfI\"", - "id": "UExNX2kwb2JjY3kzc1pHelpkcEV0eFBjUjFpUElWMHRhUS45NzUwQkI1M0UxNThBMkU0", "snippet": { - "publishedAt": "2019-02-07T03:08:14.000Z", - "channelId": "UCLNgu_OupwoeESgtab33CCw", - "title": "Code Katas Chill Stream - Renaming and organizing katas on github", - "description": "https://github.com/CodingGarden/code-katas\n\nšŸ’– Donate: https://coding.garden/donate\nšŸ˜ Pledge: https://coding.garden/pledge\nšŸ’¬ Discord: https://coding.garden/discord\nšŸŽ‰ Stickers: https://coding.garden/stickers\nšŸ’» Gear List: https://coding.garden/gear", - "thumbnails": { - "default": { - "url": "https://i.ytimg.com/vi/1kyIyrpmiBg/default_live.jpg", - "width": 120, - "height": 90 - }, - "medium": { - "url": "https://i.ytimg.com/vi/1kyIyrpmiBg/mqdefault_live.jpg", - "width": 320, - "height": 180 - }, - "high": { - "url": "https://i.ytimg.com/vi/1kyIyrpmiBg/hqdefault_live.jpg", - "width": 480, - "height": 360 - }, - "standard": { - "url": "https://i.ytimg.com/vi/1kyIyrpmiBg/sddefault_live.jpg", - "width": 640, - "height": 480 - }, - "maxres": { - "url": "https://i.ytimg.com/vi/1kyIyrpmiBg/maxresdefault_live.jpg", - "width": 1280, - "height": 720 + "resourceId": { + "videoId": "QOWczTDlPh8" } - }, - "channelTitle": "Coding Garden with CJ", - "playlistId": "PLM_i0obccy3sZGzZdpEtxPcR1iPIV0taQ", - "position": 23, - "resourceId": { - "kind": "youtube#video", - "videoId": "1kyIyrpmiBg" - } } - } + } ] } \ No newline at end of file diff --git a/episode_001/morse-code.js b/episode_001/decode-the-morse-code.js similarity index 100% rename from episode_001/morse-code.js rename to episode_001/decode-the-morse-code.js diff --git a/episode_001/accum.js b/episode_001/mumbling.js similarity index 100% rename from episode_001/accum.js rename to episode_001/mumbling.js diff --git a/episode_002/exes-os.js b/episode_002/exes-and-ohs.js similarity index 100% rename from episode_002/exes-os.js rename to episode_002/exes-and-ohs.js diff --git a/episode_002/jaden-case.js b/episode_002/jaden-casing-strings.js similarity index 100% rename from episode_002/jaden-case.js rename to episode_002/jaden-casing-strings.js diff --git a/episode_002/sum-pairs.js b/episode_002/sum-of-pairs.js similarity index 100% rename from episode_002/sum-pairs.js rename to episode_002/sum-of-pairs.js diff --git a/episode_003/dna-compliment.js b/episode_003/complementary-dna.js similarity index 100% rename from episode_003/dna-compliment.js rename to episode_003/complementary-dna.js diff --git a/episode_003/pig-latin.js b/episode_003/simple-pig-latin.js similarity index 100% rename from episode_003/pig-latin.js rename to episode_003/simple-pig-latin.js diff --git a/episode_005/createPhoneNumber.js b/episode_005/create-phone-number.js similarity index 100% rename from episode_005/createPhoneNumber.js rename to episode_005/create-phone-number.js diff --git a/episode_005/equal-sides-sum.js b/episode_005/equal-sides-of-an-array.js similarity index 100% rename from episode_005/equal-sides-sum.js rename to episode_005/equal-sides-of-an-array.js diff --git a/episode_005/palindromeChainLength.js b/episode_005/palindrome-chain-length.js similarity index 100% rename from episode_005/palindromeChainLength.js rename to episode_005/palindrome-chain-length.js diff --git a/episode_005/sum-of-two-lowest.js b/episode_005/sum-of-two-lowest-positive-integers.js similarity index 100% rename from episode_005/sum-of-two-lowest.js rename to episode_005/sum-of-two-lowest-positive-integers.js diff --git a/episode_006/sum-of-numbers.js b/episode_006/beginner-series-number-3-sum-of-numbers.js similarity index 100% rename from episode_006/sum-of-numbers.js rename to episode_006/beginner-series-number-3-sum-of-numbers.js diff --git a/episode_006/odd-int.js b/episode_006/find-the-odd-int.js similarity index 100% rename from episode_006/odd-int.js rename to episode_006/find-the-odd-int.js diff --git a/episode_006/zeros-to-end.js b/episode_006/moving-zeros-to-the-end.js similarity index 100% rename from episode_006/zeros-to-end.js rename to episode_006/moving-zeros-to-the-end.js diff --git a/episode_006/reverse-polish-notation.js b/episode_006/reverse-polish-notation-calculator.js similarity index 100% rename from episode_006/reverse-polish-notation.js rename to episode_006/reverse-polish-notation-calculator.js diff --git a/episode_006/digital-root.js b/episode_006/sum-of-digits-slash-digital-root.js similarity index 100% rename from episode_006/digital-root.js rename to episode_006/sum-of-digits-slash-digital-root.js diff --git a/episode_007/camel-case.js b/episode_007/convert-string-to-camel-case.js similarity index 100% rename from episode_007/camel-case.js rename to episode_007/convert-string-to-camel-case.js diff --git a/episode_007/isogram.js b/episode_007/isograms.js similarity index 100% rename from episode_007/isogram.js rename to episode_007/isograms.js diff --git a/episode_007/multiples-of-3-and-5.js b/episode_007/multiples-of-3-or-5.js similarity index 100% rename from episode_007/multiples-of-3-and-5.js rename to episode_007/multiples-of-3-or-5.js diff --git a/episode_007/rgb-to-hex.js b/episode_007/rgb-to-hex-conversion.js similarity index 100% rename from episode_007/rgb-to-hex.js rename to episode_007/rgb-to-hex-conversion.js diff --git a/episode_007/anagrams.js b/episode_007/where-my-anagrams-at.js similarity index 100% rename from episode_007/anagrams.js rename to episode_007/where-my-anagrams-at.js diff --git a/episode_008/growth-population.js b/episode_008/growth-of-a-population.js similarity index 100% rename from episode_008/growth-population.js rename to episode_008/growth-of-a-population.js diff --git a/episode_008/rot13.js b/episode_008/rot13-1.js similarity index 100% rename from episode_008/rot13.js rename to episode_008/rot13-1.js diff --git a/episode_009/character-recognition-mistakes.js b/episode_009/correct-the-mistakes-of-the-character-recognition-software.js similarity index 100% rename from episode_009/character-recognition-mistakes.js rename to episode_009/correct-the-mistakes-of-the-character-recognition-software.js diff --git a/episode_009/narcissistic-numbers.js b/episode_009/does-my-number-look-big-in-this.js similarity index 100% rename from episode_009/narcissistic-numbers.js rename to episode_009/does-my-number-look-big-in-this.js diff --git a/episode_009/nested-structure-compare.js b/episode_009/nesting-structure-comparison.js similarity index 100% rename from episode_009/nested-structure-compare.js rename to episode_009/nesting-structure-comparison.js diff --git a/episode_009/regex-password.js b/episode_009/regex-password-validation.js similarity index 100% rename from episode_009/regex-password.js rename to episode_009/regex-password-validation.js diff --git a/episode_010/find-divisors.js b/episode_010/find-the-divisors.js similarity index 100% rename from episode_010/find-divisors.js rename to episode_010/find-the-divisors.js diff --git a/episode_010/spinning-words.js b/episode_010/stop-gninnips-my-sdrow.js similarity index 100% rename from episode_010/spinning-words.js rename to episode_010/stop-gninnips-my-sdrow.js diff --git a/episode_011/square-digits.js b/episode_011/square-every-digit.js similarity index 100% rename from episode_011/square-digits.js rename to episode_011/square-every-digit.js diff --git a/episode_012/format-string-names.js b/episode_012/format-a-string-of-names-like-bart-lisa-and-maggie.js similarity index 100% rename from episode_012/format-string-names.js rename to episode_012/format-a-string-of-names-like-bart-lisa-and-maggie.js diff --git a/episode_012/pagination-helper.js b/episode_012/paginationhelper.js similarity index 100% rename from episode_012/pagination-helper.js rename to episode_012/paginationhelper.js diff --git a/episode_013/parity-outlier.js b/episode_013/find-the-parity-outlier.js similarity index 100% rename from episode_013/parity-outlier.js rename to episode_013/find-the-parity-outlier.js diff --git a/episode_013/firstNonRepeatingCharacter.js b/episode_013/first-non-repeating-character.js similarity index 100% rename from episode_013/firstNonRepeatingCharacter.js rename to episode_013/first-non-repeating-character.js diff --git a/episode_013/series-sum.js b/episode_013/sum-of-the-first-nth-term-of-series.js similarity index 100% rename from episode_013/series-sum.js rename to episode_013/sum-of-the-first-nth-term-of-series.js diff --git a/episode_014/duplicateEncode.js b/episode_014/duplicate-encoder.js similarity index 100% rename from episode_014/duplicateEncode.js rename to episode_014/duplicate-encoder.js diff --git a/episode_014/memoizeFibonacci.js b/episode_014/memoized-fibonacci.js similarity index 100% rename from episode_014/memoizeFibonacci.js rename to episode_014/memoized-fibonacci.js diff --git a/episode_014/twoToOne.js b/episode_014/two-to-one.js similarity index 100% rename from episode_014/twoToOne.js rename to episode_014/two-to-one.js diff --git a/episode_019/pascalcase-into-snake-case.js b/episode_019/convert-pascalcase-string-into-snake-case.js similarity index 100% rename from episode_019/pascalcase-into-snake-case.js rename to episode_019/convert-pascalcase-string-into-snake-case.js diff --git a/episode_019/number-combos.js b/episode_019/find-all-possible-number-combos-that-sum-to-a-number.js similarity index 100% rename from episode_019/number-combos.js rename to episode_019/find-all-possible-number-combos-that-sum-to-a-number.js diff --git a/episode_019/most-consecutive-zeros.js b/episode_019/most-consecutive-zeros-of-a-binary-number.js similarity index 100% rename from episode_019/most-consecutive-zeros.js rename to episode_019/most-consecutive-zeros-of-a-binary-number.js diff --git a/episode_020/trick-or-treat.js b/episode_020/halloween-trick-or-treat.js similarity index 100% rename from episode_020/trick-or-treat.js rename to episode_020/halloween-trick-or-treat.js diff --git a/episode_021/distributing-candies.js b/episode_021/distributing-candies-fairly.js similarity index 100% rename from episode_021/distributing-candies.js rename to episode_021/distributing-candies-fairly.js