알고리즘

이번 포스팅은 저번 포스팅의 버블 정렬에 이어 퀵 정렬에 대해 정리한 내용입니다. 퀵 정렬(Quick Sort)은 가장 널리 사용되는 정렬 알고리즘 중 하나이며, 이번 포스팅에서 퀵 정렬의 개념과 구동 방식, 그리고 파이썬으로 하는 구현 예제를 통해 퀵 정렬을 알아보겠습니다. | 퀵 정렬(Quick Sort) 이해 - 퀵 정렬은 분할 정복(Divide and Conquer) 알고리즘의 대표적인 예로 다음과 같은 단계로 나눌 수 있습니다. 1. 분할(Divide) : 리스트에서 하나의 요소를 선택, 이를 "피벗(Pivot)"이라 함 피벗을 기준으로 작은 값은 왼쪽, 큰 값은 오른쪽으로 옮김 2. 정복(Conquer) : 피벗을 기준으로 분할된 두 리스트에 대해 재귀적으로 정렬 함수 호출 각 부분 리스트에 ..
이번 포스팅은 버블 정렬에 대해 정리한 내용입니다. 자료구조와 알고리즘을 공부하게 되면서 초반에 배우게 되는 간단한 알고리즘인 버블정렬은 인접한 두 원소를 비교하고 필요한 경우에 위치를 교환하며 정렬을 수행하는 것입니다. 버블 정렬의 동작원리와 개념에 대해 자세히 알아보겠습니다. | 버블 정렬의 개념 - 버블 정렬은 이름 그대로 배열의 요소들을 반복적으로 비교하면서 큰 값이 "거품"처럼 위로 올라가며 배열을 정리하는 방식입니다. 이 과정은 배열의 길이만큼 반복되며, 한 번의 반복마다 가장 큰 값이 맨 오른쪽으로 이동합니다. | 버블 정렬의 동작 원리 - 버블 정렬의 동작 원리를 간단히 설명하면 다음과 같습니다 : 1. 리스트를 순회하면서 인접한 두 개의 요소를 비교 2. 첫 번째 요소가 두 번째 요소보다..
이번 포스팅은 www.acmicpc.net/problem/1712에서 푼 것을 토대로 작성했습니다. 기본 수학 1의 첫 번째 문제인 손익분기점입니다. 문제 문제 해석 첫째 줄에 A, B, C가 빈칸으로 입력 A : 고정 비용 B : 가변 비용 C : 노트북 가격 손익분기점 nC > A+nB 손익분기점이 존재하면 n 출력, 손익분기점이 존재하지 않으면 -1 출력 Python 코드 a,b,c = map(int, input().split()) if b >=c : print(-1) else : print(int((a/(c-b))+1)) Python 코드 풀이 if b >=c : print(-1) else : print(int((a/(c-b))+1)) nc-nb > a n(c-b) > a n > a/(c-b) 이..
우준세
'알고리즘' 태그의 글 목록