https://www.youtube.com/watch?v=_kdE7ykab4Q&list=PLVsNizTWUw7H9_of5YCB0FmsSc-K44y81&index=26

25강 정렬 알고리즘 비교 및 기초 문제 풀이-0
25강 정렬 알고리즘 비교 및 기초 문제 풀이-1
25강 정렬 알고리즘 비교 및 기초 문제 풀이-2
25강 정렬 알고리즘 비교 및 기초 문제 풀이-3
25강 정렬 알고리즘 비교 및 기초 문제 풀이-4

기억해주세요

개수 정렬은 데이터의 값을 그 크기가 한정 되어 있는 경우에만 사용이 가능하지만 그러한 조건만 적절히 만족한다면 매우 빠르게 동작한다는 점이 특징입니다

또한 추가적으로 대부분의 프로그래밍언어에서 지원하는 표준 정렬 라이브러리는 최악에 경우에도 O(NlogN)을 보장할 수 있도록 설계되어 있기 때문에

25강 정렬 알고리즘 비교 및 기초 문제 풀이-11

25강 정렬 알고리즘 비교 및 기초 문제 풀이-13
25강 정렬 알고리즘 비교 및 기초 문제 풀이-14
25강 정렬 알고리즘 비교 및 기초 문제 풀이-15
25강 정렬 알고리즘 비교 및 기초 문제 풀이-16
25강 정렬 알고리즘 비교 및 기초 문제 풀이-17

랜덤한 만개의 데이터

25강 정렬 알고리즘 비교 및 기초 문제 풀이-19

1부터 100사이의

25강 정렬 알고리즘 비교 및 기초 문제 풀이-21

수행시간

25강 정렬 알고리즘 비교 및 기초 문제 풀이-23
25강 정렬 알고리즘 비교 및 기초 문제 풀이-24
25강 정렬 알고리즘 비교 및 기초 문제 풀이-25
25강 정렬 알고리즘 비교 및 기초 문제 풀이-26

점 유의해 주세요

무작위 데이터로 초기화 할수

정리 수행시간 측정은 우리가 이 코드를 실행한 컴퓨팅 장치에 따라서 차이가 존재할 수 있음

25강 정렬 알고리즘 비교 및 기초 문제 풀이-31

100사이의

25강 정렬 알고리즘 비교 및 기초 문제 풀이-33
25강 정렬 알고리즘 비교 및 기초 문제 풀이-34

O(NlogN)의 시간 복잡도를 보장합니다

25강 정렬 알고리즘 비교 및 기초 문제 풀이-36

실제 수행결과를

25강 정렬 알고리즘 비교 및 기초 문제 풀이-38
25강 정렬 알고리즘 비교 및 기초 문제 풀이-39
25강 정렬 알고리즘 비교 및 기초 문제 풀이-40
25강 정렬 알고리즘 비교 및 기초 문제 풀이-41

와 b가 있는 상황에서

25강 정렬 알고리즘 비교 및 기초 문제 풀이-43

1과 6

2 와 6

3 과 5를 바꾸면 되겠습니다 즉 A배열의 가장 작은 3개의 값과 B배열의 가장 큰 3개의 값을 바꿔주면됨

25강 정렬 알고리즘 비교 및 기초 문제 풀이-48

연산을 세번 수행 했을때

25강 정렬 알고리즘 비교 및 기초 문제 풀이-50
25강 정렬 알고리즘 비교 및 기초 문제 풀이-51
25강 정렬 알고리즘 비교 및 기초 문제 풀이-52

25강 정렬 알고리즘 비교 및 기초 문제 풀이-54

뒤에 다

25강 정렬 알고리즘 비교 및 기초 문제 풀이-57

25강 정렬 알고리즘 비교 및 기초 문제 풀이-59
25강 정렬 알고리즘 비교 및 기초 문제 풀이-60

에 대하여 오름차순 정렬하고

25강 정렬 알고리즘 비교 및 기초 문제 풀이-62

이 A에 원소가 B원소 보다 작을때에만 교체를 수행하면 됩니다

25강 정렬 알고리즘 비교 및 기초 문제 풀이-65

두배열의 원소가 최대 10만개 까지 들어올수

n제곱으로 동작하는

25강 정렬 알고리즘 비교 및 기초 문제 풀이-68

시간초과 판정

n log n 을 보장하는

정리

두배열의 원소가 최대 10만개 까지 들어올수있기 때문에 우리가 N제곱으로 동작하는 선택 정렬과 같은 알고리즘을 이용했을때 시간초과 판정을 받을 수 있습니다 그렇기 때문에 최악의 경우에도 O(NlogN)을 보장하는 정렬 알고리즘을 이용해야 합니다

25강 정렬 알고리즘 비교 및 기초 문제 풀이-74

프로그래밍 언어에서 제공하는 표준 라이브러리를 사용할 수 있음

25강 정렬 알고리즘 비교 및 기초 문제 풀이-76
25강 정렬 알고리즘 비교 및 기초 문제 풀이-77

자 이렇게 n과k에 입력을 받고

배열 a와 b에 대해서 모두 입력을 받습니다

25강 정렬 알고리즘 비교 및 기초 문제 풀이-80

배열 a는

25강 정렬 알고리즘 비교 및 기초 문제 풀이-82

이 리버스 속성값으로 ture값을 넣어주면 내림차순으로 수행함

25강 정렬 알고리즘 비교 및 기초 문제 풀이-84

그래서 매번 이 a에 원소가 이 b에 원소보다 작은 경우에는 두 원소를 교차해서

25강 정렬 알고리즘 비교 및 기초 문제 풀이-87

a의 원소가 b원소 보다 크거나 같을때에는

더이상 배열a의 합을 크게 만들수 없기때문에 그경우에는 반복문을 탈출하면 됩니다

25강 정렬 알고리즘 비교 및 기초 문제 풀이-90
25강 정렬 알고리즘 비교 및 기초 문제 풀이-91

25강 정렬 알고리즘 비교 및 기초 문제 풀이-94

답안을 작성할수 있는데요 이때 백터 라이브러리를 이용해서 배열 a와 배열 b의 모든 원소를 담을수 있도록 합니다

25강 정렬 알고리즘 비교 및 기초 문제 풀이-96

원소의 값이 더 큰경우에

25강 정렬 알고리즘 비교 및 기초 문제 풀이-99
25강 정렬 알고리즘 비교 및 기초 문제 풀이-100
25강 정렬 알고리즘 비교 및 기초 문제 풀이-101

이 a의 원소가 b의 원소보다 작을때만 이 원소를

25강 정렬 알고리즘 비교 및 기초 문제 풀이-103
25강 정렬 알고리즘 비교 및 기초 문제 풀이-104
25강 정렬 알고리즘 비교 및 기초 문제 풀이-105

배열 b의 뒤에 어레이스에

25강 정렬 알고리즘 비교 및 기초 문제 풀이-107
25강 정렬 알고리즘 비교 및 기초 문제 풀이-108

배열 b는 내림차순 정렬을 수행하기 위해

이 컬렉션스라이브러리의 리벌스오덜 메소드를

25강 정렬 알고리즘 비교 및 기초 문제 풀이-111

a에 원소가 b의 원소보다 작은 경우에만

25강 정렬 알고리즘 비교 및 기초 문제 풀이-113

로직으로

있는걸 확인할수 있습니다

25강 정렬 알고리즘 비교 및 기초 문제 풀이-117

Last Updated:

Summarize & share videos seamlessly

Loading...