Strings coding challenges

Practise strings with 36 coding challenges, from easy to hard. Every challenge runs in your browser with instant tests, an AI review of your code and community solutions to compare.

Easy · 30 Medium · 3 Hard · 3

Skills you'll practise: String splittingCountingCharacter checksRecordsValidationBase casesBoolean flagsBuilder patternCapitalizationCase normalizationCharacter mappingCharacter replacement
  • Python · C++ · C#
  • Automated tests
  • AI code review
  • Community solutions
226
Challenges
2
Solutions shared
3
Languages

All challenges

Search by topic, language, or difficulty.

36 challenges
Easy

Initials From a Name

Build uppercase initials from a full name.

You'll learn String splittingUppercase
BeginnerLearning-pathStrings
No solutions yet
Easy

Count Uppercase Letters

Count the capital letters in a text.

You'll learn Character checksCounting
BeginnerLearning-pathStrings
No solutions yet
Easy

Replace Spaces With Dashes

Turn spaces into dashes to make a URL-style slug.

You'll learn String buildingCharacter replacement
BeginnerLearning-pathStrings
No solutions yet
Easy

Count Vowels

Count the vowels in a piece of text.

You'll learn Character checksSet membership
BeginnerStringsStudent-beginner
No solutions yet
Easy

Hamming Distance

Compare two DNA strings position by position and count the differences.

You'll learn String comparisonCounting
SequencesStrings
No solutions yet
Easy

Longest Word

Find the longest word in a sentence.

You'll learn String splittingTracking a maximum
BeginnerStringsStudent-beginner
No solutions yet
Easy

Count Words

Count the words in a sentence.

You'll learn String splittingWhitespace
BeginnerStringsStudent-beginner
No solutions yet
Easy

First Invalid Age

Validate typed ages and report where the first bad entry is instead of letting the program crash.

You'll learn ValidationParsing
BeginnerParsingStrings
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
Design patternsSimulationStrings
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
SimulationStrings
No solutions yet
Easy

Count Log Levels

Read the lines of a log file and count how many are INFO, WARNING and ERROR.

You'll learn Reading linesString splitting
BeginnerParsingStrings
No solutions yet
Medium

SQL Query Builder

Assemble a SQL query from parts given in any order, the way a builder object collects settings step by step.

You'll learn Builder patternString assembly
Design patternsParsingStrings
No solutions yet
Easy

Build a JSON Object

Turn keys and values into a JSON object string, escaping quotes and backslashes correctly.

You'll learn JSON formatEscaping
ParsingStrings
No solutions yet
Easy

Sum the Valid Numbers

Add up the entries that are whole numbers and skip everything else, the way try/except handles bad input.

You'll learn Try/exceptInput validation
BeginnerParsingStrings
No solutions yet
Easy

Sum a Flat JSON Object

Parse a flat JSON object whose values are integers and add up the values.

You'll learn JSON parsingString splitting
ParsingStrings
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
BeginnerStrings
No solutions yet
Easy

To-Do List

Keep a list of tasks: add them, mark them done, remove them and report what is still pending.

You'll learn Typed collectionsRecords
BeginnerSimulationStrings
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
BeginnerStrings
No solutions yet