Solving One Coding Challenge at a Time: My Codeforces Experience
Competitive Programming: My Weekend E-sport

Alongside my cybersecurity learning path, I’ve decided to treat competitive programming as a serious hobby, approaching it like an e-sport. I’ve shifted from a daily routine to dedicated, high-quality sessions during weekends, focusing on consistently solving Codeforces problems and participating in official contests. The goal remains to build strong problem-solving fundamentals, but now with the mindset of a mental athlete competing in a technical discipline.
In this blog post, I’ll share how this journey is going, how I structure my practice, and what I’m learning from each step.
Practice Strategy
Rather than jumping randomly between problems, I decided on a simple and sustainable approach:
✅ Solve problems and compete during weekends
✅ Work through problems in order of how many times they were solved
✅ Focus on understanding the logic, not just getting AC
✅ Solve everything in Python
This structure allows me to balance other responsibilities while maintaining the intensity needed to improve in this technical e-sport.
Learning in Parallel: CS50 Python
At the same time, I’m taking Harvard CS50’s Python course, which pairs extremely well with Codeforces practice. Concepts like:

- loops and conditionals
- lists and strings
- input/output handling
- clean code structure
show up constantly in competitive programming problems. Many Codeforces tasks feel like practical exercises reinforcing CS50 lessons, which makes both experiences stronger together.
Completed Challenges So Far
Problem Navigator
1) Watermelon (Link)
Topic: Even numbers and edge cases
A classic beginner problem. The challenge looks trivial at first, but it teaches an important lesson: edge cases matter. The watermelon must be split into two even, positive parts.
2) Way Too Long Words (Link)
Topic: Strings and indexing
This problem introduced basic string manipulation: abbreviating long words by keeping the first and last character and replacing the middle with a number.
3) Team (Link)
Topic: Conditionals and Counting
Given multiple team members’ opinions (0 or 1), the task is to count how many problems the team will actually solve based on majority agreement.
4) Bit++ (Link)
Topic: Simulation and String Parsing
A simple simulation problem where we need to increment or decrement a variable based on the input statement (e.g., "X++", "--X").
5) Next Round (Link)
Topic: Arrays and Filtering
We need to determine how many participants advance to the next round based on a score threshold.
6) Domino piling (Link)
Topic: Math and Geometry
Calculating the maximum number of dominoes that can fit in a rectangular board.
7) Beautiful Matrix (Link)
Topic: Implementation
We are given a 5x5 matrix with a single '1' and need to calculate the minimum number of moves (swaps) to bring it to the center (3,3). The solution involves finding the coordinates of the '1' and calculating the Manhattan distance to the center.
8) Helpful Maths (Link)
Topic: Strings and Sorting
We need to reorder a sum of numbers (1, 2, 3) so they are in non-decreasing order. I solved this using a bubble sort algorithm, thanks to the CS50 algorithms class.
9) Soldier and Bananas (Link)
Topic: Math
A soldier wants to buy bananas where the cost increases for each banana. We need to calculate the total cost using an arithmetic series formula (or a loop) and determine how much money he needs to borrow.
Problem Navigator
Why This Matters (Especially for Cybersecurity)
Even though Codeforces is "competitive programming", the skills translate directly to cybersecurity:
- logical thinking
- breaking problems into steps
- reading specifications carefully
- writing reliable scripts
Combined with Python and security studies, this weekend practice is helping me become more precise, faster at reasoning, and more confident with code.
Going Forward
The plan is simple:
- compete and solve problems every weekend
- improve rating and problem-solving speed
- maintain the e-sport mindset: deliberate practice and error analysis
- enjoy the process as a high-performance hobby
Small steps, every day.
More updates soon 🚀