- 🚀 Project Overview
- 🎯 Project Goals
- 🛠 Tech Stack
- 📂 Project Structure
- 📚 Topics Covered
- 📅 Progress
▶️ Running the Code- 🧠 Learning Notes
- 🌍 Why this Project Matters
- 👩🏻💻 About the Developer
- 🔗 Connect with Me
This repository contains my solutions for the HackerRank 30 Days of Code Challenge, implemented using Kotlin.
The goal of this challenge is to strengthen:
- Algorithmic Thinking
- Problem-solving Skills
- Core Programming Fundamentals
Each day introduces a new programming concept and coding challenge.
📚 Official Challenge https://www.hackerrank.com/domains/tutorials/30-days-of-code
This project was created to:
- Improve algorithmic thinking
- Strengthen core programming fundamentals
- Practice clean and readable Kotlin code
- Maintain daily coding discipline
- Prepare for technical interviews in global tech companies
- Kotlin
- Algorithms & Data Structures
- Problem Solving
- HackerRank coding platform
- Git & GitHub
30DaysCode
│
├── Day0-Hello-World
│ └── Main.kt
│
├── Day01-Data-Types
│ └── Main.kt
│
├── Day02-Operators
│ └── Main.kt
│
├── Day03-Conditional-Statements
│ └── Main.kt
│
├── Day04-Class-Instance
│ └── Main.kt
│
├── Day05-Loops
│ └── Main.kt
│
├── Day06-Review
│ └── Main.kt
│
├── Day07-Arrays
│ └── Main.kt
│
├── Day08-Dictionaries-Maps
│ └── Main.kt
│
├── Day09-Recursion
│ └── Main.kt
│
├── Day10-Binary-Numbers
│ └── Main.kt
│
├── Day11-2D-Arrays
│ └── Main.kt
│
├── Day12-Inheritance
│ └── Main.kt
│
├── Day13-Abstract-Classes
│ └── Main.kt
│
├── Day14-Scope
│ └── Main.kt
│
├── Day15-Linked-List
│ └── Main.kt
│
├── Day16-Exceptions-String-Integer
│ └── Main.kt
│
├── Day17-Exceptions
│ └── Main.kt
│
├── Day18-Queues-Stacks
│ └── Main.kt
│
├── Day19-Interfaces
│ └── Main.kt
│
├── Day20-Sorting
│ └── Main.kt
│
├── Day21-Generics
│ └── Main.kt
│
├── Day22-Binary-Search-Trees
│ └── Main.kt
│
├── Day23-BST-Level-Order-Traversal
│ └── Main.kt
│
├── Day24-Linked-Lists
│ └── Main.kt
│
├── Day25-Running-Time-Complexity
│ └── Main.kt
│
├── Day26-Nested-Logic
│ └── Main.kt
│
├── Day27-Testing
│ └── Main.kt
│
├── Day28-RegEx-Patterns-Databases
│ └── Main.kt
│
└── Day29-Bitwise
└── Main.kt
During the challenge, the following programming concepts are explored:
- Data types
- Conditional logic
- Loops
- Functions
- Arrays
- Dictionaries / Maps
- Recursion
- Object-Oriented Programming
- Algorithmic thinking
- Debugging and code optimization
| Day | Topic | Status |
|---|---|---|
| Day 0 | Hello World | ✅ |
| Day 1 | Data Types | ✅ |
| Day 2 | Operators | ✅ |
| Day 3 | Conditional Statements | ✅ |
| Day 4 | Class vs Instance | ✅ |
| Day 5 | Loops | ✅ |
| Day 6 | Review | ✅ |
| Day 7 | Arrays | ✅ |
| Day 8 | Dictionaries & Maps | ⏳ |
| Day 9 | Recursion | ⏳ |
| Day 10 | Binary Numbers | ⏳ |
| Day 11 | 2D Arrays | ⏳ |
| Day 12 | Inheritance | ⏳ |
| Day 13 | Abstract Classes | ⏳ |
| Day 14 | Scope | ⏳ |
| Day 15 | Linked List | ⏳ |
| Day 16 | Exceptions - String to Integer | ⏳ |
| Day 17 | More Exceptions | ⏳ |
| Day 18 | Queues and Stacks | ⏳ |
| Day 19 | Interfaces | ⏳ |
| Day 20 | Sorting | ⏳ |
| Day 21 | Generics | ⏳ |
| Day 22 | Binary Search Trees | ⏳ |
| Day 23 | BST Level-Order Traversal | ⏳ |
| Day 24 | More Linked Lists | ⏳ |
| Day 25 | Running Time and Complexity | ⏳ |
| Day 26 | Nested Logic | ⏳ |
| Day 27 | Testing | ⏳ |
| Day 28 | RegEx, Patterns, and Intro to Databases | ⏳ |
| Day 29 | Bitwise AND | ⏳ |
| Day 30 | Advanced Challenges | ⏳ |
Click to expand instructions
git clone https://github.com/Laura-Oliveira/30DaysCode.gitcd 30DaysCodekotlinc Main.kt -include-runtime -d program.jarjava -jar program.jarYou can also run the solutions using:
- IntelliJ IDEA [https://www.jetbrains.com/idea/]
- Android Studio [https://developer.android.com/studio]
During this challenge I aim to improve: • Algorithmic thinking • Kotlin problem-solving patterns • Time complexity awareness • Writing clean and readable code
Each solution focuses not only on solving the problem, but also on keeping the implementation clear, maintainable, and idiomatic in Kotlin.
Consistent algorithm practice is essential for developers who want to:
- Build high-quality software
- Improve logical reasoning
- Succeed in technical interviews
This repository demonstrates:
- 📈 Continuous learning mindset
- 🧠 Problem-solving and algorithmic thinking
- ✏️ Clean and readable Kotlin code
- 🛠 Practical programming discipline
These are key qualities valued by engineering teams and hiring managers worldwide, especially in product-driven tech companies.
Laura Oliveira
Android Engineer | Kotlin Developer
I build modern Android applications using Kotlin/Java, focusing on clean architecture, scalability, and high-quality code.
- Kotlin
- Java
- Android SDK
- MVVM Architecture
- Coroutines & Concurrency
- Firebase
- REST APIs
🌍 Open to international opportunities
Remote • Hybrid • Relocation
💼 LinkedIn: https://www.linkedin.com/in/laura-oliveira-mobile/
🌐 Portfolio: https://laura-oliveira.github.io/
📧 Email: laura.oliveira.tech@gmail.com
⭐ If you find this project helpful, consider giving it a star!
#30DaysOfCode #Kotlin #Algorithms #ProblemSolving #SoftwareEngineering