## What will I learn?

This puzzle makes you manipulate strings, substrings and characters, and handle a large number of possible combinations and permutations. You need to use optimized algorithm techniques like dynamic programming and more specifically divide and conquer.

#### External resources

StringsDynamic programmingDivide and conquer## Learning Opportunities

This puzzle can be solved using the following concepts. Practice using these concepts and improve your skills.

## Statement

The goal of this puzzle is calculate the length of the shortest string sequence that contains all the sub-sequences of the input data. You will have to compute the list of all possible permutations and merge strings together. This is also a good exercise for optimization and to discover dynamic programming.

A higher resolution is required to access the IDE

## Story

Guanine, Thymine, Cytosine... You might have heard of those things in biology class, but forgot them on the spot. Don't worry, we all have. The goal of this exercise is to find how to combine chains of nucleotides (sorry, *characters*) in a way in which they take the least possible room.