Codewars Katas and Leetcode completion journal repository.
In Codewars Katas are ranked by Kyu, with 8 the easiest and 1 the hardest.
Leetcode problems are ranked as Easy, Medium, and Hard.
I choose to use both platforms because from doing research, Leetcode keeps showing up more in technical interviews. In contrast, Codewars has a more straightforward way to rank the difficulty of an exercise.
| Date | Name | Level | Solution | Notes | Time | Status | Link | Question # |
|---|---|---|---|---|---|---|---|---|
| 22 Aug 2024 | Square(n) Sum | 8 Kyu | 1-kata.js | 1-kata.md | 15 min | Pass | https://shorturl.at/0tkiT | 1 |
| 22 Aug 2024 | Arguments to Binary addition | 8 Kyu | 2-kata.js | 2-kata.md | 1 h | Pass | https://shorturl.at/r0I3K | 2 |
| 23 Aug 2024 | Only Duplicates | 6 Kyu | 3-kata.js | 3-kata.md | 1 h | Pass | https://shorturl.at/S8KG9 | 3 |
| 24 Aug 2024 | Convert number to reversed array of digits | 8 Kyu | 4-kata.js | 4-kata.md | 15 min | Pass | https://shorturl.at/W6Lh4 | 4 |
| 25 Aug 2024 | I love you, a little , a lot, passionately ... not at all (JavaScript) | 8 Kyu | 5-kata.js | 5-kata.md | 25 min | Pass | https://shorturl.at/zei1t | 5 |
| 25 Aug 2024 | Contains Duplicate | Easy (LeetCode) | 1-leet.js | 1-leet.md | 25 min | Pass | https://shorturl.at/1tPtL | 6 |
| 25 Aug 2024 | Valid Anagram | Easy (LeetCode) | 2-leet.js | 2-leet.md | 10 min | Pass | https://shorturl.at/yxMHI | 7 |
| 26 Aug 2024 | Two Sum | Easy (LeetCode) | 3-leet.js | 3-leet.md | 40 min | Pass | https://shorturl.at/t8YA8 | 8 |
| 26 Aug 2024 | String ends with? | 7 Kyu | 6-kata.js | 6-kata.md | 10 min | Pass | https://shorturl.at/vBDBK | 9 |
| 27 Aug 2024 | Bit Counting | 6 Kyu | 7-kata.js | 7-kata.md | 20 min | Pass | https://shorturl.at/PLGxk | 10 |
| 27 Aug 2024 | Multiples of 3 or 5 | 6 Kyu | 8-kata.js | 8-kata.md | 15 min | Pass | https://shorturl.at/b7ZtA | 11 |
| 27 Aug 2024 | Human Readable Time | 5 Kyu | 9-kata.js | 9-kata.md | 30 min | Pass | https://shorturl.at/7Nh79 | 12 |
| 27 Aug 2024 | Last | 7 Kyu | 10-kata.js | 10-kata.md | 40 min | Pass | https://shorturl.at/1FAfj | 13 |
| 27 Aug 2024 | Group Anagrams | Medium (LeetCode) | 4-leet.js | 4-leet.md | 45 min | Pass | https://shorturl.at/l4NXO | 14 |
| 27 Aug 2024 | Highest Value Pyramid | 7 Kyu | 11-kata.js | 11-kata.md | 2 h 30 min | Pass | https://shorturl.at/PLjVV | 15 |
| 28 Aug 2024 | Top K Frequent Elements | Medium (LeetCode) | 5-leet.js | 5-leet.md | 40 min | Pass | https://shorturl.at/dW9HE | 16 |
| 29 Aug 2024 | Array.diff | 6 Kyu | 12-kata.js | 12-kata.md | 10 min | Pass | https://shorturl.at/1xFQh | 17 |
| 30 Aug 2024 | Highest and Lowest | 7 Kyu | 13-kata.js | 13-kata.md | 15 min | Pass | https://shorturl.at/bOOb3 | 18 |
| 31 Aug 2024 | Vowel Count | 7 Kyu | 14-kata.js | 14-kata.md | 10 min | Pass | https://shorturl.at/DIpdC | 19 |
| 1 Sep 2024 | Encode and Decode Strings | Medium (LintCode) | 6-leet.js | 6-leet.md | 1 h 20 min | Pass | https://shorturl.at/ub8ZB | 20 |
| 2 Sep 2024 | Reversed Strings | 8 Kyu | 15-kata.js | 15-kata.md | 10 min | Pass | https://shorturl.at/M6Ya8 | 21 |
| 3 Sep 2024 | Friend or Foe? | 7 Kyu | 16-kata.js | 16-kata.md | 5 min | Pass | https://shorturl.at/xJGd8 | 22 |
| 3 Sep 2024 | Plus or Minus | 6 Kyu | 17-kata.py | 17-kata.md | 1 h 30 min | Fail | https://shorturl.at/ob1nO | 23 |
| 4 Sep 2024 | Disemvowel Trolls | 7 Kyu | 18-kata.js | 18-kata.md | 10 min | Pass | https://shorturl.at/sXFzk | 24 |
| 5 Sep 2024 | Sum of Digits / Digital Root | 6 Kyu | 19-kata.js | 19-kata.md | 30 min | Pass | https://shorturl.at/mnjPF | 25 |
| 6 Sep 2024 | Clothes size number converter | 7 Kyu | 20-kata.js | 20-kata.md | 45 min | Pass | https://shorturl.at/MKDzM | 26 |
| 7 Sep 2024 | You're a square! | 7 Kyu | 21-kata.js | 21-kata.md | 25 min | Pass | https://shorturl.at/CKbso | 27 |
| 8 Sep 2024 | Regex validate PIN code | 7 Kyu | 22-kata.js | 22-kata.md | 15 min | Pass | https://shorturl.at/gFo4w | 28 |
| 9 Sep 2024 | Product of Array Except Self | Medium (LeetCode) | 7-leet.js | 7-leet.md | 1 h | Pass | https://shorturl.at/IEEpL | 29 |
| 10 Sep 2024 | Remove Element | Easy (LeetCode) | 8-leet.js | 8-leet.md | 20 min | Pass | https://shorturl.at/MN4FT | 30 |
| 11 Sep 2024 | Happy Number | Easy (LeetCode) | 9-leet.js | 9-leet.md | 1 h | Pass | https://shorturl.at/UFrIM | 31 |
| 12 Sep 2024 | Reverse words | 7 Kyu | 23-kata.js | 23-kata.md | 15 min | Pass | https://shorturl.at/kbbp6 | 32 |
| 13 Sep 2024 | Length of Last Word | Easy (LeetCode) | 10-leet.js | 10-leet.md | 10 min | Pass | https://shorturl.at/ey255 | 33 |
| 14 Sep 2024 | Longest Common Prefix | Easy (LeetCode) | 11-leet.js | 11-leet.md | 30 min | Pass | https://shorturl.at/NDmsr | 34 |
| 15 Sep 2024 | Remove Duplicates from Sorted Array | Easy (LeetCode) | 12-leet.js | 12-leet.md | 1 h | Pass | https://shorturl.at/8DJAc | 35 |
| 16 Sep 2024 | Search Insert Position | Easy (LeetCode) | 13-leet.js | 13-leet.md | 30 min | Pass | https://shorturl.at/1pbyv | 36 |
| 17 Sep 2024 | Uncommon Words from Two Sentences | Easy (LeetCode) | 14-leet.js | 14-leet.md | 30 min | Pass | https://shorturl.at/mtCj3 | 37 |
| 18 Sep 2024 | Palindrome Number | Easy (LeetCode) | 15-leet.py | 15-leet.md | 10 min | Pass | https://shorturl.at/VPP9c | 38 |
| 19 Sep 2024 | Median of Two Sorted Arrays | Hard (LeetCode) | 16-leet.py | 16-leet.md | 30 min | Pass | https://shorturl.at/rZCr4 | 39 |
| 20 Sep 2024 | Find the Index of the First Occurrence in a String | Easy (LeetCode) | 17-leet.js | 17-leet.md | 10 min | Pass | https://shorturl.at/g7haA | 40 |
| 21 Sep 2024 | Score of a String | Easy (LeetCode) | 18-leet.py | 18-leet.md | 20 min | Pass | https://shorturl.at/JglUT | 41 |
| 22 Sep 2024 | Array Prototype Last | Easy (LeetCode) | 19-leet.js | 19-leet.md | 15 min | Pass | https://shorturl.at/C8KwL | 42 |
| 23 Sep 2024 | Smallest Even Multiple | Easy (LeetCode) | 20-leet.js | 20-leet.md | 10 min | Pass | https://shorturl.at/xuqjJ | 43 |
| 24 Sep 2024 | Find the Maximum Achievable Number | Easy (LeetCode) | 21-leet.js | 21-leet.md | 20 min | Pass | https://shorturl.at/zryzn | 44 |
| 25 Sep 2024 | Convert the Temperature | Easy (LeetCode) | 22-leet.js | 22-leet.md | 10 min | Pass | https://shorturl.at/9GHD8 | 45 |
| 29 Sep 2024 | Concatenation of Array | Easy (LeetCode) | 23-leet.js | 23-leet.md | 10 min | Pass | https://shorturl.at/wKeCv | 46 |
| 30 Sep 2024 | Sqrt(x) | Easy (LeetCode) | 24-leet.js | 24-leet.md | 5 min | Pass | https://shorturl.at/ZdiRT | 47 |
| 1 Oct 2024 | Add Binary | Easy (LeetCode) | 25-leet.js | 25-leet.md | 20 min | Pass | https://shorturl.at/2EP5m | 48 |
| 2 Oct 2024 | Valid Palindrome | Easy (LeetCode) | 26-leet.js | 26-leet.md | 30 min | Pass | https://shorturl.at/RlLT0 | 49 |
| 3 Oct 2024 | Number of Good Pairs | Easy (LeetCode) | 27-leet.js | 27-leet.md | 20 min | Pass | https://shorturl.at/fg9Ld | 50 |
| 4 Oct 2024 | Allow One Function Call | Easy (LeetCode) | 28-leet.js | 28-leet.md | 45 min | Pass | https://shorturl.at/YERKx | 51 |
| 5 Oct 2024 | To Be Or Not To Be | Easy (LeetCode) | 29-leet.js | 29-leet.md | 15 min | Pass | https://shorturl.at/7Mjxu | 52 |
| 6 Oct 2024 | Counter II | Easy (LeetCode) | 30-leet.js | 30-leet.md | 15 min | Pass | https://shorturl.at/URjTo | 53 |
| 7 Oct 2024 | Array Reduce Transformation | Easy (LeetCode) | 31-leet.js | 31-leet.md | 20 min | Pass | https://shorturl.at/EyEDK | 54 |
| 8 Oct 2024 | Function Composition | Easy (LeetCode) | 32-leet.js | 32-leet.md | 20 min | Pass | https://shorturl.at/Akj3u | 55 |
| 9 Oct 2024 | Add Two Promises | Easy (LeetCode) | 33-leet.js | 33-leet.md | 15 min | Pass | https://shorturl.at/ge11K | 56 |
| 10 Oct 2024 | Reverse Integer | Easy (LeetCode) | 34-leet.js | 34-leet.md | 25 min | Pass | https://shorturl.at/8kHGX | 57 |
| 11 Oct 2024 | Sleep | Easy (LeetCode) | 35-leet.js | 35-leet.md | 20 min | Pass | https://shorturl.at/1UnmA | 58 |
| 12 Oct 2024 | Timeout Cancellation | Easy (LeetCode) | 36-leet.js | 36-leet.md | 50 min | Pass | https://shorturl.at/wgNsE | 59 |
| 13 Oct 2024 | Interval Cancellation | Easy (LeetCode) | 37-leet.js | 37-leet.md | 1 h | Pass | https://shorturl.at/oX8FU | 60 |
| 14 Oct 2024 | Is Object Empty | Easy (LeetCode) | 38-leet.js | 38-leet.md | 15 min | Pass | https://shorturl.at/sAlgp | 61 |
| 15 Oct 2024 | Chunk Array | Easy (LeetCode) | 39-leet.js | 39-leet.md | 20 min | Pass | https://shorturl.at/OxM4G | 62 |
| 16 Oct 2024 | Sort By | Easy (LeetCode) | 40-leet.js | 40-leet.md | 20 min | Pass | https://tinyurl.com/43uyctu8 | 63 |
| 17 Oct 2024 | Array Wrapper | Easy (LeetCode) | 41-leet.js | 41-leet.md | 1 h | Pass | https://shorturl.at/hBp2J | 64 |
| 18 Oct 2024 | Plus One | Easy (LeetCode) | 42-leet.js | 42-leet.md | 1 h | Pass | https://tinyurl.com/5fvpzev4 | 65 |
| 19 Oct 2024 | Single Number | Easy (LeetCode) | 43-leet.js | 43-leet.md | 1 h | Pass | https://shorturl.at/e3qtU | 66 |
| 20 Oct 2024 | Merge Strings Alternately | Easy (LeetCode) | 44-leet.js | 44-leet.md | 20 min | Pass | https://shorturl.at/L98HB | 67 |
| 21 Oct 2024 | Calculator with Method Chaining | Easy (LeetCode) | 45-leet.js | 45-leet.md | 30 min | Pass | https://tinyurl.com/3f52xadp | 68 |
| 22 Oct 2024 | Reverse Vowels of a String | Easy (LeetCode) | 46-leet.js | 46-leet.md | 20 min | Pass | https://tinyurl.com/26mmnba3 | 69 |
| 23 Oct 2024 | Move Zeroes | Easy (LeetCode) | 47-leet.js | 47-leet.md | 20 min | Pass | https://shorturl.at/chjTO | 70 |
| 24 Oct 2024 | Reverse Words in a String | Medium (LeetCode) | 48-leet.js | 48-leet.md | 15 min | Pass | https://tinyurl.com/yc7mh8ns | 71 |
| 25 Oct 2024 | Is Subsequence | Easy (LeetCode) | 49-leet.js | 49-leet.md | 1 h 20 min | Pass | https://shorturl.at/8DUSg | 72 |
| 26 Oct 2024 | Convert a Number to Hexadecimal | Easy (LeetCode) | 50-leet.js | 50-leet.md | 15 min | Pass | https://shorturl.at/bnnva | 73 |
| 27 Oct 2024 | Find the Difference of Two Arrays | Easy (LeetCode) | 51-leet.js | 51-leet.md | 30 min | Pass | https://shorturl.at/bv0dx | 74 |
| 28 Oct 2024 | Unique Number of Occurrences | Easy (LeetCode) | 52-leet.js | 52-leet.md | 10 min | Pass | https://shorturl.at/qPXUi | 75 |
| 29 Oct 2024 | Roman to Integer | Easy (LeetCode) | 53-leet.js | 53-leet.md | 40 min | Pass | https://shorturl.at/jS9fS | 76 |
| 30 Oct 2024 | Find the Highest Altitude | Easy (LeetCode) | 54-leet.js | 54-leet.md | 15 min | Pass | https://shorturl.at/AmwQT | 77 |
| 31 Oct 2024 | Memoize | Medium (LeetCode) | 55-leet.js | 55-leet.md | 1 h 15 min | Pass | https://shorturl.at/OnSa0 | 78 |
| 1 Nov 2024 | 3Sum | Medium (LeetCode) | 56-leet.js | 56-leet.md | 1 h 30 min | Pass | https://shorturl.at/CBPhR | 79 |
| 2 Nov 2024 | Promise Time Limit | Easy (LeetCode) | 57-leet.js | 57-leet.md | 1 h | Pass | https://shorturl.at/gJzfG | 80 |
| 3 Nov 2024 | Cache With Time Limit | Medium (LeetCode) | 58-leet.js | 58-leet.md | 1 h 10 min | Pass | https://shorturl.at/FkUzn | 81 |
| 4 Nov 2024 | Confirmation Rate | Medium (LeetCode) | 59-leet.sql | 59-leet.md | 50 min | Pass | https://shorturl.at/CjLGt | 82 |
| 5 Nov 2024 | Merge Two Sorted Lists | Easy (LeetCode) | 60-leet.sql | 60-leet.md | 30 min | Pass | https://shorturl.at/peefb | 83 |
| 6 Nov 2024 | Valid Parentheses | Easy (LeetCode) | 61-leet.sql | 61-leet.md | 30 min | Pass | https://shorturl.at/SnLWt | 84 |
| 17 Feb 2025 | Who likes it? | 6 Kyu | 24-kata.js | 24-kata.md | 10 min | Pass | https://shorturl.at/AMN65 | 85 |
| 29 Mar 2025 | Exes and Ohs | 7 Kyu | 25-kata.js | 25-kata.md | 20 min | Pass | https://shorturl.at/Ub7le | 86 |
| 31 Mar 2025 | Is this a triangle? | 7 Kyu | 26-kata.js | 26-kata.md | 20 min | Pass | https://shorturl.at/DsDeU | 87 |
| 2 Apr 2025 | Counting Duplicates | 6 Kyu | 27-kata.js | 27-kata.md | 25 min | Pass | https://shorturl.at/sBT3T | 88 |
| 3 Apr 2025 | RGB To Hex Conversion | 5 Kyu | 28-kata.js | 28-kata.md | 1 h 5 min | Pass | https://shorturl.at/B27ag | 89 |
| 4 Apr 2025 | Mean Square Error | 5 Kyu | 29-kata.js | 29-kata.md | 10 min | Pass | https://shorturl.at/d4r7F | 90 |
| 8 Apr 2025 | Extract the domain name from a URL | 5 Kyu | 30-kata.js | 30-kata.md | 30 min | Pass | https://shorturl.at/1Fsky | 91 |
| 8 Apr 2025 | The Hashtag Generator | 5 Kyu | 31-kata.js | 31-kata.md | 20 min | Pass | https://shorturl.at/6d1Fx | 92 |
Many thanks to my mentor: Daniel Trujillo (GitHub: https://github.com/danieltrujillo003)