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