[알고리즘] 계수 정렬 (Counting sort) 개념 + 백준 10989번 예제
mini_min
💡 👍🏻 Counting Sort 는 데이터를 서로 비교하는 정렬 알고리즘과 다르게, 데이터의 값을 카운팅하여 정렬하는 알고리즘이다. 쉽게 말하면 배열에 있는 값의 수를 카운팅해서 자리 찾아주는 알고리즘임. (내가 이해하기로 그럼) ✨ 카운팅 소트의 시간 복잡도는 O(n) 일반적인 정렬들의 알고리즘 시간 복잡도가 O(nlogn)인 것을 생각하면 속도가 매우 빠르다. 하지만, 수의 범위가 커지면 메모리를 많이 낭비하기 때문에 자주 사용하지 않는다. 카운팅 소트 원리 배열에서 max 값을 찾는다. 카운팅 배열 (max 값+1) 과 결과 배열 b 를 생성한다. 정렬할 배열의 값을 인덱스로 카운팅 배열에 카운팅한다 (counting++); 카운팅 배열을 직전 요소 더한 값으로 다시 저장한다. 정렬할 배열 값으로..