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

다음 요소가 Python의 배열에도 있는 요소를 계산하는 프로그램

<시간/>

nums라는 숫자 목록이 있다고 가정하고 배열에서 x + 1도 존재하도록 배열에서 요소 x의 수를 찾아야 합니다.

따라서 입력이 nums =[4, 2, 3, 3, 7, 9]와 같으면 2+1 =3이 있고 3+1 =4가 있고 다른 3이 있기 때문에 출력은 3이 됩니다. 총 3개 있습니다.

이 문제를 해결하기 위해 다음 단계를 따릅니다. −

  • 답변 :=0

  • c :=숫자로 표시되는 각 요소의 빈도를 포함하는 목록

  • dlist :=c의 모든 키 목록에서 나온 목록

  • dlist의 각 i에 대해 수행

    • c[i + 1]> 0이면

      • 답변 :=답변 + c[i]

  • 답변을 반환

예시

더 나은 이해를 위해 다음 구현을 살펴보겠습니다.

from collections import Counter
def solve(nums):
   answer = 0
   c = Counter(nums)
   dlist = list(c.keys())
   for i in dlist:
      if c[i + 1] > 0:
         answer += c[i]

   return answer

nums = [4, 2, 3, 3, 7, 9]
print(solve(nums))

입력

[4, 2, 3, 3, 7, 9]

출력

3