Cherry & Cherish
[Algo] 정렬 문제풀이 2 본문
퀵 정렬
array = [7, 5, 9, 0, 3, 1, 6, 2, 4, 8]
def quick_sort(array, start, end):
if start >= end:
return
pivot = start
left = start + 1
right = end
while left <= right :
while left <= end and array[left] <= array[pivot]:
left += 1
while right > start and array[right[ >= array[pivot]:
right -= 1
if left > right:
array[right], array[pivot] = array[pivot], array[right]
else :
array[left], array[right] = array[right], array[left]
quick_sort(array, start, right-1)
quick_sort(array, right+1, end)
quick_sort(array, 0, len(array)-1)
print(array)
프로그래머스 가장 큰 수
def solution(numbers):
arr = []
for i in numbers:
a = str(i)
arr.append(a)
arr.sort(key=lambda x: x * 3, reverse=True)
ans = ''
for i in range(len(arr)):
ans += arr[i]
if int(ans) == 0:
ans = '0'
return ans # return str(int(''.join(arr)))
프로그래머스 H-index
def solution(citations):
citations.sort(reverse=True)
n = len(citations)
ans = n
for h in range(n):
if citations[h] <= h:
ans = h
break
return ans
'Algorithm > Learning' 카테고리의 다른 글
[Algo] 정렬 문제풀이 4 (1) | 2023.02.27 |
---|---|
[Algo] 정렬 문제풀이 3 (0) | 2023.02.22 |
[Algo] 정렬 문제풀이 (0) | 2023.02.17 |
[Algo] 이분탐색 문제풀이 (0) | 2023.02.16 |
[Algo] bfs 연습 (0) | 2023.02.15 |
Comments