배열 nums, 값 k 및 다른 값 i가 있다고 가정합니다. nums의 요소를 오른쪽으로 k번 회전한 후 인덱스 i에서 요소를 찾아야 합니다.
따라서 입력이 nums =[2,7,9,8,10] k =3 i =2와 같으면 출력은 10이 됩니다. 세 번째 회전 배열 이후에는 [9,8,10,2,7 ], 이제 i번째 요소는 nums[2] =10이 됩니다.
이 문제를 해결하기 위해 다음 단계를 따릅니다. −
- 0~k 범위의 r에 대해
- nums에서 마지막 요소를 삭제하고 삭제된 요소를 0번 위치의 nums에 삽입
- 반환 번호[i]
예
더 나은 이해를 위해 다음 구현을 살펴보겠습니다.
def solve(nums, k, i): for r in range(k): nums.insert(0, nums.pop()) return nums[i] nums = [2,7,9,8,10] k = 3 i = 2 print(solve(nums, k, i))
입력
[2,7,9,8,10] , 3, 2
출력
10