• 방법 1. 버블 정렬 (시간 복잡도 O(n2))
n = int(input())
nums = []
for _ in range(n):
nums.append(int(input()))
# 버블정렬
for i in range(len(nums)):
for j in range(len(nums)-i-1):
if nums[j] > nums[j+1]:
nums[j], nums[j+1] = nums[j+1], nums[j]
for k in nums:
print(k)
• 방법 2. 삽입 정렬 (시간 복잡도 O(n2))
n = int(input())
nums = []
for _ in range(n):
nums.append(int(input()))
# 삽입정렬 _ 최솟값 찾아 자리 바꿈
for i in range(1, len(nums)):
for j in range(i, 0, -1):
if nums[j] < nums[j-1]:
nums[j], nums[j-1] = nums[j-1], nums[j]
for k in nums:
print(k)
• 버블 정렬은 현재 값과 다음 인텍스의 값을 비교해 다음 인덱스 값이 현재 값보다 작으면 두 값을 서로 교환한다.
• 삽입 정렬은 이전 인덱스의 값과 현재 인덱스 값을 비교해 작은 값을 앞으로 옮긴다.