과제 10: 버블 정렬 구현하기 (Python)
반복문(for)을 이용하여 버블 정렬(Bubble Sort)을 수행하는 프로그램을 만들어봅시다.
버블 정렬은 서로 인접한 두 원소를 검사하여 정렬 기준에 맞지 않으면 자리를 교환하는 알고리즘입니다. 반복할 때마다 가장 큰 값이 리스트의 맨 끝으로 이동하는 과정이 거품이 떠오르는 모양과 같다고 하여 버블 정렬이라고 부릅니다.
현재 프로그램은 5개의 정수가 들어있는 리스트를 오름차순으로 정렬하도록 작성되어 있습니다.
다음 조건을 만족하는 프로그램을 만드세요.
- 리스트
numbers에는[7, 3, 5, 1, 4]가 저장되어 있습니다. - 바깥쪽
for문은 리스트의 길이보다 1 작은 횟수만큼 반복하여 전체 정렬 회차(i)를 제어합니다. - 안쪽
for문은 인접한 요소를 비교하기 위해 반복하며, 이미 정렬이 끝난 뒷부분은 비교하지 않도록 반복 범위를 설정하세요. - 만약 현재 요소(
numbers[j])가 바로 다음 요소보다 크다면, 두 요소의 자리를 서로 바꾸세요(Swap). - 정렬이 완료된 리스트를 출력하세요.
- 반드시
for문을 사용하세요.
아래 코드를 이용해서 프로그램을 작성하세요.
[가], [나], [다]에 들어갈 코드를 작성하면 됩니다.
numbers = [7, 3, 5, 1, 4]
for i in range(len(numbers) - 1):
for j in range([가]):
if [나]:
temp = numbers[j]
numbers[j] = numbers[j+1]
[다] = temp
print(numbers)
실행결과 (예시 1)
[1, 3, 4, 5, 7]