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

오른쪽으로 k번 회전하여 i번째 요소를 찾는 프로그램

<시간/>

배열 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