목록#정렬 (2)
DNF LOVE
정렬 알고리즘의 세 번째 이야기, 퀵 정렬(Quick Sort) 3. 정렬 알고리즘(Sorting Algorithm)의 모든 것 ③ - 퀵 정렬(Quick Sort) : 퀵 정렬은 다른 원소와의 비교만으로 정렬을 수행하는 비교 정렬에 속한다. 퀵 정렬은 분할 정복 방법을 통해 리스트를 정한다.1. 리스트 가운데서 하나의 원소를 고른다. 이렇게 고른 원소를 '피벗'이라고 한다.2. 피벗 앞에는 피벗보다 값이 작은 모든 원소들이 오고, 피벗 뒤에는 피벗보다 값이 큰 모든 원소들이 오도록 피벗을 기준으로 리스트를 둘로 나눈다. 이렇게 리스트를 둘로 나누는 것을 분할이라고 한다. 분할을 마친 뒤에 피벗은 더 이상 움직이지 않는다.3. 분할된 두 개의 작은 리스트에 대해 재귀(Recursion)적으로 이 과정을 ..
시작~은 달콤하게 평범하게~ 정렬문제로! 그것도 정렬문제 중에서도 쉬운 편인 1026번 보물을 풀어보았다. 간단하게 풀었고 간단하게 맞췄다. >(VS 2011로 실행해서 그런지 좀 깨진다. VS2011라니 유물인가ㅠ) 보물 문제는 재배열 -> 정렬 문제였다.참고로 나는 자바와 C#만 하고 살았기 때문에 C++의 문법을 배열 사용 + 포인터 기초 밖에 모른다. 그런데도 풀 수 있었던 매우 쉬운 문제였다. 정수 배열의 길이 num을 입력 받고, 그런 다음 배열 a와 b에 각각 num만큼의 크기를 할당해 주고 또 그 크기만큼 각 인덱스에 값을 입력 받는다. S = A[0]*B[0] + .... + A[n-1]*B[n-1}의 값이 가장 작은 최소값으로 만들려면, 한 쪽은 오름차순, 다른 한 쪽은 내림차순으로 정..