주어진 데이터 중에서 최소값을 찾고, 찾은 최소값을 맨 앞부터 정렬해가는 방식
정렬을 할 때마다 가장 앞자리를 제외하고 정렬한다.
오름차순 정렬
input = [4, 6, 2, 9, 1]
def selection_sort(array):
for i in range(len(array)-1):
min = i
for j in range(len(array)-i):
if array[i+j] < array[min]:
min = (i+j) # 최소값이 위치한 인덱스
array[i], array[min] = array[min], array[i]
return array
selection_sort(input)
print(input)
print("정답 = [1, 2, 4, 6, 9] / 현재 풀이 값 = ",selection_sort([4, 6, 2, 9, 1]))
print("정답 = [-1, 3, 9, 17] / 현재 풀이 값 = ",selection_sort([3,-1,17,9]))
print("정답 = [-3, 32, 44, 56, 100] / 현재 풀이 값 = ",selection_sort([100,56,-3,32,44]))
[출력]
[1, 2, 4, 6, 9]
정답 = [1, 2, 4, 6, 9] / 현재 풀이 값 = [1, 2, 4, 6, 9]
정답 = [-1, 3, 9, 17] / 현재 풀이 값 = [-1, 3, 9, 17]
정답 = [-3, 32, 44, 56, 100] / 현재 풀이 값 = [-3, 32, 44, 56, 100]