I decided to learn Scala. I looked for some good exercises for Scala programmers and found S-99: Ninety-Nine Scala Problems, and since writing about things helps me learning them I am going to write a post for each problem I manage to solve.
The official site provides solutions for the problems, so my solutions will obviously be influenced by those, when not the same.
CAVEAT: I am a beginner so what I state in the following posts may be inaccurate and sometimes wrong. Please submit an issue on the blog GitHub issues page.
This is the index of the problems I already discussed. I kept the original title and difficulty ranking (asterisks)
- P01 (*) Find the last element of a list.
- P02 (*) Find the last but one element of a list.
- P03 (*) Find the Kth element of a list.
- P04 (*) Find the number of elements of a list.
- P05 (*) Reverse a list.
- P06 (*) Find out whether a list is a palindrome.
- P07 (**) Flatten a nested list structure.
- P08 (**) Eliminate consecutive duplicates of list elements.
- P09 (**) Pack consecutive duplicates of list elements into sublists.
- P10 (*) Run-length encoding of a list.
- P11 (*) Modified run-length encoding.
- P12 (**) Decode a run-length encoded list.
- P13 (**) Run-length encoding of a list (direct solution).
- P14 (*) Duplicate the elements of a list.
- P15 (**) Duplicate the elements of a list a given number of times.
- P16 (**) Drop every Nth element from a list.
- P17 (*) Split a list into two parts.
- P18 (**) Extract a slice from a list.
- P19 (**) Rotate a list N places to the left.
- P20 (*) Remove the Kth element from a list.
99 Scala Problems 05 - Reverse a list