- Executors
-
Learn
Learn Python Runnable examples, NumPy, pandas, and more Learn AINeural networks, ML and LLMs from scratch Learn C & C++ Pointers, memory, STL, and modern C++ Learn C#C# basics, OOP, LINQ, async, and .NET exercises Learn MatplotlibLine, bar, scatter and pie charts with live visualizers Python Algorithms Search, sorting, recursion, and visualizers O(n) C & C++ Algorithms Compare algorithms implemented in C and C++ Coding for Kids Learn to code by playing!
- ChallengesNew
- For TeachersNew
- Updates
- Buy me a coffee
JavaScript coding challenges
225 challenges you can solve in JavaScript, from first loops to graphs, dynamic programming and machine learning. Write your code in the browser, run the tests instantly and get an AI review.
Easy · 134 Medium · 67 Hard · 24
Skills you'll practise: CountingDigit extractionString splitting2D listsArithmeticFormulasListsLoopsConditionsDivisibilityFloating pointGradient descent
- Python · C++ · C#
- Automated tests
- AI code review
- Community solutions
- 226
- Challenges
- 123
- Solutions shared
- 9
- Languages
All challenges
Search by topic, language, or difficulty.
Easy
Logistic Regression Prediction
Classify samples as 0 or 1 by passing a weighted sum through the sigmoid and comparing it to a threshold.
You'll learn
Logistic regressionThresholds
No solutions yet
Medium
Byte Pair Encoding (BPE) Merges
Learn subword merges the way GPT tokenizers do: repeatedly merge the most frequent pair of adjacent symbols.
You'll learn
BPESubword tokenization
No solutions yet
Medium
Parallel Task Completion Order
Run tasks concurrently with at most k at a time and report the order in which they finish.
You'll learn
ConcurrencyPriority queues
No solutions yet
Easy
One-Hot Encoding
Turn categories into vectors with a single 1, the input format for classifiers and embeddings.
You'll learn
One-hot vectorsCategorical data
No solutions yet
Easy
Join Customers and Orders
Join customers with their orders like a LINQ Join and report each customer's total spend.
You'll learn
LINQ JoinGrouping
No solutions yet
Easy
Linked List Operations
Simulate a linked list: add at either end, remove from the front or by value, and reverse it.
You'll learn
Linked listsSimulation
No solutions yet
Easy
Event Subscribers
Deliver events to the subscribers of each topic, observer style, and count what everyone receives.
You'll learn
Observer patternDictionaries
No solutions yet
Easy
Price Decorators
Wrap a base price in discount, tax, shipping and coupon decorators applied in order.
You'll learn
Decorator patternPercentages
No solutions yet
Easy
Sort by a Chosen Key
Sort people by name or by age with a comparer chosen at run time, breaking ties consistently.
You'll learn
ComparersSorting
No solutions yet
Medium
Min Stack
Build a stack that reports its smallest element instantly after any push or pop.
You'll learn
StacksRunning minimum
No solutions yet
Easy
Notification Costs
Send messages through email, SMS and push channels that each compute their own cost.
You'll learn
PolymorphismInteger division
No solutions yet
Easy
Checkout Facade
Hide stock checks and price totals behind one simple checkout call.
You'll learn
Facade patternValidation
No solutions yet
Easy
One Shared Configuration
Simulate a singleton settings object: every part of the program reads and writes the same instance.
You'll learn
SingletonShared state
No solutions yet
Easy
WhenAll Total Time
Find how long a program takes when each group of tasks runs together with Task.WhenAll and groups run one after another.
You'll learn
Async/awaitTask.WhenAll
No solutions yet
Easy
Format an Invoice
Print invoice lines and a total with amounts stored in cents, formatted as dollars and cents.
You'll learn
Money in centsString formatting
No solutions yet
Easy
Unique Records
Remove duplicate records that are equal by value, keeping the first of each in order.
You'll learn
RecordsValue equality
No solutions yet
Easy
Bank Account Rules
Protect an account's balance behind deposit and withdraw rules, rejecting invalid operations.
You'll learn
EncapsulationBusiness rules
No solutions yet
Easy
Split a List Into Chunks
Cut a list into consecutive groups of a fixed size, with a shorter last group if needed.
You'll learn
SlicingBatching
No solutions yet
Browse by topic
- Beginner 95
- Ai 47
- Machine Learning 42
- Strings 36
- Arrays 31
- Math 21
- Simulation 19
- Neural Networks 17
- Numbers 16
- Advanced 15
- Dynamic Programming 12
- Parsing 12
- Competitive Programming 10
- Conditions 9
- Design Patterns 8
- Graphs 8
- Grids 8
- Loops 8
- Recursion 7
- Combinatorics 6
- Number Theory 6
- Sorting 6
- Functions 5
- Greedy 5
- Nested Loops 5
- Sequences 5
- Stacks 5
- Variables 5
- Algorithms 4
- Data Structures 4
- Geometry 4
- Patterns 4
- Dictionaries 3
- Fractions 3
- Reinforcement Learning 3
- Sliding Window 3
- Trees 3