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