백준[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