Skip to content

nabankur14/python-dsa-and-data-science-problems

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🐍 Python Problem Solving Portfolio

A growing collection of Python problems covering algorithms, data structures, string manipulation, optimization, and data science simulations — solved with clean code, complexity analysis, and real-world context.

Python Status License University


👤 About Me

Nabankur Ray Data Science & Business Analytics | Deakin University 🔗 LinkedIn | 🐙 GitHub


📌 About This Repository

This repository is a living portfolio of Python problem-solving work.

Every problem added here demonstrates applied thinking in:

  • Core Python programming fundamentals
  • Algorithm design and complexity analysis
  • Data science and simulation techniques
  • Real-world problem modelling

Problems come from university coursework, self-practice, and data science challenges. The repository grows continuously as new problems are solved and new topics are explored.


📂 Repository Structure

python-dsa-and-data-science-problems/
│
├── Count how many other digits are smaller than it.ipynb
├── Design a solution to generate exactly n magic coins.ipynb
├── Find the maximum without max() or sort().ipynb
├── Reverse the string into list using list comprehension.ipynb
├── Scoring function to determine the winner of the 3MT competition.ipynb
├── Split text into sentences and find the top 30 most common words.ipynb
├── Stochastic Optimization with NumPy.ipynb
├── LICENSE
└── README.md

📌 New folders will be added as new problem categories are introduced.


🗂️ Problems Included

✅ SIT742 — Modern Data Science | Mid-Term Assessment

Unit: SIT742, Deakin University | Trimester: 2, 2025

Problem Topic Key Concepts
Q1.1 Reverse Student ID String List comprehension, Exception handling
Q1.2 Partial Reverse from Index String slicing, Input validation
Q1.3 Max Digit & Second Max (No built-ins) Manual search, O(n) complexity
Q1.4 Count Smaller Digits (find_digits) Nested iteration, O(n²) complexity
Q1.5 3MT Competition Scorer Multi-criteria normalization, Data wrangling
Q1.6 Magic Coin Generator (Machine 1 & 2) Bit manipulation logic, Greedy approach
Q1.7 Word Frequency Counter (Top 30) Text parsing, Dictionary sorting
Q2.1 Monte Carlo Simulation — Product A NumPy, Stochastic modelling
Q2.2 Multi-Product Optimization with Budget Constraint optimization, Simulation
Q2.3 Profit vs Stock Level Analysis Matplotlib visualization, Insights

🛠️ Skills Demonstrated

  • Python Core — Data types, control flow, functions, modules
  • Algorithm Design — Custom search, sort, and traversal without built-ins
  • List Comprehension & Functional Style — Concise, readable Pythonic code
  • Exception Handling — Robust input validation and error management
  • NumPy — Array operations, random simulation, vectorized computation
  • Monte Carlo Simulation — Probabilistic modelling under uncertainty
  • Stochastic Optimization — Inventory management with demand variability
  • Text Processing — Sentence splitting, word frequency analysis
  • Data Visualization — Matplotlib charts for analytical storytelling
  • Complexity Analysis — Time and space complexity discussion per solution

⚙️ How to Run

Prerequisites

Make sure you have Python 3.10+ installed. Install dependencies (if any) using:

pip install numpy matplotlib

Run any notebook locally

jupyter notebook university_assignments/SIT742_MidTerm/SIT742_MidTerm.ipynb

Or open directly in Google Colab

Click the badge below to open the SIT742 notebook in Colab:

Open In Colab

Replace the link above with your actual Colab share URL after uploading.


📈 How This Repo Grows

When What Gets Added
University assignments Full notebooks with outputs and comments
Self-practice problems Standalone .py scripts with explanations
Data science challenges Notebooks with EDA, modelling, and visualization
Algorithm practice Clean functions with complexity notes

🔖 Problem Tagging System

Each problem or file will be tagged in its docstring or markdown header using:

# [TOPIC] Algorithm Design | [DIFFICULTY] Medium | [SOURCE] SIT742 Assignment

Tags used:

  • Topic: Algorithm, Optimization, Simulation, Text Processing, Data Science
  • Difficulty: Beginner, Intermediate, Advanced
  • Source: University, Self-Practice, Competition

📄 License

This repository is licensed under the MIT License. You are free to use, adapt, and build upon this work with attribution.


🙌 Acknowledgements

  • Deakin University — SIT742 Modern Data Science unit team
  • Google Colab — Cloud notebook environment used for development
  • NumPy & Matplotlib — Core scientific Python libraries

👨‍💻 Author

Nabankur Ray

Passionate about real-world data-driven solutions

GitHub LinkedIn

⭐ If you found this repository helpful or interesting, consider starring it — it helps others discover it too.

About

A growing collection of Python problems covering algorithms, data structures, string manipulation, optimization, and data science simulations — solved with clean code, complexity analysis, and real-world context.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors