이 기사에서는 아래 주어진 문제 설명에 대한 솔루션에 대해 알아볼 것입니다.
문제 설명 − 배열이 주어졌으므로 카운트 정렬 개념을 사용하여 배열을 정렬해야 합니다.
카운팅 정렬은 특정 범위 사이의 키에 대해 작업하는 기술입니다. 고유한 키 및 값이 있는 개체의 수를 계산하는 작업이 포함됩니다. 마지막으로 각 개체의 위치를 파악하고 출력을 표시하기 위해 산술 계산을 수행합니다.
이제 아래 구현에서 솔루션을 관찰해 보겠습니다 -
예
def countSort(arr): # The output character array that will have sorted arr output = [0 for i in range(256)] # Create a count array initialized with 0 count = [0 for i in range(256)] # as strings are immutable ans = ["" for _ in arr] # count for i in arr: count[ord(i)] += 1 # position of character in the output array for i in range(256): count[i] += count[i-1] # output character array for i in range(len(arr)): output[count[ord(arr[i])]-1] = arr[i] count[ord(arr[i])] -= 1 # array of sorted charcters for i in range(len(arr)): ans[i] = output[i] return ans # main arr = "Tutorialspoint" ans = countSort(arr) print ("Sorted character array is "+str("".join(ans)))
출력 -
Sorted character array is Taiilnooprsttu
모든 변수는 로컬 범위에서 선언되며 해당 참조는 위 그림과 같습니다.
결론
이 기사에서는 정렬 정렬을 위한 Python 프로그램을 만드는 방법에 대해 배웠습니다.