Solve a given problem using data structures and algorithms (typically ranging from easy to medium complexity).