CS/알고리즘

백준 2750번 수 정렬하기 파이썬 풀이(삽입정렬 , 버블정렬)

happy_life 2022. 2. 25. 10:57

문제

N개의 수가 주어졌을 때, 이를 오름차순으로 정렬하는 프로그램을 작성하시오.

 


1.삽입정렬 풀이

 

#수 정렬하기
#시간복잡도 O(n**2)인 버블정렬,삽입정렬 등으로 풀어보자


N = int(input())
numbers = []
for i in range(N):
    numbers.append(int(input()))


def insert_sort(x):
    for i in range(1,len(x)):
        j = i-1
        key = x[i]
        while x[j] > key and j >= 0:
            x[j+1]=x[j]
            j = j-1
            x[j+1] = key
    return x
numbers = insert_sort(numbers)
for i in numbers:
    print(i)

 

 

2. 버블 정렬 풀이

#수 정렬하기
#시간복잡도 O(n**2)인 버블정렬,삽입정렬 등으로 풀어보자


N = int(input())
numbers = []
for i in range(N):
    numbers.append(int(input()))


def bubble_sort(x):
    length = len(x)-1
    for i in range(length):
        for j in range(length-i):
            if x[j] > x[j+1]:
                x[j], x[j+1] = x[j+1], x[j]
    return x
    
numbers = bubble_sort(numbers)
for i in numbers:
    print(i)