list의 내장 함수를 사용 하지 않고 리스트를 내림차순으로 정렬 하는 방법을 알고 싶습니다.

조회수 3299회

import random a = random.sample(range(1,100),10) #random모듈의 sample사용, random.sample(range(초기값,끝값),sampling 횟수) smallest = a[0] for i in a: if i < smallest: smallest = i A = smallest

print(a)
print(A)

리스트 내장함수를 사용 하지 않고 내림차순으로 정렬하는 방법을 배우고 싶습니다..

  • (•́ ✖ •̀)
    알 수 없는 사용자
  • 구글에서 '정렬 알고리즘' 으로 검색해보세요. 정렬은 자료구조에서 중요한 파트입니다. 정영훈 2018.4.10 11:02

1 답변

  • 유명한 정렬 알고리즘인 퀵소트를 이용한 코드입니다.

    def sort(array):
        less = []
        equal = []
        greater = []
    
        if len(array) > 1:
            pivot = array[0]
            for x in array:
                if x < pivot:
                    less.append(x)
                if x == pivot:
                    equal.append(x)
                if x > pivot:
                    greater.append(x)
            return sort(less)+equal+sort(greater)
        else:
            return array
    

    참고: 이 코드는 스택오버플로에 올라온 비슷한 질문에 있던 것을 일부 수정한 것입니다.

    • (•́ ✖ •̀)
      알 수 없는 사용자

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)