이숭간 공부기록

백준 2750번 파이썬 _ 수 정렬하기 본문

알고리즘/백준

백준 2750번 파이썬 _ 수 정렬하기

이숭간 2021. 2. 11. 16:30
728x90

www.acmicpc.net/problem/2750

 

2750번: 수 정렬하기

첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 숫자가 주어진다. 이 수는 절댓값이 1,000보다 작거나 같은 정수이다. 수는 중복되지 않는다.

www.acmicpc.net

문제유형 : 정렬

문제핵심 : 삽입정렬로 시간복잡도 O(n^2)을 가진다.

 

내코드: (삽입정렬)

n = int(input())
array = list(int(input()) for _ in range(n))

for i in range(1, n): # 1,2,3,4
    for j in range(i, 0, -1): # 1,2,3,4/2,3,4
        if array[j] < array[j - 1]:
            array[j - 1], array[j] = array[j], array[j - 1]
        else:
            break

for i in array:
    print(i)

근데그냥 라이브러리로 sort쓰면 됨 ( 병합정렬과 힙정렬 꼴라보 되있는거라서 젤 빠름)