본문 바로가기

프로그래밍 회고록/Python

2021.11.25 코테_삽입 정렬 연습

728x90
반응형

# 오늘의 문제

삽입 정렬 연습

 # 나의 코드

삽입 정렬 연습

삽입정렬 : 배열의 모든 요소를 앞에서부터 정렬된 배열 부분과 비교한 후 자신이 들어가야할 정렬 위치를 찾아 삽입함으로 정렬이 되도록 하는 알고리즘을 말한다.

array = [7,5,9,0,3,1,6,2,4,8]

for i in range(1, len(array)):
  for j in range( i , 0 , -1):
    if array[j] < array[j-1]:
      array[j-1],array[j] = array[j],array[j-1]

print(array)

# 첫번째 배열은 정렬되어 있다고 가정하고 for 문을 돈다.
# 두번째 루프에서는 i번 ~ 0 번 까지 -1씩 (큰수에서 작은수로) 돈다.
# 배열의 j번째보다 배열의 j-1번째가 크다면 서로의 위치를 바꾸며 2번째 포문을 쭉 돌아
# 한번의 삽입을 완료한다
# **두번째 루프문이 완료되고 i가 커질때마다 한번의 삽입이 완료되는 셈.**
728x90