본문 바로가기

알고리즘 문제 풀이/Baekjoon

시간 복잡도 느린 정렬 모음 - python

반응형
SMALL
N = int(input())
arr = [int(input()) for _ in range(N)]

# bubble
for i in range(N):
    for j in range(i + 1, N):
        if (arr[i] > arr[j]):
            arr[i], arr[j] = arr[j], arr[i]

# selection
for i in range(N - 1, -1, -1):
    idx = i
    for j in range(i):
        if (arr[idx] < arr[j]):
            idx = j
    arr[idx], arr[i] = arr[i], arr[idx]
        
# insertion
for i in range(1, N):
    if (arr[i - 1] > arr[i]):
        idx = i
        while (idx >= 1 and arr[idx - 1] > arr[idx]):
            arr[idx], arr[idx - 1] = arr[idx - 1], arr[idx]
            idx -= 1

for i in range(N):
    print(arr[i])

와 진짜 알고리즘 1년만에 짜보는거 같은데

 

기본적인 정렬 짜는 것도 좀 오래 걸림 ;

 

버블 정렬, 선택 정렬, 삽입 정렬도 이 정도인디,,,

 

퀵, 힙, 병합은 더 오래 걸릴거 같은데 ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ

반응형
LIST

'알고리즘 문제 풀이 > Baekjoon' 카테고리의 다른 글

10808 - 알파벳 갯수  (0) 2023.12.18
2641 - 다각형 그리기  (1) 2023.12.18
2243 - 사탕상자  (0) 2021.10.31
17404 - RGB 거리 2  (2) 2021.10.25
5676 - 음주 코딩  (0) 2021.10.16