정렬 결과가 출력되지 않습니다...

조회수 509회

간단하게 정렬 선택기를 만들고 있었습니다.

사용자가 입력한 5개 정수를 힙, 버블, 퀵으로 정렬하는 건데요.

t = 0
print("원하시는 정수를 5개 입력해주세요:\n")
unsorted = []
sorted = []

while t < 5:
          n = input()
          unsorted.append(n)

print("원하시는 정렬 방식이 있나요?\n")
print("1. 힙정렬  2. 버블정렬  3. 퀵정렬\n")
call = input()

def heapsort(unsorted):
        size = len(unsorted) #정렬크기
        for i in range(size, -1, -1) : heapify(unsorted, size, i)
        for i in range(size-1, -1, -1) :
                unsorted[i], unsorted[0] = unsorted[0], unsorted[i]
                heapify(unsorted, i, 0)

def heapify(a, size, i):
        largest = i
        L = 2 * i + 1
        R = 2 * i + 2
        if L < size and a[L] > a[i]:
                largest = L
        if R < size and a[R] > a[largest]:
                largest = R
        if largest != i:
                a[largest], a[i] = a[i], a[largest]
                heapify(a, size, largest)

if call == 1:
        heapsort(unsorted)
        print("정렬 결과는 이렇습니다.\n")
        print(unsorted)

막상 빌드해보면 정렬 결과가 어떻다고 출력이 안됩니다

어떻게 해야 제대로 작동 시킬 수 있을까요ㅠ

  • 현재는 힙정렬만 선택이 됩니다. 나머지 알고리듬은 구현이 안되어 있습니다. 버블정렬 및 퀵정렬을 구현하고 if 로 분기하면 됩니다. 정영훈 2019.3.31 23:42

1 답변

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

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

(ಠ_ಠ)
(ಠ‿ಠ)