Codewars Katas
Codewars katas
Solutions with tests, tips and tutorials forVocabulary
-
Kata: is an algorithm you have to solve in any programming language you desire
-
Kyu: is a digit that determines kata difficulty level as well as the user rank on the platform
Node.js & ES6+ Support
The current Node versions available are the following Node.js v6.11.0 and Node.js v8.1.3
Purpose
Practicing katas could help you to improve your algorithmic thinking. It could also help going to interviews more confident and learning a few tricks of your prefered language. I highly recommend the Tech Interview Handbook which will help you ace your next technical interview.
Repository Structure
There's a folder for each kata nested in its own kyu
βββ 8-kyu/
β βββ Mr. Freeze/
β β βββ index.js
β β βββ index.test.js
β βββ ...
β
βββ 7-kyu/
β βββ Binary Addition/
β β βββ index.js
β β βββ index.test.js
β βββ ...
Global Index
This index will help you find all katas ordered alphabetically with a link to the kata folder.
π§ 7 Kyu - Index
βΈοΈ 6 Kyu - Index
βΈοΈ 5 Kyu - Index
Notes:
β All completedπ§ Work in progressβΈοΈ Paused until last WIP is completed
To update the global index run
> npm run update-index
Create a new Kata
Since the kata generator uses some dependencies so you should install those first
> npm run install-generator-deps
To generate a new folder with a index.js
and index.test.js
run
> npm run create-kata [kata link]
In example
> npm run create-kata https://www.codewars.com/kata/drying-potatoes/train/javascript
Since this is a 7-kyu kata it will appear under this folder as a folder with it's own title "Drying Potatoes".
Test your Might
If you want to test in watch mode uncommitted files
> npm run test-watch
Development Dependencies
- Code Linting: XO
- Code Formatting: Prettier
- Utilities: Lodash & Ramda
- Pre-commit hook: Husky
- Testing: Jest & Jest-extended
- Types definitions for Jest: Types/jest
I also use Quokka Pro Edition for rapid prototyping. Also I recommend you Quokka Pro that has Live Comments.
Learning Resources
-
Regular Expressions / RegEx
-
ES6 / ES2015
- Array & Objects
- Good Practices
Tips
-
Katas has
tags
that could help you in advance to know what to use. For example you could solve this kata using regular expressions.
-
Katas could have some issues that goes beyond your implementation. If you're stuck check the
Issues
. Just click where it says1 Issue Reported
above theInstructions
.
-
Finally check the
discussions
in case the Instructions aren't really clear. Click on theDiscuss
button under theSample Tests
.
- After you submit your final solution check the Solutions to learn from other alternatives. If you don't understand them you can leave a comment or check the discussions of each one. Try to learn from these solutions and improve your current one or create a Short Solution of your own.
- If you check my solutions the "Long Solution" maybe is longer than the "Short Solution" but is more readable.
More Helpful Resources
- RegEx Snippets
- Learn RegEx
- JavaScript Arrays Cheatsheet
- JavaScript Cheatsheet
- 30 Seconds of Code
- Codewars Gitter
- Algos Explained
- A curated list of code katas
- Algorithms solved in many languages
- JavaScript Algorithms and Data Structures
- A JavaScript optimization handbook
Similar Plattforms
Contributors
Feel free to open issues or send PRs
License
MIT Β© Leonardo Galante