Leetcode 솔루션: 주어진 피벗에 따른 분할 배열

문제는 다음과 같습니다.

인덱스가 0인 정수 배열 숫자와 정수 피벗이 제공됩니다. 다음 조건이 충족되도록 숫자를 재정렬합니다.

피벗보다 작은 모든 요소는 피벗보다 큰 모든 요소 앞에 나타납니다.
피벗과 같은 모든 요소는 피벗보다 작은 요소와 큰 요소 사이에 나타납니다.
피벗보다 작은 요소와 피벗보다 큰 요소의 상대적인 순서는 유지됩니다.
더 공식적으로 모든 pi, pj를 고려하십시오. 여기서 pi는 i번째 요소의 새 위치이고 pj는 j번째 요소의 새 위치입니다. pivot보다 작은 요소의 경우 i < j 및 nums[i] < pivot 및 nums[j] < pivot이면 pi < pj입니다. 마찬가지로 pivot보다 큰 요소의 경우 i < j 및 nums[i] > pivot 및 nums[j] > pivot이면 pi < pj입니다.
재정렬 후 숫자를 반환합니다.

내 솔루션은 다음과 같습니다.


class Solution(object):
    def pivotArray(self, nums, pivot):

        left = []
        right = []
        p = []

        for num in nums:
            if num < pivot: 
                left.append(num)
            elif num > pivot:
                right.append(num)
            else: 
                p.append(num)


        return left + p + right




좋은 웹페이지 즐겨찾기