Skip to content

lndgalante/codewars-katas

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Codewars Katas

Solutions for Codewars katas

Table of Contents

Introduction

Solutions with tests, tips and tutorials for Codewars katas. Almost every kata has a long solution and a shorter one, IMHO a long descriptive solution it's preferred over a cryptic one-liner, unless it's understandable for your entire team.

Disclaimer

  • Codewarriors are strongly encouraged not to look at your solutions to Kata until they have completed it themselves or at least took the time to think about their own approaches
  • Codewarriors should not submit your solutions as their own
  • You will not be accepting contributions of any form to this repo
  • Creating a repository like this is discouraged by Codewars

Vocabulary

  • 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.x, Node.js v8.x and Node.js v10.x

Purpose

Practicing katas could help you to improve your algorithmic thinking. It could also help at interviews being more confident and learning a few tricks of your preferred 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.

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 an 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 its own title "Drying Potatoes".

Test your Might

If you want to test in watch mode uncommitted files

> npm run test-watch

Performance tests

Check Perflink if you want to compare performance between long and short solutions.

Development Dependencies

I also use Quokka Pro Edition for rapid prototyping. Also I recommend you Quokka Pro that has Live Comments.

Tips & Tricks

  1. Katas has tags that could help you in advance to know what to use. For example you could solve this kata using regular expressions.

    Codewars tags

  1. Katas could have some issues that goes beyond your implementation. If you're stuck check the Issues. Just click where it says 1 Issue Reported above the Instructions.

    Codewars issues

  1. Finally check the discussions in case the Instructions aren't really clear. Click on the Discuss button under the Sample Tests.

    Codewars issues

  1. 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.
  1. If you check my solutions the "Long Solution" maybe is longer than the "Short Solution" but is more readable.
  1. If you want to check what solution is faster use jsPerf or JSBench

Learning Resources

More Helpful Resources

Similar Plattforms

Contributors

Feel free to open issues or send PRs

License

MIT © Leonardo Galante

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •