본문 바로가기
카테고리 없음

[TIL]24.03.07 내일배움캠프 + 버블 정렬(bubble sort)

by Byeong 2024. 3. 7.

 

버블 정렬 / bubble sort

-가장 단순한 방법의 정렬

-맨 앞에 있는 숫자부터 순차적으로 비교하여 정렬한다.

 

[8,2,7,5,6]

 

이런 식으로 배열이 있다면 index [0]과 index [1]을 비교한다.

순차적으로 비교하여 큰 숫자는 뒤로 보내는 방식의 정렬이다.

 

마지막에는 가장 큰 수인 8이  배열의 마지막으로 가고 순차적으로 정렬된다.

 

이 버블 정렬을 구현하는 이중 for문을 만들었다.

 

def solution(n):
    for i in range(len(n)):
        for j in range(i+1,len(n)):
            if n[i] > n[j]:
                n[i],n[j] = n[j],n[i]
    return n

a = solution([7, 5, 2, 6, 1, 8, 9, 4])
print(a)

 

처음에는 배열의 순서를 변경하는 방법을 몰라 고생을 많이 했다. 

 

	n[0+1]

 

이런식으로 작성했는데 될 리가 있나ㅠㅠ

 

n[i],n[j] = n[j],n[i]

이 코드로 인해 n[i]와 n [j]의 위를 변경이 가능했다. 

 

 

마무리 

오늘 푼 문제는 python의 자료형의 이해도가 높았다면 쉽게 풀었을 거 같은데 생각보다 오래 걸렸다.

내일도 알고리즘 문제를 풀며 자료형공부를 좀 더 이해하는 공부를 해야겠다.