검색을 해보니
이게 가장 설명이 잘 되어 있다.
https://makefortune2.tistory.com/98
그리고 다른 웹사이트는 대부분 같은 예제를 쓴다...;

요약: Tail Recursion
return 할 때 바로 recursion할 함수 이외에 계산 할 걸 두지 않는다. 그래서 stack overflow가 생기지 않는다.

p.s.
사실...
개미수열을 좀 더 효율적으로 풀 수 있는 방법이 없을까 해서 찾아봄...
재귀함수 써서 쓰는게 몇 개 있는데 설명이 제대로 안나와 있다.
일반적인 해법은 여기가 잘 나와있다.
https://www.rosettacode.org/wiki/Look-and-say_sequence

예)

# Python 3 Solution
def lookandsay(number):
    result = ""

    repeat = number[0]
    number = number[1:]+" "
    times = 1

    for actual in number:
        if actual != repeat:
            result += str(times)+repeat
            times = 1
            repeat = actual
        else:
            times += 1

    return result

num = "1"

for i in range(10):
    print num
    num = lookandsay(num)