nums라는 숫자 목록이 있다고 가정하고 목록을 정렬할 때 올바른 인덱스에 있는 요소의 수를 찾아야 합니다.
따라서 입력이 [2, 8, 4, 5, 11]과 같으면 요소 2와 11이 올바른 위치에 있으므로 출력은 2가 됩니다. 정렬된 순서는 [2, 4, 5, 8, 11]
입니다.이 문제를 해결하기 위해 다음 단계를 따릅니다. −
- s :=목록 번호 정렬
- 카운트:=0
- 0~숫자 크기 범위의 i에 대해
- s[i]가 nums[i]와 같으면
- 카운트 :=카운트 + 1
- s[i]가 nums[i]와 같으면
- 반환 횟수
이해를 돕기 위해 다음 구현을 살펴보겠습니다. −
예
class Solution: def solve(self, nums): s = sorted(nums) count = 0 for i in range(len(nums)): if s[i] == nums[i]: count += 1 return count ob = Solution() print(ob.solve([2, 8, 4, 5, 11]))
입력
[2, 8, 4, 5, 11]
출력
2