@@ -0,0 +1,1511 @@
+import org.junit.Test;%0A%0Aimport static org.assertj.core.api.Assertions.assertThat;%0A%0Apublic class LookAndSayTest %7B%0A%0A    /*%0A    Look-and-say sequence :)%0A%0A    - Starting with the number 1,   you have one 1 which produces 11%0A    - Starting with 11,   you have two 1's.   I.E.:   21%0A    - Starting with 21,   you have one 2, then one 1.   I.E.:   (12)(11) which becomes 1211%0A    - Starting with 1211,   you have one 1, one 2, then two 1's.   I.E.:   (11)(12)(21) which becomes 111221%0A%0A    Given input:%0A    11%0A    2  -%3E n  times%0A%0A    Expected: 1211%0A     */%0A    @Test%0A    public void  lookAndSay_Test() %7B%0A        String start = %2211%22;%0A        int n = 2;%0A%0A        String result = LookAndSay(start, n);%0A%0A        assertThat(result).isEqualTo(%221211%22);%0A    %7D%0A%0A    private static String LookAndSay(String input, int n) %7B%0A%0A        while(n-- %3E 0)%7B%0A            input = LookAndSay(input);%0A        %7D%0A%0A        return input;%0A    %7D%0A%0A    private static String LookAndSay(String input) %7B%0A%0A        char previousChar= input.charAt(0);%0A        int counter =1;%0A        StringBuilder result= new StringBuilder();%0A%0A        for (int i = 1; i %3C input.length(); i++) %7B%0A%0A            char c = input.charAt(i);%0A            if(c == previousChar)%7B%0A                counter++;%0A            %7Delse%7B%0A                result.append(counter);%0A                result.append(previousChar);%0A                previousChar = c;%0A            %7D%0A        %7D%0A%0A        result.append(counter);%0A        result.append(previousChar);%0A%0A        return result.toString();%0A    %7D%0A%7D%0A

Add lookAndSay sequence :)