백준[baekjoon]/Python

백준(baekjoon) [Python] - 2750번: 수 정렬하기

_KTH_ 2023. 3. 6. 17:53
728x90

https://www.acmicpc.net/problem/2750

 

2750번: 수 정렬하기

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

www.acmicpc.net


## 수 정렬하기
import sys
input = sys.stdin.readline

n = int(input())

arr = []
for _ in range(n):
    arr.append(int(input()))

## 내장함수 sort 이용
"""arr.sort()"""

## 버블정렬
"""for i in range(len(arr) - 1):
    for j in range(len(arr) - 1 - i):
        if (arr[j] > arr[j + 1]):
            arr[j], arr[j + 1] = arr[j + 1], arr[j]"""

## 삽입정렬
"""for end in range(1, len(arr)):
    i = end
    while (i > 0) and (arr[i - 1] > arr[i]):
        arr[i - 1], arr[i] = arr[i], arr[i - 1]
        i -= 1"""

## 선택정렬
for i in range(len(arr) - 1):
    min_idx = i
    for j in range(i + 1, len(arr)):
        if arr[min_idx] > arr[j]:
            min_idx = j
    arr[i], arr[min_idx] = arr[min_idx], arr[i]

print(*arr, sep = '\n')

MEMO

-- 쉽게 구현가능한 정렬 알고리즘들을 통해서 해결

 

!! 다양한 정렬 공부하기 !!

728x90
728x90