# 문제 1. 버블 정렬 직접 따라 써보기

# 다음 코드가 어떻게 작동하는지 손으로 써보세요.

# nums = [4, 2, 5, 1]


# 위 리스트를 bubble_sort(nums)에 넣었을 때,

# **각 i번째(바깥 for문)**가 돌 때마다

# 리스트의 상태를 한 줄씩 적어보세요.


# 문제 2. 다른 리스트도 해보기

# 직접 다양한 리스트를 넣어서 결과를 비교해 보세요.

# print(bubble_sort([3, 1, 2]))
# print(bubble_sort([10, 5, 8, 2]))
# print(bubble_sort([1, 2, 3, 4]))


# 결과를 적고, 이미 정렬된 리스트일 때 몇 번 반복되는지도 확인해 보세요.

# 💭 질문: 이미 정렬된 리스트는 빠르게 끝날까?



# 문제 3. 내림차순 정렬 만들기

# 지금은 오름차순 정렬이죠 (작은 수 → 큰 수).
# 아래 코드 중 딱 한 줄만 수정해서 내림차순(큰 수 → 작은 수) 으로 바꿔보세요.

# def bubble_sort(nums):
#     length = len(nums) - 1
#     for i in range(length):
#         for j in range(length - i):
#             if nums[j] > nums[j + 1]:
#                 nums[j], nums[j + 1] = nums[j + 1], nums[j]
#     return nums


# 문제 4. 리스트 안의 문자열 정렬

# 숫자가 아니라 문자열도 비교할 수 있을까요?
# 아래 코드를 실행하고, 어떤 기준으로 정렬되는지 설명해 보세요.

# names = ["banana", "apple", "cherry", "grape"]
# print(bubble_sort(names))

# 문제 5. 정렬 시각화 해보기 (심화)

# 정렬 과정을 한 줄씩 출력해서 눈으로 순서 변화를 보세요.

# def bubble_sort(nums):
#     length = len(nums) - 1
#     for i in range(length):
#         for j in range(length - i):
#             if nums[j] > nums[j + 1]:
#                 nums[j], nums[j + 1] = nums[j + 1], nums[j]
#         print(f"{i+1}회전 후: {nums}")
#     return nums

# bubble_sort([5, 3, 1, 4, 2])


Embed on website

To embed this project on your website, copy the following code and paste it into your website's HTML: