정렬된 데이터 범위에 정렬되지 않은 데이터를 적절한 위치에 삽입시켜 정렬

(O(n^2)) - bad

from sys import stdin
N = int(stdin.readline())
Nlist = list(map(int, stdin.readline().split()))

for i in range(1,N):# 0은 이미 정렬된 부분으로 봄 / 두 번째 인덱스부터 시작
    key = Nlist[i] 
    # 정렬된 부분 탐색하며 키값보다 작은 애가 나오면 그 뒤에 키값 저장해야함
    # 정렬된 부분은 0 - i+1 
    for j in range(i-1,-1,-1):
        # 키값보다 값이 커서 뒤로 밀려야 함 / i번째 값은 key에 저장했으므로 뒤에 한칸이 남아서 밀어도 데이터 손상 없음
        if Nlist[j]>key:
            Nlist[j+1] = Nlist[j]
            if j == 0:
                Nlist[j] = key
        # 맞는 자리 찾음 키값 저장
        else:
            Nlist[j+1] = key
            break