# Think in code

Kotlin data-structure walkthroughs with runnable playgrounds.

- [Kotlin's trimStart and trimEnd: A clever solution to count collisions](https://www.msomu.com/think-in-code/count-collisions-on-a-road.md): discovering how Kotlin's string trimming functions can turn a complex simulation into a one-liner
- [Merging two sorted linked lists in kotlin](https://www.msomu.com/think-in-code/merging-two-sorted-linked-lists.md): code that works is good. code that reads like a story is better.
- [Solving two sum with hashmap in kotlin](https://www.msomu.com/think-in-code/two-sum.md): an elegant approach to finding two numbers that add up to a target value
- [Cracking leetcode's 'valid parentheses' with kotlin](https://www.msomu.com/think-in-code/valid-parentheses.md): a journey toward clean code that not only works — but feels right
- [The power of optimization: finding factors efficiently](https://www.msomu.com/think-in-code/optimization-finding-factors.md): how a simple mathematical insight can turn years of computation into seconds
- [Solving 'top k frequent elements' using bucket sort](https://www.msomu.com/think-in-code/top-k-frequent-elements.md): an efficient approach to finding the k most frequent elements in an array
- [Brute force sudoku validation: simple yet smart](https://www.msomu.com/think-in-code/brute-force-sudoku-validation.md): sometimes, the best way to solve a problem is to do exactly what it asks.
- [Kotlin playground demo](https://www.msomu.com/think-in-code/kotlin-playground-demo.md): demonstrating the kotlin playground component
- [Introduction to dsa in kotlin](https://www.msomu.com/think-in-code/introduction-to-dsa.md): following my journey of learning dsa in kotlin
