[백준 2750 파이썬] - 수 정렬하기

zsunny·2022년 7월 7일
0

📌 문제

💯 정답

• 방법 1. 버블 정렬 (시간 복잡도 O(n2))

n = int(input())
nums = []
for _ in range(n):
    nums.append(int(input()))

# 버블정렬
for i in range(len(nums)):
    for j in range(len(nums)-i-1):
        if nums[j] > nums[j+1]:
            nums[j], nums[j+1] = nums[j+1], nums[j]

for k in nums:
    print(k)

• 방법 2. 삽입 정렬 (시간 복잡도 O(n2))

n = int(input())
nums = []
for _ in range(n):
    nums.append(int(input()))

# 삽입정렬 _ 최솟값 찾아 자리 바꿈
for i in range(1, len(nums)):
    for j in range(i, 0, -1):
        if nums[j] < nums[j-1]:
            nums[j], nums[j-1] = nums[j-1], nums[j]

for k in nums:
    print(k)

📝 설명

• 버블 정렬은 현재 값과 다음 인텍스의 값을 비교해 다음 인덱스 값이 현재 값보다 작으면 두 값을 서로 교환한다.
• 삽입 정렬은 이전 인덱스의 값과 현재 인덱스 값을 비교해 작은 값을 앞으로 옮긴다.

⭐️ 알고가기 _ 버블 / 삽입 정렬

👉 버블 / 삽입 정렬 설명 바로가기

profile
매일 성장하는 예비 웹 개발자 🌱

0개의 댓글