I wanted to sort Codewars katas (code problems) for people learning JavaScript so they can work their way up through a list sorted by my perceived difficulty level. The difficulty level of Codewars katas can vary too much for students. Especially since new students will have a hard time knowing if a problem is difficult or easy. (This list might work partially for other languages like C++/Ruby/Python/etc.)
To level up your skills, do these in order. There's references in each section for you to view. Or train up your Google skills! Avoid searching for the specific problem/solution. Because, more importantly than completing these, your goal is to understand them.
When you're done with a kata, try to explain your answer out-loud. Explain each line one-by-one. If you struggle to explain a line, that's a hint to keep training on that topic.
When you're done with the list, or feel like you have hit a wall, go back. Go to the beginning and re-do all the problems. Your goal will be to work on understanding the problems without having to use your references.
-
Jenny's Secret Message (Bug fix)
-
Messi Goals (Variables)
-
Messi Goals Function (Functions)
-
Combine Strings (Strings)
-
Debugging sayHello function (Strings)
-
Friendly reminder to read the solution out-loud
-
Are you Playing Banjo? (Strings)
-
Multiply (function / bug fix)
-
Opposite number (Math)
-
Basic variable assignment (Bug fix)
-
Check for Factor (Math)
-
Is n divisible by x and y? (Math, Conditionals)
- JavaScript Variables
- JavsScript Strings
- JavaScript Booleans
- JavaScript If Statements
- JavaScript Functions
-
Return the day (Conditionals)
-
Unfinished Loop (Bug fix, loops, arrays)
-
You Only Need One (Loops)
-
Vowel Count (Strings, loops)
-
Grasshopper - Summation (Loops)
-
Function syntax debugging (Functions, synax)
-
Will there be enough space? (Math)
-
Friendly reminder to try be able to explain each line of your code
-
If you can't sleep, just count sheep!! (Loops, string concatenation)
-
Grasshopper - Debug celsius converter (Bug fix, math)
-
Difference of Volumes of Cuboids (Arrays, math)
-
Number toString (Bug fix)
-
Get Planet Name by id (Bug fix)
-
Reversed String (String manipulation) (Try this with a loop instead of any methods)
-
Grade Book (Functions, conditionals)
-
Is this my tail? (Bug fix)
-
Mulitiplication Table (Loops)
-
Sum of Positive (Arrays, Loops)
-
Student's Final Grade (Comparison)
-
Can you explain the answer to that last problem?
-
Find the numbers which are divisible by given number (arrays, math)
-
Remove First and Last Character (Sub-string)
-
Abbreviate a Two Word Name (String manipulation)
-
Multiply the number (Math)
-
Closest Elevator (Math)
-
Array plus array (Arrays, loops)
-
Squash the bugs (Bug fix)
-
Is it a Palindrome? (Strings, loops?)
-
Swap Values (Bug fix) (Hint: How would you write this from scratch?)
-
What is an array?
-
DNA to RNA Conversion (String manipulation)
-
Keep Hydrated! (Math)
-
Correct the mistakes of the character recognition software (String manipulation)
-
Nice Array (Arrays, nested loops)
-
Object syntax debug (Objects, Syntax)
-
Let's Recycle! (Objects, Arrays, Loops)
-
Ironman Triathlon (Objects, Math, Logic)
-
JavaScript class-like objects (Classes)
-
Regular Ball Super Ball (Classes)
-
Finish the Number Game (Classes, throw error)
-
Two fighters, one winner. (Classes, loops)
-
A Function Within a Function (Advanced functions)
-
Easy mathematical callback (Callbacks)
-
Chain me (Callbacks)
-
Grouped by Commas (Math, String concatenation)
-
Adam & Eve (Classes, subclasses)