A curated library of my Codility solutions with official reports — keeping Python fundamentals sharp alongside AI engineering.
| Problem | Score | Tests | Time | Solution |
|---|---|---|---|---|
| FrogJmp | 100% | 10/10 | ~6 min | src/frog_jmp.py |
| PermMissingElem (v1) | 100% | 11/11 | ~4 min | src/perm_missing_elem.py |
| PermMissingElem (v2) | 100% | 11/11 | ~4 min | src/perm_missing_elem.py |
32 passed test cases — zero failures. 🎯
python-codility-solutions/
├── README.md # This file
├── .gitignore # Excludes system files
├── src/ # All Python solution files
│ ├── frog_jmp.py # FrogJmp solution
│ ├── perm_missing_elem.py # PermMissingElem solution
│ └── (35+ more solutions)
├── docs/ # Documentation & historical reports
│ ├── Test results - Codility*.pdf # Official Codility reports
│ └── Test results - Codility*.png # Screenshots
├── results/ # Latest PDF reports
│ ├── frog_jmp/
│ │ └── FrogJmp_100_percent.pdf
│ └── perm_missing_elem/
│ ├── PermMissingElem_Submission_1_100_percent.pdf
│ └── PermMissingElem_Submission_2_100_percent.pdf
├── scripts/ # Shell scripts (if any)
└── solutions/ # Solution explanations (coming soon)
# FrogJmp
python src/frog_jmp.py
# PermMissingElem
python src/perm_missing_elem.py
# Run all solutions
for f in src/*.py; do python "$f"; done# Open latest Codility reports
open results/frog_jmp/FrogJmp_100_percent.pdf
open results/perm_missing_elem/PermMissingElem_Submission_1_100_percent.pdf
open results/perm_missing_elem/PermMissingElem_Submission_2_100_percent.pdf
# View all historical reports
open docs/- Problem: Count minimal jumps from X to Y
- Solution: Use integer division instead of simulation
- Time Complexity: O(1) — constant time
- Space Complexity: O(1)
- Problem: Find missing element in a permutation
- Solution: Sort + binary search
- Time Complexity: O(N log N)
- Space Complexity: O(1)
Codility problems test algorithmic thinking. Key challenges:
- Efficiency: Aim for O(1), O(n), or O(n log n)
- Edge cases: Handle empty inputs, single elements, large numbers
- Minimalist code: Avoid nested loops and unnecessary objects
- Quick exits: Use
returnandbreakto exit early
- 32 passed test cases on latest run
- 0 failures
- 100% scores on all recent submissions
- Consistently under 6 minutes per problem
Keeping Python fundamentals sharp alongside AI engineering. 🐍🚀