Skip to content

About

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

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

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 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.


🌍 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

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages