Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

Python에서 패리티별로 배열 정렬

<시간/>

어떤 숫자가 있는 배열 A가 있다고 가정합니다. 짝수 다음 홀수로 숫자를 정렬해야 합니다. 따라서 짝수를 먼저 넣고 홀수를 입력하십시오. 따라서 배열이 A =[1, 5, 6, 8, 7, 2, 3]과 같으면 결과는 [6, 8, 2, 1, 5, 7, 3]

과 같습니다.

이 문제를 해결하기 위해 다음 단계를 따릅니다. −

  • i :=0 및 j :=0으로 설정
  • while j 의 크기
  • arr[j]가 짝수이면 arr[i]와 arr[j]를 분리하고 i를 1 증가시킵니다.
  • j를 1 증가
  • 반환
  • 예시

    이해를 돕기 위해 다음 구현을 살펴보겠습니다. −

    class Solution(object):
       def sortArrayByParity(self, a):
          i = 0
          j =0
          while j < len(a):
             if a[j]%2==0:
                a[i],a[j] = a[j],a[i]
                i+=1
             j+=1
          return a
    ob1 = Solution()
    print(ob1.sortArrayByParity([1,5,6,8,7,2,3]))

    입력

    [1,5,6,8,7,2,3]

    출력

    [6,8,2,5,7,1,3]