def insertion_sort(li):
    """ Python implementation of insertion sort
    args:
        li = 정렬되지 않은 int의 리스트
    returns:
        li를 오른차순으로 정렬한 int의 리스트
    """
    list_length = len(li)

    for i in range(1, list_length):
        current_element = li[i]  # 삽입해야하는 element
        correct_index = i  # current_element의 올바른 index

        # li[correct_index - 1] 는 current_element 보다 뒤에 있어야 한다.
        while current_element < li[correct_index - 1] and correct_index > 0:
            li[correct_index] = li[correct_index - 1]
            correct_index = correct_index - 1

        li[correct_index] = current_element

    return li