nums라고 하는 숫자 목록이 있다고 가정하고 연속되는 각 짝수 인덱스를 서로 교환하고 연속되는 홀수 인덱스를 서로 교환합니다.
따라서 입력이 [1,2,3,4,5,6,7,8,9]와 같으면 출력은 [3, 4, 1, 2, 7, 8, 5, 6, 9 ]
이 문제를 해결하기 위해 다음 단계를 따릅니다. −
- 길이 :=숫자 크기
- 0에서 길이까지 범위에 있는 i의 경우 4만큼 증가, do
- i+2<길이이면
- 숫자[i]와 숫자[i+2]를 교환
- i+3<길이이면
- 숫자[i+1]와 숫자[i+3]를 교환
- i+2<길이이면
- 반환 번호
이해를 돕기 위해 다음 구현을 살펴보겠습니다. −
예
class Solution: def solve(self, nums): length = len(nums) for i in range(0,length,4): if(i+2<length): nums[i], nums[i+2] = nums[i+2], nums[i] if(i+3<length): nums[i+1], nums[i+3] = nums[i+3], nums[i+1] return nums ob = Solution() nums = [1,2,3,4,5,6,7,8,9] print(ob.solve(nums))
입력
[1,2,3,4,5,6,7,8,9]
출력
[3, 4, 1, 2, 7, 8, 5, 6, 9]