728x90
반응형
# 오늘의 문제
선택 정렬 연습
# 나의 코드
선택 정렬 연습
선택정렬 : 기준이 되는 데이터 값을 토대로 유한체의 값을 뽑아 비교해가며 가장 작은 값을 찾아 첫번째 에 넣고, 그 다음 값을 가져와 유한체의 값을 뽑아 비교해 두번째에 넣고 끝날때 까지 그 작업을 n번 지속해 정렬을 하는 방법
array = [ 7, 5, 9, 0, 3, 1, 6, 2, 4, 8 ]
for i in range(len(array)):
min_index = i
#range 파라미터 2개 들어가는 걸 모른다.
for j in range( i+ 1 , len(array) ):
if array[min_index] > array[j]:
min_index = j
array[i], array[min_index] = array[min_index], array[i] #swipe
print(array)
# 어레이가 하나 있다.
# 루프동안 어레이를 인덱스 순서대로 꺼낸다.
# 그중 하나를 최소 인덱스라고 저장해놓는다.
# 루프 내에서 다시 루프를 돌리는데 i+1 부터 len(array) 까지를 범위로 한다.
# 그렇게 하는 이유 : 상위루프값을 다시 꺼내는 오류를 만들지 않기 위해
# 만약 두번째 루프를 돌 동안 최소인덱스의 값이 루프내의 타겟 값인 j인덱스보다 크다면
# 최소인덱스를 j로 바꾼다.
# 두번째 루프에서 바뀌는 값은 항상 있을테니 루프를 돌고 i번째 인덱스값에
#최소 인덱스 값을 넣는다.
728x90
'프로그래밍 회고록 > Python' 카테고리의 다른 글
2021.12.08 코테_퀵 정렬 연습 (0) | 2021.12.08 |
---|---|
2021.11.25 코테_삽입 정렬 연습 (0) | 2021.11.25 |
2021.11.14 코테_음료수 얼려 먹기 (0) | 2021.11.14 |
2021.11.13 코테_BFS 예시코드 (0) | 2021.11.13 |
2021.11.13 코테_DFS 예시코드 (0) | 2021.11.13 |