버블 정렬 / 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의 자료형의 이해도가 높았다면 쉽게 풀었을 거 같은데 생각보다 오래 걸렸다.
내일도 알고리즘 문제를 풀며 자료형공부를 좀 더 이해하는 공부를 해야겠다.