Skip to content

Laura-Oliveira/30DaysCode

Repository files navigation

🚀 Kotlin Algorithms Practice – HackerRank 30 Days of Code Challenge

Status Kotlin Platform License

Last Commit Stars Forks



📑 Table of Contents


🚀 Project Overview

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


🎯 Project Goals

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

🛠 Tech Stack

  • Kotlin
  • Algorithms & Data Structures
  • Problem Solving
  • HackerRank coding platform
  • Git & GitHub

📂 Project Structure

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

📚 Topics Covered

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

📅 Progress

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

▶️ Running the Code

Click to expand instructions

1️⃣ Clone the repository

git clone https://github.com/Laura-Oliveira/30DaysCode.git

2️⃣ Navigate to the project

cd 30DaysCode

3️⃣ Compile the Kotlin code

kotlinc Main.kt -include-runtime -d program.jar

4️⃣ Run the Program

java -jar program.jar

You can also run the solutions using:


🧠 Learning Notes

During this challenge I aim to improve: • Algorithmic thinkingKotlin problem-solving patternsTime complexity awarenessWriting 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.


🌍 Why this Project Matters

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.


👩🏻‍💻 About the Developer

Laura Oliveira
Android Engineer | Kotlin Developer

I build modern Android applications using Kotlin/Java, focusing on clean architecture, scalability, and high-quality code.

🔧 Core Skills

  • Kotlin
  • Java
  • Android SDK
  • MVVM Architecture
  • Coroutines & Concurrency
  • Firebase
  • REST APIs

🌍 Open to international opportunities

Remote • Hybrid • Relocation


🔗 Connect with Me

💼 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

About

Kotlin solutions for HackerRank’s 30 Days of Code challenge, focusing on logic, algorithms, and clean coding practices.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages