백준 알고리즘 수업 6

[파이썬] 백준 24052 알고리즘 수업 삽입 정렬 2

이번 글에서는 삽입 정렬(Insertion Sort) 알고리즘을 학습하고,이를 활용하여 백준 24052번 문제를 Python으로 해결해본다. 🚀 1. 삽입 정렬 (Insertion Sort) 란? 삽입 정렬은 배열을 앞에서부터 차례대로 정렬된 부분과 비교하며 자신의 위치를 찾아 삽입하는 정렬 알고리즘이다. 🔹 정렬 과정:배열의 두 번째 요소부터 시작하여 왼쪽의 정렬된 부분과 비교적절한 위치를 찾아 삽입모든 요소가 정렬될 때까지 반복 🔹 시간 복잡도:최선 (O(n)): 이미 정렬된 배열일 경우최악 (O(n²)): 역순 정렬된 배열일 경우2. 백준 24052번 문제 설명 🔗 문제 링크: 백준 24052번 - 알고리즘 수업: 삽입 정렬 2📌 문제 요구사항N: 배열 A의 크기 (5 ≤ N ≤ 10,00..

[파이썬] 백준 24051 알고리즘 수업 삽입 정렬 1

이번 글에서는 삽입 정렬(Insertion Sort) 알고리즘을 배우고,이를 활용하여 백준 24051번 문제를 Python으로 해결해본다. 🚀 1. 삽입 정렬(Insertion Sort) 이란? 삽입 정렬은 배열의 모든 요소를 앞에서부터 차례대로 이미 정렬된 부분과 비교하여 자신의 위치를 찾아 삽입하는 정렬 알고리즘이다. 🔹 삽입 정렬의 특징 • 선택 정렬(Selection Sort), **버블 정렬(Bubble Sort)**보다 빠르고 안정적인 정렬 알고리즘 • 최선의 경우 O(n), 최악의 경우 O(n²) • 데이터가 거의 정렬되어 있을 경우 매우 효율적 🔹 삽입 정렬 과정예제 배열: [4, 5, 1, 3, 2] 1️⃣ 1을 정렬된 부분과 비교하여 삽입[4, 5, 1, 3, 2] → 1을 0..

[파이썬] 백준 23969 알고리즘 수업 버블 정렬 2

이번 글에서는 버블 정렬(Bubble Sort) 알고리즘을 학습하고,이를 활용하여 백준 23969번 문제를 Python으로 해결하는 방법을 살펴본다. 🚀 1. 버블 정렬(Bubble Sort) 이란? 버블 정렬은 서로 인접한 두 개의 값을 비교하여 정렬하는 알고리즘이다.큰 값이 오른쪽으로 이동하며 거품(Bubble)처럼 밀려나는 과정에서 이름이 유래되었다. 🔹 버블 정렬의 특징시간 복잡도: 최선 O(n), 평균·최악 O(n²)장점: 구현이 단순단점: 효율이 낮아 큰 데이터 정렬에는 적합하지 않음🔹 버블 정렬 과정예제 배열: [7, 2, 0, 1, 5, 6, 4] 1️⃣ 첫 번째 패스 (가장 큰 값이 끝으로 이동)[7, 2, 0, 1, 5, 6, 4] → 7과 2 비교 → swap[2, 7, 0,..

[파이썬] 백준 23968 알고리즘 수업 버블 정렬 1

이번 글에서는 버블 정렬(Bubble Sort) 알고리즘을 학습하고,이를 활용하여 백준 23968번 문제를 Python으로 해결하는 방법을 살펴본다. 🚀 1. 버블 정렬(Bubble Sort)이란? 📌 개념 버블 정렬은 서로 인접한 두 개의 값을 비교하여 정렬하는 방식이다.정렬이 완료될 때까지 이 과정을 반복하여 배열을 정렬한다. 🔹 버블 정렬의 특징시간 복잡도: 최선 O(n), 평균·최악 O(n²)장점: 코드가 단순하여 구현이 쉬움단점: 성능이 낮아 큰 데이터 정렬에는 부적합🔹 정렬 방식오름차순 정렬: a > b → swap(교환)내림차순 정렬: a 2. 버블 정렬 예제 (오름차순 정렬) 다음과 같은 리스트가 있다고 가정해본다.A = [4, 6, 5, 1, 3, 2] 이 리스트를 버블 정렬하면 ..

[파이썬] 백준 23899 알고리즘 수업 선택 정렬 5

✅ 백준 문제 링크: 백준 23899번 - 선택 정렬 51. 선택 정렬(Selection Sort) 알고리즘 선택 정렬은 리스트에서 최대값을 찾아 맨 뒤로 보내는 방식으로 정렬하는 알고리즘이다. ✔ 선택 정렬 과정주어진 리스트에서 최대값을 찾는다.해당 값을 맨 뒤에 위치한 값과 교환(swap)한다.위 과정을 반복하여 리스트를 정렬한다.다음은 예제 배열 [3, 1, 2, 5, 4]을 선택 정렬로 정렬하는 과정이다.[3, 1, 2, 5, 4] → 최대값 5, 4번 인덱스와 swap [3, 1, 2, 4, 5] → 최대값 4, 3번 인덱스에 있으므로 pass [3, 1, 2, 4, 5] → 최대값 3, 2번 인덱스와 swap [2, 1, 3, 4, 5] → 최대값 2, 1번 인덱스와 swap [1, 2..

[파이썬] 백준 23881 알고리즘 수업 선택 정렬1

이번 글에서는 선택 정렬(Selection Sort) 알고리즘을 학습하고,이를 활용하여 백준 23881번 문제를 Python으로 해결해 본다. 🚀 1. 선택 정렬(Selection Sort)이란? 📌 개념 선택 정렬은 배열에서 최소값(또는 최대값)을 찾아 정렬하는 방식이다.정렬이 완료될 때까지 이 과정을 반복하여 배열을 정렬한다. 🔹 선택 정렬의 특징 • 시간 복잡도: O(n²) • 장점: 코드가 단순하여 구현이 쉬움 • 단점: 성능이 낮아 큰 데이터 정렬에는 부적합 🔹 정렬 방식 • 오름차순 정렬: 최소값을 찾아 맨 앞과 교환 • 내림차순 정렬: 최대값을 찾아 맨 뒤와 교환 2. 선택 정렬 예제 (오름차순 정렬) 다음과 같은 리스트가 있다고 보자.A = [3, 1, 2, 5, 4] 이 리스트를 ..