Counting Sort 1
문제
코드
def countingSort(arr):
# 이전 코드
# countArr = list(0 for i in range(len(arr)))
#####################################################
# 변경 코드
# arr배열 크기의 조건은 10의 6제곱 까지이나
# '0 <= arr[i] < 100'의 조건을 만족시키기 위해 다음 코드로 변경
countArr = list(0 for i in range(100))
# counting sort
for num in arr:
countArr[num] += 1
return countArr
새로 알게된 지식
인덱스 크기
arr리스트의 범위는 100 <= n <= 10^6 이지만
countArr의 인덱스 범위가 될 arr[i]의 범위는 0 <= arr[i] < 100 이다.
따라서 처음의 코드대로 countArr = list(0 for i in range(len(arr))) 실행하면
countArr의 범위가 100이상으로 넘어가는 예외가 생기므로
countArr = list(0 for i in range(100)) 코드로 수정하여 countArr의 범위를 100으로 지정하도록 변경했다.
출처
Author And Source
이 문제에 관하여(Counting Sort 1), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@dogit/Counting-Sort-1저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)